2017-01-06 6 views
1

UDP를 통해 Gstreamer를 통해 오디오 및 비디오를 스트리밍하려하지만 VLC에서 오디오를 재생하면 오디오없이 비디오 만 반환됩니다. 현재 Big Buck Bunny 샘플을 사용 중이며 오디오가 있음을 확인했습니다. 앞으로 Snowmix를 사용하여 Gstreamer 출력에 미디어를 공급할 계획입니다. 내가 패킷을 수신하는 내 Windows 시스템에서 VLC에서 네트워크 스트림을 열고 비디오 만 재생 할 수 있습니다GStreamer 스트림 VLC에서 재생할 수 있도록 UDP를 통한 오디오 및 비디오

gst-launch-1.0 -v uridecodebin uri=file:///home/me/files/Snowmix-0.5.1/test/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! queue ! videoconvert ! x264enc ! mpegtsmux ! queue ! udpsink host=230.0.0.1 port=4012 sync=true 

:

UDP를 통해 파일 소스에서 스트리밍 내가 현재에 의해 수행 VLC에 재생합니다.

내 명령에 무엇이 누락 되었습니까?

+0

'uridecodebin'에서 오디오 스트림을 얻지 못하고'mpegtsmux'에 전달하지 않습니다. 잠시 후에 같은 작업을 할 때 사용하는 파이프 라인을 찾으려고 노력할 것입니다. 언제 내 리눅스 박스에있을 것입니다. – RSATom

+0

'mpegtsmux'는 VLC가 스트림에서 빠져 나가는 것을 이해할 수있는 마법이었던 것 같았습니까? 아닙니다. – Shiri

+0

'mpegtsmux'는 출력시 mpeg-ts stream을하는 것입니다. https://en.wikipedia.org/wiki/MPEG_transport_stream – RSATom

답변

2

앞에서 RSATom에서 언급했듯이 오디오가 파이프 라인에 없습니다.

비디오 및 오디오에 대한 올바른 파이프 라인 (동일한 입력 파일 테스트) 다음이다 :

gst-launch-1.0 -v uridecodebin name=uridec uri=file:///home/usuario/Desktop/map/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! queue ! videoconvert ! x264enc ! video/x-h264 ! mpegtsmux name=mux ! queue ! udpsink host=127.0.0.1 port=5014 sync=true uridec. ! audioconvert ! voaacenc ! audio/mpeg ! queue ! mux. 

이 경우에는 원본 비디오 파일에서 모든 콘텐츠를 다시 인코딩하고 기억, 이것은 높은 CPU 소비를 의미합니다. 다른 옵션은 (h264parseaacparse을 사용하여) 인코딩없이 입력 파일 및 멀티플렉서에서 내용을 다시 demux하는 것입니다.