Gstreamer 如何使用最短剪辑对视频矩阵进行编码?

Gstreamer 如何使用最短剪辑对视频矩阵进行编码?,gstreamer,video-encoding,Gstreamer,Video Encoding,我正在制作具有可变输入流长度的视频矩阵。 完成最短视频剪辑后,如何停止写入文件 这很重要,因为我不想在剪辑播放完毕后看到空的视频框元素 gstreamer是否提供了一些功能来在超时后停止处理 GST_DEBUG=2 gst-launch-0.10 -e videomixer2 name=mix ! ffmpegcolorspace ! jpegenc ! avimux ! filesink location=test.avi \ uridecodebin uri="file:///home/m

我正在制作具有可变输入流长度的视频矩阵。 完成最短视频剪辑后,如何停止写入文件

这很重要,因为我不想在剪辑播放完毕后看到空的视频框元素

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. \

如果您想知道最短的持续时间,可以使用带有停止时间的seek事件。当整个管道完成时,EOS符合定义。您可以使用pad Probe捕捉视频混合器接收器板上的EOS,然后停止