Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 将GstVideoFrame转换为GstBuffer | Gstreamer_C++11_Gstreamer_Gstreamer 1.0 - Fatal编程技术网

C++11 将GstVideoFrame转换为GstBuffer | Gstreamer

C++11 将GstVideoFrame转换为GstBuffer | Gstreamer,c++11,gstreamer,gstreamer-1.0,C++11,Gstreamer,Gstreamer 1.0,我有一个两个自定义插件,使用下面的函数捕获视频帧 gst_custom_transform_frame_ip (GstVideoFilter * filter, GstVideoFrame * frame) 在这个视频帧中,我想在Tx侧添加元数据&还想在Rx侧获得帧后提取相同的元数据 下面是我用来添加和获取元数据的函数 GstMeta meta = gst_buffer_add_video_crop_meta( GstBuffer * Tx_buffer) // Add the meta da

我有一个两个自定义插件,使用下面的函数捕获视频帧

gst_custom_transform_frame_ip (GstVideoFilter * filter, GstVideoFrame * frame)
在这个视频帧中,我想在Tx侧添加元数据&还想在Rx侧获得帧后提取相同的元数据

下面是我用来添加和获取元数据的函数

GstMeta meta = gst_buffer_add_video_crop_meta( GstBuffer * Tx_buffer) // Add the meta data in TX side.


GstMeta meta = gst_buffer_get_video_crop_meta (GstBuffer *Rx_buffer); // Rx side.
正如您所看到的,这两个函数都需要类型**GstBuffer buffer,而不是GstVideoFrame

有人能帮我把GstVideoFrame缓冲区转换成GstBuffer吗?反之亦然。 在这种环境中非常新,任何输入都将受到高度赞赏 参考链接
提前感谢,

检查
GstVideoFrame
的文档如下:


您将看到此结构还有一个
buffer
成员,其中包含一个
GstBuffer

是的,它工作正常。但是我有一个疑问,我提到了它在原始图像上的坐标,然后发送到下一个元素。因此,我得到了一个Cropped图像,但我想要1元素的完整帧+此元数据作为附加信息。是否可以将元数据作为附加信息与此原始帧一起获得?如果有元素解释这些值并相应地执行操作(我猜是渲染)。。信息本身不应修改缓冲区。在发送端:meta=gst\u buffer\u add\u video\u crop\u meta(frame->buffer);//添加元数据信息。meta->x=10;//添加坐标信息。。在RX端。meta=gst\u buffer\u get\u video\u crop\u meta(帧->缓冲);如果(meta){/*带裁剪的渲染帧*/\u render\u frame\u裁剪(buffer,meta->x,meta->y,meta->width,meta->height)}如果我使用上述函数,则TX端将根据我猜测的坐标排列交叉帧数据。请您建议我可以使用什么样的API,以便我可以接收原始帧和元数据。(坐标)没有在上面做和交叉。