Introduction


임베디드 기기에서 카메라로 촬영한 영상을 서버에 전송하여 다양한 연산을 처리하기 위해 네트워크 제어 프로토콜인 Real Time Streaming Protoco(RTSP)을 사용합니다. 다양한 라이브러리 및 프레임워크가 존재하지만 C 언어로 제작된 파이프라인 기반 멀티미디어 프레임워크인 GStreamer를 사용하여 실시간 스트리밍을 할 예정입니다.

Install


Jetpack4.5Ubuntu 18.04 기반이며 GStreamer도 설치과정은 Ubuntu or Debian에 맞게 설치하면 됩니다. 우선 임베디드 기기에서 GStreamer 프레임워크 및 관련 라이브러리를 설치합니다.

sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base \\
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \\
gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x \\
gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 \\
gstreamer1.0-pulseaudio

sudo apt-get install gtk-doc-tools

설치가 완료되면 설치 및 버전 확인을 위해 다음의 명령어를 입력합니다.

gst-launch-1.0 --version

Jetpack4.5에 설치된 GStreamer의 버전은 1.14이며 이후 업데이트가 있을 수 있으니 JetpackGStreamer 설치시 확인해야합니다.

GStreamer를 설치했다면 직접 C언어로 프로그래밍하여 빌드할 수 있지만 간단하게 영상 스트리밍만 구현하기 위해서는 예제로도 가능하기 때문에 GStreamer 기반의 RTSP Server 예제를 Github에서 클론(Clone)합니다.

git clone <https://github.com/GStreamer/gst-rtsp-server.git>
cd gst-rtsp-server

위에서 확인했던 버전에 맞게 브랜치또는 태그를 설정합니다.

git checkout 1.14

# or

git checkout tags/1.14.0

예제 파일을 빌드합니다.

sudo make
sudo make install

<aside> 💡 실시간 스트리밍에 접근하기 위해서 rtsp://(IP 주소):8554/test

</aside>

Run