- 0
- 0
- 约1.68万字
- 约 14页
- 2026-01-26 发布于四川
- 举报
先给出几个概念,以便在后面的分析中方便理解Container:在音中的容器,通常
指的是一种特定的文件格式,里面指明了所包含的音、字幕等相关信息Stream:
这个词有些微妙,很多地方都用到,比如TCP、SVR4系统等,实际上在音中,你可
以理解为单纯的音频数据或数据等Frames:这个概念不是很好明确地表示,指的
是Stream中的一个数据单元,要真正对这个概念有所理解,可能需要看一些音编码
的理论知识Packet:是Stream的raw数据Codec:Coded+Decoded其实这些概念
在FFmpeg中都有很好的体现,我们在后续分析中会慢慢看到
2.的基本流程
我很懒,于是还是选择了从AnffmpegandSDLTutorial中的流程概述:
10打开_stream从.avi20从
_streampacket到frame30如
果frame转到2040对frame进行处
理50转到20
这就是的全过程,一眼看去,是不是感觉不过如此:)不过,事情有深有浅,从浅到深,
然后从深回到浅可能才是一个有意思的过程,我们的故事,就从这里开始,展开来讲。
3.示例代码
在AnffmpegandSDLTutorial1中,给出了一个阳春版的器,我们来仔细
看看阳春后面的故事,为了方便讲述,我先贴出代码:#include
ffmpeg/avcodec.h#includeffmpeg/avformat.h
#includestdio.h
voidSaveFrame(AVFrame*pFrame,intwidth,intheight,intiFrame){
FILE*pFile;char
szFilename[32];
inty;
//打开文件sprintf(szFilename,fra
me%d.ppm,iFrame);pFile=
fopen(szFilename,wb);if(pFile==
NULL)return;
先给出几个概念,以在后面的分析中方便理解
Container:在音中的容器,一般指的是一种特定的文件格式,里面指明了所包含的
音,字幕等相关信息
Stream:这个词有些微妙,很多地方都用到,比如TCP,SVR4系统等,其实在音,你
可以理解为单纯的音频数据或者数据等
Frames:这个概念不是很好明确的表示,指的是Stream中的一个数据单元,要真正对这
个概念有所理解,可能需要看一些音编码的理论知识
Packet:是Stream的raw数据
Codec:Coded+Decoded
其实这些概念在在FFmpeg中都有很好的体现,我们在后续分析中会慢慢看到
2.的基本流程
我很懒,于是还是选择了从AnffmpegandSDLTutorial中的流程概述:
10OPEN_streamFROM.avi
20READpacketFROM_streamINTOframe
30IFframeNOTCOMPLETEGOTO20
40DOSOMETHINGWITHfr
原创力文档

文档评论(0)