2012-04-04 22 views
1

我正在生產具有可變輸入流長度的視頻矩陣。 如何在完成最短視頻剪輯後停止寫入文件?如何使用最短剪輯對視頻矩陣進行編碼?

這很重要,因爲一旦剪輯播放完畢,我不想看到空的videobox元素。

gstreamer是否提供了一些功能來停止一段時間後的處理?

GST_DEBUG=2 gst-launch-0.10 -e videomixer2 name=mix ! ffmpegcolorspace ! jpegenc ! avimux ! filesink location=test.avi \ 
uridecodebin uri="file:///home/me/1.wmv" ! videoscale ! videorate ! "video/x-raw-yuv,width=300,height=200, framerate=25/1" ! videobox border-alpha=0 top=0 left=0 ! mix. \ 
uridecodebin uri="file:///home/me/2.wmv" ! videoscale ! videorate ! "video/x-raw-yuv,width=300,height=200,framerate=25/1" ! videobox border-alpha=0 top=0 left=-300 ! mix. \ 
uridecodebin uri="file:///home/me/3.wmv" ! videoscale ! videorate ! "video/x-raw-yuv,width=300,height=200,framerate=25/1" ! videobox border-alpha=0 top=-200 left=0 ! mix. \ 
uridecodebin uri="file:///home/me/4.wmv" ! videoscale ! videorate ! "video/x-raw-yuv,width=300,height=200,framerate=25/1" ! videobox border-alpha=0 top=-200 left=-300 ! mix. \ 

回答

0

如果您想了解最短的持續時間,可以使用具有停止時間的尋找事件。當整個管道完成時,EOS是按照定義。您可能可以使用焊盤探針捕捉視頻混合器底座上的EOS,然後停止。