视频解封装是指从视频文件提取出音视频流的过程。视频封装格式(如MP4、FLV,AVI等)通常会将音频、视频、字幕等数据流存储在一个容器中。而解封装的目的就是将这些数据流从容器中分离出来,以便进一步处理,如解码、播放、编辑等。
在FFMPEG中,解封装涉及的一些接口函数有:
avformat_alloc_context(); 负责申请一个 AVFormatContext结构的内存,并进行简单初始化
avformat_free_context(); 释放该结构里的所有东西以及该结构本身
avformat_close_input(); 关闭解复用器。关闭后就不再需要使用 avformat_free_context 进行释放。
avformat_open_input(); 打开输入视频文件
avformat_find_stream_info():获取视频文件信息
av_read_frame(); 读取音视频包
avformat_seek_file(); 定位文件
av_seek_frame(): 定位文件
FFmpeg解封装的基本流程为:
1.打开媒体文件
打开视频文件或媒体流(如从文件系统,网络流或设备读取)。FFmpeg中通常使用avformat_open_input()函数来打开媒体文件。
2.获取媒体信息
一旦文件成功打开&#