gpt4 book ai didi

ffmpeg - av_read_frame 之后 ffmpeg 中的数据包大小

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

我对ffmpeg有以下疑问。请澄清。

1.我正在使用 ffmpeg 并在执行 av_read_frame 之后读取 mp4 文件
我正在获取视频(stream_index = 0),音频(stream_index = 1)数据包
首先没有视频/音频数据包的顺序。是标准情况吗?

2.视频包的大小从最小的14到最大的21824不等。请指出为什么视频包大小会变化,在某个地方
写的是对于视频,一个数据包意味着一帧,所以如果对于视频 pkt->size = 14 也等于一帧视频。(pkt 是 AVPacket 类型)。

3.如果我们在 Probe 函数中解复用传入的 mp4 流,同时解析它并将信息存储在某个缓冲区中或调用 av_read_frame 解复用它。

4.是否可以在ffmpeg中对mp4文件进行解复用,然后在一个数据包流中分配a/v,其中视频数据包的stream_index = 1,音频= 0。
或者它必须在单独的流中。

5.ffmpeg处理传输流和mp4文件的区别。
如果两者都被解复用,以相同的方式解码还是不同。

问候
马扬克

最佳答案

媒体文件是从多个流创建的。一个流可以是mnay类型。音频、视频、字幕、元数据等。但流不能有多种类型。

1) av_read_frame 将(通常)按照它们写入文件的顺序返回帧。如果创建文件的软件没有单调地混合它们,你就不能单调地读取它。

2) 这正是视频压缩的工作原理。编解码器仅存储帧之间的变化。如果运动非常少,那么一帧可能与前一帧非常相似,因此增量非常小。

3)这不是一个问题。

4) 没有。

5)很大程度上,没有。但是文件类型存在一些差异。 mp4 需要随机访问,而 TS 不需要。

关于ffmpeg - av_read_frame 之后 ffmpeg 中的数据包大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21089814/

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