2011-12-28 114 views
0

使用此管道,我可以使用視頻混合器播放兩個相同的視頻,但是當我播放兩個不同的視頻時,它會失敗。Gstreamer,無法使用視頻混合器渲染本地視頻

gst-launch -e videomixer name=mix ! ffmpegcolorspace ! xvimagesink \ 
    uridecodebin uri="file:///home/dtolj/projects/test1.mp4" ! decodebin2 ! videorate ! videoscale ! video/x-raw-yuv,width=320,height=180 ! videobox border-alpha=0 top=0 left=0 ! mix. \ 
    uridecodebin uri="file:///home/dtolj/projects/test2.mp4" ! decodebin2 ! videorate ! videoscale ! video/x-raw-yuv,width=320,height=180 ! videobox border-alpha=0 top=0 left=-320 ! mix. 

錯誤:

ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin22/GstQTDemux:qtdemux0: GStreamer encountered a general stream error. 
    Additional debug info: 
    qtdemux.c(3865): gst_qtdemux_loop(): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin22/GstQTDemux:qtdemux0: 
    streaming stopped, reason not-negotiated 
    ERROR: pipeline doesn't want to preroll. 

回答

1

看來我還是兩次對視頻進行解碼,我刪除decodebin2,也似乎gstreamer的有關視頻格式非常挑剔。也許我不應該太依賴uridecodebin,並嘗試使用合適的分流器。