我正在使用以下命令从带有 Gstreamer 的文件中读取 972x720 像素的字节流 YUV420:
gst-launch-1.0 filesrc location=testfile blocksize=1049760 ! rawvideoparse width=972 height=720 framerate=1/1 ! xvimagesink
到目前为止,这适用于我得到的图像,但它没有正确显示。使用命令单独导出帧时:
gst-launch-1.0 filesrc location=testfile blocksize=1049760 ! rawvideoparse width=972 height=720 framerate=1/1 ! multifilesink location="rvp_%d.raw"
我看到当使用元素"rawvideoparse"时,它将创建一个每帧 1051200 字节的文件,而不是预期的1049760。当我删除"rawvideoparse"时,帧会正确导出,但我的目标是将它们直接从文件中读取到"xvimagesink"中
我在哪里搞砸了?
感谢GStreamer开发邮件列表,我得到了答案。问题是 rawvideoparse 元素无法处理此分辨率。当我切换到 976 宽度时,它可以工作。