Search
🌍

deer.aa5_1.1__1. title: GST (Gstreamer) 시리즈의 media server 구축 시 역할

🚀 prev note
♻️ prev note
🚀 next note
♻️ next note
17 more properties
Jetson 시리즈로 멀티미디어 프로젝트를 진행할 때 토이프로젝트를 벗어나는 순간 GStreamer 이라는 것을 필연적으로 마주치게 된다. GStreamer 보다 더 high level 이면서도 퍼포먼스 손실을 최소한으로 가져갈 수 있는 도구는 없을까? (의문) 이를 이해하기 위해서는 GStreamer 가 어느 추상(‣ Abstraction) 에서 무슨 역할을 수행하기 위한 도구인지를 이해해야 한다.
GstInterpipe 와 GStreamer Daemon (GstD) GStreamer 프레임워크를 (참고7) 이용해서 미디어 서버(‣ Media Server) 파이프라인에 필요한 다양한 부분 요소(Component) 들을 효과적으로 관리하기 위한 도구들을 제공한다 (참고1, 2, 3). GstInterpipe 은 구축하고자 하는 파이프라인에 필요한 GStreamer 부분 요소들을 캡슐화하여 중복코드 없이 깔끔하게 연결하기 위한 파이프라인 구축 도구이고, GstDGstInterpipe 로 만들어진 각 부분 요소들의 상태를 (실행하거나 중지시키는 등) 제어하기 위한 컨트롤 도구이다 (참고4).
NVIDIA DeepStream GStreamer 프레임워크를 이용해서 파이프라인 중 AI 추론 및 시각화와 관련된 부분 요소들을 제공한다. 예를 들어, 8개의 카메라에서 들어오는 비디오 스트림에서 단일 프레임들을 하나의 배치로 묶어 AI 로 통과시킬 수 있도록 만드는 부분 요소, AI 에 통과시킨 결과값을 쉽게 시각화할 수 있도록 그래픽 요소들을 만들어 그려주는 부분 요소 등이 이에 해당한다 (참고5).
원격 영상 송수신 혹은 텔레오퍼레이션(Teleoperation) 프로젝트에서는 실시간으로 영상을 주고받는 기능이 요구된다. GStreamer 파이프라인이 끝나는 지점에 GstWebRTC 또는 GstRtspSink 과 같은 플러그인을 붙여 줌으로써 어렵지 않게 WebRTC (참고8) 와 RTSP 프로토콜 (의문) 로 넘겨줄 수 있다는 것이 장점이다 (참고6).
GStremer 은 NIVIDA 가 개발한 것이 아니다. NVIDIA 가 GStreamer 을 통한 개발을 적극적으로 소개하고 지원할 뿐이다 (참고7).