【FFmpeg】函数详解(三)

【目录】郭老二博文之:图像视频汇总

14、av_write_frame

原型:

int av_write_frame(AVFormatContext *s, AVPacket *pkt);

说明:

将数据包写入输出媒体文件。
这个函数直接将数据包传递给muxer,不会有任何缓冲或重新排序。
如果格式需要,调用时按照正确地顺序写数据包,即以DTS(Decode-Time-Stamp)解码顺序写入,而不是显示顺序,	
FFmpeg不会重新排序(比如H264解码顺序和显示顺序不一致)。
如果想让FFmpeg帮你自动调整顺序,可以调用av_interleaved_write_frame(),
这个函数中有缓冲,会对输入的数据包重新排序。

参数列表:

AVFormatContext *s 媒体文件句柄
AVPacket *pkt 包含要写入的数据的数据包。请注意,不像Av_interleaved_write_frame(),这个函数不接受传递给它的包的所有权
	(尽管一些muxers可能会对输入数据包进行内部引用)
	这个参数可以是NULL(在任何时候,而不只是在结束时),以便立即刷新在muxer中缓冲的数据,因为muxer在将数据写入输出之前在内部缓冲数据。
	AVPacket.stream_index字段必须被设置为AVFo

你可能感兴趣的:(视频,FFMpeg)