2016-03-21 25 views
0

私は複数のビデオ(この場合は2つ)をマルチプレクサ(multistreamscimux)に多重化する必要があるパイプラインを構築しています。私がパイプラインを構築すると、パイプラインが誤ってスローされます。gstreamer muxが誤ったパイプラインを引き起こす

次のpngは、単一のビデオをマルチプレクシングするパイプラインから生成されます。 rtpbinから始まるパイプを作成しようとしていますが、これはmultistreamrtpscimux.rtpsrc_2に入ります。しかし、私は、マルチプレクサのソースとシンクパッドを指定する方法を間違えていると思う。私はhereで言及したものを試しましたが、解決できませんでした。 何か助けていただければ幸いです。

enter image description here

は、ここで私が構築しようとしています実際のパイプラインです。

gst-launch-1.0 -v rtpbin name=rtpbin_0 videotestsrc pattern=ball is-live=true 
name=vidsource_0 ! video/x-raw, framerate=30/1, width=180, height=90 ! textoverlay 
text="" valignment=4 ! x264enc aud=false name=videoenc_0 ! video/x-h264, 
profile=baseline, stream-format=byte-stream,alignment=au ! rtph264pay mtu=1256 
pt=109 ! multistreamrtpmux name=multirtpmux_0 csis-string="22446601" 
vid-headerext-id=1 vid-header-extension-string="04" frame-marking-headerext-id=2 
frame-marking-header-extension-string="48" ! msrtpscimux.rtpsink_0 
multistreamrtpscimux name=msrtpscimux ! rtpbin name=rtpbin_1 videotestsrc pattern=ball 
is-live=true name=vidsource_1 ! video/x-raw, framerate=30/1, width=180, height=90 
! textoverlay text="" valignment=4 ! x264enc aud=false name=videoenc_1 ! 
video/x-h264, profile=baseline, stream-format=byte-stream,alignment=au ! 
rtph264pay mtu=1256 pt=109 ! multistreamrtpmux name=multirtpmux_1 
csis-string="22446601" vid-headerext-id=1 vid-header-extension-string="04" 
frame-marking-headerext-id=2 frame-marking-header-extension-string="48" ! 
multirtpmux_1.rtpsrc msrtpscimux.rtpsink_1 msrtpscimux. msrtpscimux.rtpsrc ! 
netsim drop-probability=0.0 delay-probability=0.0 ! 
application/x-rtp ! rtpbin_0.send_rtp_sink_0 rtpbin_0.send_rtp_src_0 ! 
multisocketudpsink name=videosink rtpbin_0.send_rtcp_src_0 ! 
multisocketudpsink name=rtcpsink sync=false async=false 

答えて

0

私はサブのそれぞれにに接続し、最後にそのパラメータをマルチプレクサ要素を指定したいマルチプレクサ要素のsinkpadsを指定することによってこの問題を解決することができました。私が使用していることを示すためにmsrtpscimux.rtpsink_3 multistreamrtpscimux名= msrtpscimux間にパイプを使用いけない:私は

videotestsrc pattern=ball ! multistreamrtpmux name=multirtpmux_0 ! \ 
msrtpscimux.rtpsink_0 videotestsrc pattern=red ! \ 
multistreamrtpmux name=multirtpmux_1 ! msrtpscimux.rtpsink_3 \ 
multistreamrtpscimux name=msrtpscimux 

注使用上ため

[videotestsrc]->[multirtpmux]--[sinkpad_0    ] 
           |  msrtpscimux  | 
[videotestsrc]->[multirtpmux]--[sinkpad_1    ] 

を接続する 以下のように簡単な例.. 異なるサブストリーム

関連する問題