gpt4 book ai didi

c - gst_h264_parser_identify_nalu 未在缓冲区中找到 NAL

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:25 26 4
gpt4 key购买 nike

GstH264NalParser *parser = NULL;
GstH264NalUnit nal_unit = { 0 };

parser = gst_h264_nal_parser_new();
GstH264ParserResult parser_result = gst_h264_parser_identify_nalu(parser,
buffer_map.data,
0,
buffer_map.size,
&nal_unit); /* This returns GST_H264_PARSER_NO_NAL */

这是为什么呢?除非 data 不应该来自 GstMapInfo* 而是其他一些数据结构。可能是来自 GstSampleGstStructure 指针?

上下文

编写一个小程序来解析来自 Gstreamer 的 videotestsrc 和 appsink 插件的 h.264 编码视频。到目前为止,还不错。

在我的管道中使用(坏的)x264enc 插件转换流,然后将其送入 h264parse,然后送入 appsink。很确定 h264parse 是一个不必要的步骤,但无论有没有我得到的结果都是一样的。

确信我使用不正确的结构将数据读入 NALU 解析函数。

最佳答案

如果您认为传入的数据是好的,那么您很可能需要做一个小的转换,因为在 h264 流中有几种不同的编码模式。

我不确定这是为什么,但有时您需要进行一些小的转换。这就是 h264parse 元素的用途。

垫模板:
SRC 模板:'src'
可用性:总是
能力:
视频/x-h264
解析:真
流格式:{ avc、avc3、字节流}
对齐方式:{au,nal}

因此,在您的管道中,您可以尝试对流格式和 alignmnet 选项进行排列,例如:

gst-launch videotestsrc ! ……! h264解析! video/x-h264,stream-format=byte-stream,alignment=nal !应用接收器

关于c - gst_h264_parser_identify_nalu 未在缓冲区中找到 NAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32130390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com