반응형
gst-lanch-1.0은 기본적인 GStreamer 파이프라인을 실행하기 위해서 주로 사용한다.
필자는 실제 복잡한 프로그램을 짜기 전에 파이프라인 검증 용으로 많이 사용한다.
더불어 -v 옵션을 주면 파이프라인들이 어떻게 구성되는 지 로그도 함께 출력되어
엄청 유용한 프로그램이다.
예 1
gst-launch-1.0 videotestsrc ! autovideosink -v
예 2
gst-launch-1.0 filesrc location=movie.mpg ! dvddemux name=demuxer demuxer. ! queue ! mpeg2dec ! sdlvideosink demuxer. ! queue ! mad ! audioconvert ! audioresample ! osssink
GStreamer 홈페이지에 올라온 예제 파이프라인이다.
movie.mpg 파일을 filesrc가 읽어 해당 데이터를 dvddemux로 전달한다.
dvddemux는 비디오와 오디오를 분리하는데 비디오 데이터는 mpeg2dec으로 보내고 오디오 데이터는 mad로 보낸다.
필자는 mad를 처음 보지만 decoder라고 유추해본다.
비디오 데이터는 바로 sink로 가지만, 오디오 데이터 경우는 포맷 변경 및 리샘플링을 거쳐 sink로 보내진다.
예 3
gst-launch-1.0 v4l2src ! video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY ! videoconvert ! ffenc_h263 ! video/x-h263 ! rtph263ppay pt=96 ! udpsink host=192.168.1.1 port=5000 sync=false
마찬가지로 GStreamer 홈페이지에 올라온 예제 파이프라인이다.
해당 예제는 v4l2src ( 웹캠 )으로 부터 마지막 udp로 192.168.1.1 : 5000 으로 데이터 전송하는 예제이다.
v4l2src에서 128x96 해상도로 UYVU 포맷으로 받으면 videoconvert는 이를 포맷 변경을 한다. (ffenc_h263 입력에 맞게...)
ffenc_h263은 이를 h.263으로 압축하고 rtph263ppay는 rtp 패킷으로 fragmentation을 한다. 이때 rtp 패킷의 payload type은 96으로 설정한다.
반응형
'Dev Platform > GStreamer' 카테고리의 다른 글
[GStreamer] Queue (0) | 2018.08.26 |
---|---|
gst-inspect-1.0 (0) | 2018.08.21 |
Elements (0) | 2018.08.21 |