gstreamer中的关键帧是什么

问题描述 投票:0回答:1

我是GStreamer的新手,正在尝试编写一些用例。

你们能简单地给我解释一下GStreamer中的关键帧是什么吗?

另外,我有一个mp4视频,我需要从中找到一种模式并选择那些帧并将其推入另一个接收器。

为了选择mp4文件,我使用filesrc源元素,但是它没有videotestsrc中具有的名为“ pattern”的属性。那么如何选择视频中的图案呢?

tensorflow gstreamer gstreamer-1.0 nvidia-jetson
1个回答
0
投票

关键帧是指与定时和标头信息间隔开的帧。我不知道很多其他细节,但是我录制的视频需要从关键帧开始,而不是一些随机缓冲区。

videotestsrc中的模式是生成的,而不是检测到的模式。您必须监视缓冲区并自己找到模式。您可以通过向某些元素(例如,filesrc src pad)添加探针来完成此操作。

GstPad *pad = gst_element_get_static_pad (filesrc, "src");
gst_pad_add_probe(pad, GST_PAD_PROBE_TYPE_EVENT_BOTH, probe_callback_method, user_data, NULL);
g_object_unref(pad);

static GstPadProbeReturn probe_callback_method (GstPad * pad, GstPadProbeInfo *info, gpointer user_data) {
    GstBuffer* buf = gst_pad_probe_info_get_buffer(info);
    // Do something with the buffer
}
© www.soinside.com 2019 - 2024. All rights reserved.