开发ffmpeg编程方法
本书非原创,因为里面大部分的内容都是来自互联网,我最多算是个图书管理员进行了整理、编辑,不过还是很用心的,应该不会误人子弟。
取之于互联网,也献之于互联网。广泛性且大量地借鉴了csdn blog和cnbolgs,里面真是人才济济啊,我这算不算剽窃
一些概念性的东西参见谷歌、度娘,ffmpeg精简源码分析、ffmpeg tutorial很多地方都是照搬,捣鼓的地方太多了,我到时候会把主要参考的内容发出来。其实年前就写好了(听着多带感,还不就是抄出来的),我也是一边学习一边整理的,自己看看暗爽就行了,发出来压力还是比较大的(还好没人认得我,不过哪里飞出一块板砖都不为过,写书有风险,发帖需谨慎啊!)。不过后来想想,一、给后来的童鞋一个启迪,二、也是希望有人认可自己,三、希望看过的童鞋能提意见,继续改,做了就要做好,四、不留下遗憾----谁没有一个写书的梦想啊,自传咱是没分了级别不够,捣鼓点别的还是可以的吧。
下载地址:
《ffmpeg编程开发.pdf》
《ffmpeg编程开发.word》
目录
第一章多媒体概念介绍 6
1.1视频格式 6
1.1.1常见格式 6
1.2音频格式 9
1.2.1常见格式 9
1.2.2比较 15
1.3字幕格式 15
1.3.1外挂字幕与内嵌字幕的阐述 15
1.3.2外挂字幕视频与内嵌字幕视频的画面比较 15
1.3.3外挂字幕的三种格式 15
1.4采集录制和播放渲染 16
1.4.1视频采集 16
1.4.2视频录制 17
1.4.3视频渲染 17
1.5编解码器 18
1.6容器和协议 19
1.6.1容器格式和编码格式 19
1.6.2协议 26
1.6.2.1视频协议 26
1.6.2.2音频协议. 26
1.6.2.3上层通讯协议 27
1.7常用概念介绍 27
1.7.1硬解 27
1.7.2IBP帧 28
1.7.3DTS和PTS 31
1.7.4分辨率 31
1.7.5码率 32
1.7.6帧率 32
1.7.7RGB和YUV 32
1.7.8实时和非实时 32
1.7.9复合视频和s-video 32
1.7.10硬件加速 32
1.7.11FFmpegDevice 32
第二章FFmpeg框架 34
2.1FFmpeg概述 34
2.1.1简介 34
2.1.2功能 34
2.1.3模块组成 35
2.1.4命令集 35
2.2媒体播放器三大底层框架 37
第三章编译及简单应用 41
3.1FFmpeg库编译和入门介绍41 41
3.2流媒体数据流程讲解 49
3.3简单应用 51
3.4SDL(SimpleDirectLayer) 55
3.4.1SDL显示视频 55
3.4.2SDL显示音频 55
3.5ffmpeg程序的使用(ffmpeg.exe,ffplay.exe,ffprobe.exe) 56
3.5.1ffmpeg.exe 56
3.5.2ffplay.exe 56
3.5.3ffprobe.exe 56
第四章数据结构 57
4.1AVCodec结构体 59
4.2AVCodecContext结构体 59
4.3AVInputFormat结构体 60
4.4AVFormatContext结构体 61
4.5MovContext结构体 62
4.6URLProtocol结构体 62
4.7URLContext结构体 63
4.8AVIOContext结构体(老版本为:ByteIOContext) 63
4.9AVStream结构体 64
4.10MOVStreamContext结构体 65
4.11AVPacket结构体 66
4.12AVPacketList结构体 67
4.13AVFrame结构体 67
第五章重要模块 76
5.1libavutil公共模块 76
1文件列表 76
2common.h文件 76
3bswap.h文件 78
4rational.h文件 79
5mathematics.h文件 80
6avutil.h文件 80
5.2libavcodec编解码模块 82
1文件列表 82
2avcodec.h文件 82
3allcodec.c文件 87
4dsputil.h文件 87
5dsputil.c文件 88
6utils_codec.c文件 88
7imgconvert_template.h文件 99
8imgconvert.c文件 121
9msrle.c文件 164
10turespeech_data.h文件 171
11turespeech.c文件 174
5.3libavformat容器模块 184
1文件列表 184
2avformat.h文件 184
3allformat.c文件 190
4cutils.c文件 190
5file.c文件 192
6avio.h文件 194
7avio.c文件 196
8aviobuf.c文件 200
9utils_format.c文件 209
10avidec.c文件 220
5.4libswscale视频色彩空间转换 243
5.5libswresample音频重采样 243
5.6libavfilter音视频滤器 243
5.7libavdevice设备输入和输出容器 243
5.8libpostproc视频后期处理 243
第六章播放器 243
6.1视频播放器 243
6.1.1ffmpeg库的配置 243
6.1.2一个简单的视频播放器 244
6.2音频播放器 247
6.3一个完整的播放器--ffplay 253
6.3.1ffplay流程图 253
6.3.2ffplay源码剖析 254
第七章应用开发 275
7.1ffmpeg库的使用:编码 275
第八章关键函数介绍 280
8.1avformat_open_input 280
8.2avcodec_register_all() 281
8.3av_read_frame() 283
8.4avcodec_decode_video2() 283
8.5transcode_init() 283
8.6transcode() 294
第九章ffmpeg相关工程 301
9.1ffdshow 301
ffdshow源代码分析1:整体结构 302
ffdshow源代码分析2:位图覆盖滤镜(对话框部分Dialog) 304
ffdshow源代码分析3:位图覆盖滤镜(设置部分Settings) 312
ffdshow源代码分析4:位图覆盖滤镜(滤镜部分Filter) 317
ffdshow源代码分析5:位图覆盖滤镜(总结) 322
ffdshow源代码分析6:对解码器的dll的封装(libavcodec) 322
ffdshow源代码分析8:视频解码器类(TvideoCodecDec) 344
ffdshow源代码分析9:编解码器有关类的总结 352
9.2LAVfilters 357
LAVFilter源代码分析1:总体结构 357
LAVFilter源代码分析2:LAVSplitter 358
LAVFilter源代码分析3:LAVVideo(1) 382
LAVFilter源代码分析4:LAVVideo(2) 400
9.3MPlayer 427
9.3.1Mplayer支持的格式 427
9.3.2Mplayer中头文件的功能分析 427
9.3.3MPlayer.main主流程简要说明 428
9.3.4Mplayer源码分析 429
第十章开发实例 436
第十一章mp4文件封装协议分析 436
11.1概述 436
11.2mp4的物理结构 436
11.3数据的组织结构 437
11.4mp4的时间结构 437
11.5文件结构分析 438
11.5.1FileTypeBox(ftyp) 438
11.5.2MovieBox(moov) 438
第十二章flv文件格式分析 457
12.1概述 457
12.2文件总体结构 457
12.3文件结构分析 458
12.3.1flv文件头的结构 458
12.3.2body主体结构 459
附录A:常见问题 465
1ffmpeg从内存中读取数据 465
2MFC中使用SDL播放音频没有声音的解决方法 465
附录B:经典代码示例 466
附录C:ffmpeg参数中文详细解释 477
附录D:ffplay的快捷键以及选项 479
附录E:ffmpeg处理rtmp流媒体 481
本文地址:http://www.45fan.com/a/question/71364.html