gpt4 book ai didi

ffmpeg - 使用 libavformat API 读取 H264 SPS 和 PPS NAL 字节

转载 作者:行者123 更新时间:2023-12-04 22:46:45 25 4
gpt4 key购买 nike

如何使用 libavformat API 读取 H264 SPS 和 PPS NAL 字节?

我尝试使用“av_read_frame(input_avFormatContext, &avPkt)”API 从 .mp4 视频(编解码器为 h264)文件中读取视频数据到“AVPacket”结构。

我将 avPkt->data 转储到文件中。但是读取的第一帧是 IDR 帧。

使用“ffmpeg -i video.mp4 video.h264”生成的文件将在 IDR 开始之前的开始中包含 SPS 和 PPS。

我想从 .mp4 文件中提取原始 .h264 视频并将其转储为 SPS、PPS、IDR、P1、P2... 顺序。

我想使用 libavformat API 以编程方式完成这项工作。

有什么想法吗?

谢谢。

最佳答案

在 mp4-container(也包括 mkv)中,PPS/SPS 与全局 header 中的帧数据分开存储。要从 libav* API 访问它们,您需要在 AVStream 的 AVCodecContext 中查找与所需视频流相关的 extradata 字段。此外,extradata 可以具有与标准 H.264 NAL 不同的格式,因此请查看 MP4 容器规范以获取格式描述。

关于ffmpeg - 使用 libavformat API 读取 H264 SPS 和 PPS NAL 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279575/

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