2017-01-06 68 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'に渡しません。ちょっと後で、私のLinuxのボックス上にある同じタスクで使用しているパイプラインを見つけようとします。 – RSATom

+0

「mpegtsmux」は、ストリームから流れてきたものをVLCが理解できるようにしていたようです。そうではありませんか? – Shiri

+0

'mpegtsmux'はmpeg-tsストリームを出力するものです。 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することです。

関連する問題