임베디드 기기에서 카메라로 촬영한 영상을 서버에 전송하여 다양한 연산을 처리하기 위해 네트워크 제어 프로토콜인 Real Time Streaming Protoco(RTSP)
을 사용합니다. 다양한 라이브러리 및 프레임워크가 존재하지만 C 언어로 제작된 파이프라인 기반 멀티미디어 프레임워크인 GStreamer
를 사용하여 실시간 스트리밍을 할 예정입니다.
Jetpack4.5
은 Ubuntu 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이며 이후 업데이트가 있을 수 있으니 Jetpack
과 GStreamer
설치시 확인해야합니다.
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>