Self‑Adaptive Agent OSS 패키지

2편. RTSP 서버 설치 및 확인 절차

by 연화유심

2편. RTSP 서버 설치 및 확인 절차


2.1 RTSP 프로토콜 개요

RTSP.png

RTSP(Real‑Time Streaming Protocol)는 멀티미디어 스트리밍 서버를 제어하는 애플리케이션 프로토콜로, RealNetworks와 Netscape, Columbia University가 공동 개발했으며 1998년에 RFC 2326으로 표준화되었습니다.

RTSP 서버는 오디오·비디오 스트림의 전송에 RTP와 RTCP를 사용하며 기본적으로 TCP 포트 554에서 서비스합니다. HTTP와 유사하지만 세션 상태를 유지하며, OPTIONS, DESCRIBE, SETUP, PLAY 등 다양한 지시어를 제공합니다.


2.2 GStreamer RTSP 서버 설치

필수 패키지 설치:
Ubuntu에서는 sudo apt-get install libgstrtspserver-1.0
명령으로RTSP 서버 라이브러리를 설치합니다.

gstreamer 설치.jpg
gstreamer 설치 확인.jpg

NVIDIA 개발자 포럼에서도 RTSP 서버 설치를 위해 libgstrtspserver-1.0
패키지를 설치할 것을 권장합니다.

NVidia 포럼 글 첫번째.png

Python 바인딩 설치(선택):
파이썬으로 RTSP 서버를 제어하려면 pip install pygobject 등을 설치하여
GStreamer 바인딩을 사용할 수 있습니다.


2.3 RTSP 서버 실행 및 검증

test-launch 스크립트:
GStreamer의 예제 스크립트 test-launch를 통해 간단한 RTSP 서버를 실행해 볼 수 있습니다.

NVIDIA 포럼 글에서는 H.265 스트림용 예제로
./test-launch "videotestsrc ! nvvidconv ! omxh265enc ! h265parse ! rtph265pay name=pay0 pt=96"를 실행하여 RTSP 서버가 정상 동작하는지 확인하는 방법을 제시합니다.
H.264의 경우 omxh265enc 대신 omxh264enc를 사용하면 됩니다.

test-launch screenshot.png test-launch 실행 화면
NVidia 포럼 글.png

커스텀 파이프라인: 실제 카메라나 저장된 파일을 스트리밍하려면 filesrc ! decodebin ! x264enc ! rtph264pay name=pay0 pt=96과 같이 파이프라인을 구성합니다.
파이프라인은 인코더(nvenc, x264enc 등)와 페이로드(payload)를 지정하는 요소들로 이루어집니다.


클라이언트에서 확인:
VLC, ffmpeg, QGroundControl 등에서 rtsp://<server-ip>:554/test URL을 열어 영상이 정상적으로 스트리밍되는지 확인합니다.
여러 클라이언트가 동시에 접속해도 RTSP 서버는 각 스트림을 독립적으로 전송합니다.


주의:
RTSP 서버를 외부에 노출할 경우 방화벽에서 554 포트가 열려 있는지 확인하고, 암호화된 RTSP(예: RTSPS)를 고려해 보세요.


작가의 이전글Self‑Adaptive Agent OSS 패키지