首页 > 解决方案 > 使用视频缩放时 GStreamer GstMeta 丢失

问题描述

我正在尝试通过使用隐藏式字幕元数据来继承我在 gsth264parse.c 中解析的一些自定义 SEI 消息。

这是我的管道

filesrc location=test_sei.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! vaapih264dec ! vaapipostproc width=320 height=200 format=yv12 ! appsink sync=false name=sink

所以我打电话

gst_buffer_add_video_caption_meta(buffer,GST_VIDEO_CAPTION_TYPE_CEA608_RAW, "test", 5);

将元数据添加到 GstBuffer。

然后,稍后在我的应用程序代码中,我调用

gst_buffer_get_video_caption_meta(buffer)

获取我的 SEI 信息。

如果我的管道中有视频调整大小,我会收到 NULL。如果我删除 width=320 height=200,它工作正常。尝试过decodebin ! videoscale ! video/x-raw,width=320,height=240,同样的事情,如果我删除调整大小,它会起作用。如何让GStreamer在视频缩放时保留GstBuffer的GstMeta?

标签: metadatagstreamer

解决方案


推荐阅读