2016-05-30 16 views
0

で遊んで二つのファイル:最初のファイルからのGStreamerピクチャ・イン・ピクチャ - 私は2つのファイルからメディアを統合する「ピクチャーインピクチャー」効果のためのパイプラインを構成する必要があり、並列

1)映像コンテンツであります 2)2番目のファイルのビデオのサイズが変更され、ウィンドウの左上隅に表示されます 3)両方のファイルのオーディオが混在 4)両方のファイルのコンテンツが同時に再生されます。

これまで私は以下のパイプラインを手に入れました:

gst-launch-1.0 -e \ 
    filesrc name="src0" location=$FILE0 \ 
    ! decodebin name="decodebin0" ! queue ! videoscale ! capsfilter caps="video/x-raw,width=120" ! videoconvert ! videomixer.sink_0 decodebin0. ! queue ! audioconvert ! audiomixer.sink_0 \ 
    filesrc name="src1" location=$FILE1 \ 
    ! decodebin name="decodebin1" ! queue ! videoscale ! capsfilter caps="video/x-raw" ! videoconvert ! videomixer.sink_1 decodebin1. ! queue ! audioconvert ! audiomixer.sink_1 \ 
    videomixer name="videomixer" ! autovideosink \ 
    audiomixer name="audiomixer" ! autoaudiosink 

ただし、ストリームは1つずつ再生され、並行して再生されません。同時に誰かがストリームを再生するために何を変えるべきかを知っていますか?

シモンズ:可視化し、このパイプラインの図で取り付ける:驚くべき

答えて

0

の - パイプラインのソースの順序は問題ない - パイプラインのわずかな変更後最初の「大きな」フレームにソースを配置すること私は期待どおりの結果を得ることができました:

gst-launch-1.0 -ev \ 
    filesrc name="src1" location=$FILE1 \ 
    ! decodebin name="decodebin1" ! queue ! videoscale ! capsfilter caps="video/x-raw,framerate=15/1" ! videoconvert ! videomixer.sink_1 decodebin1. ! queue ! audioconvert name="ac1" \ 
    filesrc name="src0" location=$FILE0 \ 
    ! decodebin name="decodebin0" ! queue ! videoscale ! capsfilter caps="video/x-raw,width=120,framerate=15/1" ! videoconvert ! videomixer.sink_0 decodebin0. ! queue ! audioconvert name="ac0"\ 
    ac0. ! audiomixer.sink_0 \ 
    ac1. ! audiomixer.sink_1 \ 
    videomixer name="videomixer" ! autovideosink \ 
    audiomixer name="audiomixer" ! autoaudiosink \ 
関連する問題