Gstreamer管道,视频速率未按预期工作

Gstreamer管道,视频速率未按预期工作,gstreamer,Gstreamer,我正在使用Gstreamer拍摄4个视频(MKV容器,Mjpeg编解码器,每秒25帧,5分钟长),以生成视频“墙”(基本上是2x2矩阵)。我正在使用以下管道: #!/bin/sh gst-launch -e videomixer name=mix ! ffmpegcolorspace ! jpegenc ! avimux ! filesink location=$1.avi \ uridecodebin uri="file://${PWD}/$1/1.mkv" ! videoscale ! v

我正在使用Gstreamer拍摄4个视频(MKV容器,Mjpeg编解码器,每秒25帧,5分钟长),以生成视频“墙”(基本上是2x2矩阵)。我正在使用以下管道:

#!/bin/sh
gst-launch -e videomixer name=mix ! ffmpegcolorspace !  jpegenc ! avimux ! filesink location=$1.avi \
uridecodebin uri="file://${PWD}/$1/1.mkv" ! 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://${PWD}/$1/2.mkv" ! 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://${PWD}/$1/3.mkv" ! 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://${PWD}/$1/4.mkv" ! videoscale  ! videorate ! video/x-raw-yuv,width=300,height=200,framerate=25/1 ! videobox border-alpha=0 top=-200 left=-300 ! mix. \
代码正常工作,但最终结果只有17秒长,而不像源视频那样只有5分钟长,而且我似乎没有正确使用videorate元素——输出视频似乎随机“加速”,读取可用帧,而不是保持原始视频的速度


有趣的是,当源文件为.wmv(WindowsMedia9codec)时,一切似乎都正常工作。有什么想法吗?

试着把你的capsfilter加上引号。。。视频速率!“视频/x-raw-yuv,宽度=300,高度=200,帧速率=25/1”!电视盒。。。 也可以尝试视频混合器2