我在ffmpeg.Please澄清中有以下疑问。
1.使用ffmpeg读取mp4文件,执行av_read_frame后得到视频(stream_index= 0),音频(stream_index= 1)数据包,没有顺序的视频/音频packets.Is,这是标准情况。
2.视频数据包的大小从最小14到最大21824不等,请指出视频分组大小变化的原因,在某种情况下,视频分组意味着一帧,所以如果对于视频pkt->size = 14也等于一帧视频(pkt是AVPacket类型的)。
3.当解析传入mp4流时,将其解析为探测函数,并将其存储在某个缓冲区中,或者调用av_read_frame对其进行解析。
4.在ffmpeg中,是否可以先解析mp4文件,然后在一个数据包流中分配a/v,其中视频包具有stream_index = 1,而音频为0。或者它必须是分开的流。
5.传输流的ffmpeg处理与mp4文件的区别。如果两者都被分解,以相同的方式解码,或者是不同的。
向Mayank问好
发布于 2014-01-14 00:36:23
媒体文件是从mutipule流创建的。流可以是多类型的。音频、视频、字幕、元数据等,但是流不能是多种类型的。
1) av_read_frame将(通常)按照写入文件的顺序返回帧。如果创建文件的软件没有单调地修改它们,您就不能单调地读取它。
2)这正是视频压缩的工作原理。编解码器只存储帧间的变化。如果有很小的运动,那么一个框架可能非常类似于前一个框架,因此三角洲是非常小的。
3)这不是一个问题。
( 4)否。
5)基本上没有。但是文件类型有一些不同。mp4需要随机访问,而TS不需要随机访问。
https://stackoverflow.com/questions/21089814
复制相似问题