不同的视频封装格式有不同的特点,有的功能强大支持多个视频流、音频流和字幕文件比如MKV格式,有的形成的文件极小、加载速度极快,适合网络播放比如flv格式,有的体积小能跨平台播放比如MOV格式。为了适应不同场景下的播放需求,有时候我们需要将视频的封装格式进行转换。这里介绍一下如何通过FFmpeg库实现不同封装格式的转换。封装格式转换的流程如下所示:
FFmpeg库实现封装格式转换的示例如下所示:
(输出的封装格式通过文件的后缀名称来进行确定)
#include <libavutil/timestamp.h>
#include <libavformat/avformat.h>
//输出包的详细信息(pts,dts,time_base)
static void