上一篇文章我们搭好了环境并编译出所需的ffmpeg库,本篇我们讨论如何利用ffmpeg提供的API函数进行多媒体文件的解封装(demux)过程。在讲解之前,我们需要了解一些基本的多媒体文件知识,大虾请飘过。
-
容器格式:不管是音频文件还是视频格式的文件,都是一个多媒体的容器,即container,比如常见的视频容器格式有avi、mp4、mkv、flv、rm/rmvb、mov、ts、vob、dat,音频容器格式有MP3、WAV、AAC、APE,FLAC等等,它容纳了视频、音频、字幕(subtitle)等一个或多个基本流数据,有的甚至一个容器中存放有多个视频、音频以及字幕。
-
压缩格式:对视频、音频数据的基本流进行的压缩方式就是音视频的压缩格式。常见的视频压缩格式如mpeg2、mpeg4、H264、VC1、Rm/Rmvb,常见音频压缩格式如MPA、

本文介绍了如何利用ffmpeg API进行多媒体文件的解封装过程,包括理解容器格式、压缩格式、基本流(ES)、PTS等概念,以及使用关键函数如avformat_open_input、av_read_frame等实现解封装框架。示例代码将音视频ES数据抽离并写入不同文件,适用于单一音视频流的简单场景。
最低0.47元/天 解锁文章
661

被折叠的 条评论
为什么被折叠?



