2016-04-01 7 views
0

ビデオとオーディオのテストソースをrtmpsinkにmuxしようとしています。このパイプラインは動作しません:私は、別途オーディオとビデオを押せばそれが動作Gstreamer:ビデオとオーディオをrtmpsinkにmuxできない

Setting pipeline to PAUSED ... 
Pipeline is PREROLLING ... 
Redistribute latency... 
Pipeline is PREROLLED ... 
Setting pipeline to PLAYING ... 
New clock: GstSystemClock 

gst-launch-1.0 \ 
videotestsrc ! queue ! x264enc ! \ 
flvmux name=mux ! \ 
rtmpsink location="rtmp://... live=1" \ 
audiotestsrc ! queue ! audioconvert ! mux. 

私はこのコンソールの結果を取得しています

gst-launch-1.0 \ 
videotestsrc ! queue ! x264enc ! \ 
flvmux name=mux ! \ 
rtmpsink location="rtmp://... live=1" 

-vログ

Setting pipeline to PAUSED ... 
Pipeline is PREROLLING ... 
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive" 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive" 
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive" 
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = "audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1" 
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = "audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1" 
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:src: caps = "audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1" 
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = "audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1" 
/GstPipeline:pipeline0/GstFlvMux:mux.GstPad:audio: caps = "audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1" 
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = "audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1" 
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive" 
Redistribute latency... 
/GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps = "video/x-h264\,\ codec_data\=\(buffer\)01640014ffe1001967640014acd94141fb0110000003001000000303c8f142996001000568ebecb22c\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\ level\=\(string\)2\,\ profile\=\(string\)high\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)30/1" 
/GstPipeline:pipeline0/GstFlvMux:mux.GstPad:video: caps = "video/x-h264\,\ codec_data\=\(buffer\)01640014ffe1001967640014acd94141fb0110000003001000000303c8f142996001000568ebecb22c\,\ stream-format\=\(string\)avc\,\ alignment\=\(string\)au\,\ level\=\(string\)2\,\ profile\=\(string\)high\,\ width\=\(int\)320\,\ height\=\(int\)240\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)30/1" 
/GstPipeline:pipeline0/GstFlvMux:mux: streamable = true 
/GstPipeline:pipeline0/GstFlvMux:mux.GstPad:src: caps = "video/x-flv\,\ streamheader\=\(buffer\)\<\ ... buffer data ... \>" 
/GstPipeline:pipeline0/GstRTMPSink:rtmpsink0.GstPad:sink: caps = "video/x-flv\,\ streamheader\=\(buffer\)\<\ ... buffer data .. \>" 
Pipeline is PREROLLED ... 
Setting pipeline to PLAYING ... 
New clock: GstSystemClock 
+0

私は最初のパイプラインを試してみると奇妙です。 -vオプションでより多くのログを記録することは可能ですか?それは実行中ですか?rtsmpsinkをfakesinkで置き換えたら? – martien9

+0

fakesinkはうまく動作します。私は-vログを追加しました。私はWowzaにプッシュしようとしているbtw –

+0

ログによると、何も異常はありません。 wowzaサーバーは構成されていますか? – martien9

答えて

0

シンプルだったそれをMPEGに再エンコードすることで動作させました。

gst-launch-1.0 videotestsrc is-live=true ! videoconvert ! queue ! \ 
x264enc bitrate=2000 ! \ 
flvmux name=mux ! \ 
rtmpsink location="rtmp://localhost/test/test live=1" \ 
audiotestsrc is-live=true ! queue ! faac ! mux. 

NGINX RTMPサーバーとクライアントとしてVLCに対してこのパイプラインをテストしました。私は、生のオーディオがうまくいかない理由を完全には分かっていません。

関連する問題