ffmpeg基礎(chǔ)庫編程開發(fā)是一款編程開發(fā)的書籍,給大家提供的是pdf格式下載,在線電子版閱讀,幫助學(xué)習(xí)編程的用戶快速了解,需要的快來下載吧!
全本書籍免費(fèi)下載,在線閱讀!
ffmpeg基礎(chǔ)庫編程開發(fā)介紹
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多code都是從頭開發(fā)的。
FFmpeg在Linux平臺下開發(fā),但它同樣也可以在其它操作系統(tǒng)環(huán)境中編譯運(yùn)行,包括Windows、Mac OS X等
主要功能:多媒體視頻處理工具FFmpeg有非常強(qiáng)大的功能包括視頻采集功能、視頻格式轉(zhuǎn)換、視頻抓圖、給視頻加水印等。
ffmpeg基礎(chǔ)庫編程開發(fā)目錄
第一章 多媒體概念介紹 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外掛字幕與內(nèi)嵌字幕的闡述 15
1.3.2外掛字幕視頻與內(nèi)嵌字幕視頻的畫面比較 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容器和協(xié)議 19
1.6.1容器格式和編碼格式 19
1.6.2協(xié)議 26
1.6.2.1 視頻協(xié)議 26
1.6.2.2 音頻協(xié)議. 26
1.6.2.3 上層通訊協(xié)議 27
1.7常用概念介紹 27
1.7.1硬解 27
1.7.2 IBP幀 28
1.7.3 DTS和PTS 31
1.7.4 分辨率 31
1.7.5 碼率 32
1.7.6 幀率 32
1.7.7 RGB和YUV 32
1.7.8 實(shí)時(shí)和非實(shí)時(shí) 32
1.7.9 復(fù)合視頻和s-video 32
1.7.10 硬件加速 32
1.7.11 FFmpeg Device 32
第二章 FFmpeg框架 34
2.1 FFmpeg概述 34
2.1.1簡介 34
2.1.2功能 34
2.1.3模塊組成 35
2.1.4命令集 35
2.2 媒體播放器三大底層框架 37
第三章 編譯及簡單應(yīng)用 41
3.1 FFmpeg庫編譯和入門介紹 41 41
3.2 流媒體數(shù)據(jù)流程講解 49
3.3 簡單應(yīng)用 51
3.4 SDL( Simple Direct Layer) 55
3.4.1 SDL顯示視頻 55
3.4.2 SDL顯示音頻 55
3.5 ffmpeg程序的使用(ffmpeg.exe,ffplay.exe,ffprobe.exe) 56
3.5.1 ffmpeg.exe 56
3.5.2 ffplay.exe 56
3.5.3 ffprobe.exe 56
第四章 數(shù)據(jù)結(jié)構(gòu) 57
4.1 AVCodec結(jié)構(gòu)體 59
4.2 AVCodecContext結(jié)構(gòu)體 59
4.3 AVInputFormat結(jié)構(gòu)體 60
4.4 AVFormatContext結(jié)構(gòu)體 61
4.5 MovContext結(jié)構(gòu)體 62
4.6 URLProtocol結(jié)構(gòu)體 62
4.7 URLContext結(jié)構(gòu)體 63
4.8 AVIOContext結(jié)構(gòu)體(老版本為:ByteIOContext) 63
4.9 AVStream結(jié)構(gòu)體 64
4.10 MOVStreamContext 結(jié)構(gòu)體 65
4.11 AVPacket 結(jié)構(gòu)體 66
4.12 AVPacketList 結(jié)構(gòu)體 67
4.13 AVFrame結(jié)構(gòu)體 67
第五章 重要模塊 76
5.1 libavutil公共模塊 76
1 文件列表 76
2 common.h 文件 76
3 bswap.h 文件 78
4 rational.h 文件 79
5 mathematics.h 文件 80
6 avutil.h 文件 80
5.2 libavcodec編解碼模塊 82
1 文件列表 82
2 avcodec.h 文件 82
3 allcodec.c 文件 87
4 dsputil.h 文件 87
5 dsputil.c 文件 88
6 utils_codec.c 文件 88
7 imgconvert_template.h 文件 99
8 imgconvert.c 文件 121
9 msrle.c 文件 164
10 turespeech_data.h 文件 171
11 turespeech.c 文件 174
5.3 libavformat容器模塊 184
1 文件列表 184
2 avformat.h 文件 184
3 allformat.c 文件 190
4 cutils.c 文件 190
5 file.c 文件 192
6 avio.h 文件 194
7 avio.c 文件 196
8 aviobuf.c 文件 200
9 utils_format.c 文件 209
10 avidec.c 文件 220
5.4 libswscale視頻色彩空間轉(zhuǎn)換 243
5.5 libswresample音頻重采樣 243
5.6 libavfilter音視頻濾器 243
5.7 libavdevice設(shè)備輸入和輸出容器 243
5.8 libpostproc視頻后期處理 243
第六章 播放器 243
6.1 視頻播放器 243
6.1.1 ffmpeg庫的配置 243
6.1.2 一個(gè)簡單的視頻播放器 244
6.2 音頻播放器 247
6.3 一個(gè)完整的播放器--ffplay 253
6.3.1 ffplay流程圖 253
6.3.2 ffplay源碼剖析 254
第七章 應(yīng)用開發(fā) 275
7.1 ffmpeg庫的使用:編碼 275
第八章 關(guān)鍵函數(shù)介紹 280
8.1 avformat_open_input 280
8.2 avcodec_register_all() 281
8.3 av_read_frame() 283
8.4 avcodec_decode_video2() 283
8.5 transcode_init() 283
8.6 transcode() 294
第九章 ffmpeg相關(guān)工程 301
9.1 ffdshow 301
ffdshow 源代碼分析1 : 整體結(jié)構(gòu) 302
ffdshow 源代碼分析 2: 位圖覆蓋濾鏡(對話框部分Dialog) 304
ffdshow 源代碼分析 3: 位圖覆蓋濾鏡(設(shè)置部分Settings) 312
ffdshow 源代碼分析 4: 位圖覆蓋濾鏡(濾鏡部分Filter) 317
ffdshow 源代碼分析 5: 位圖覆蓋濾鏡(總結(jié)) 322
ffdshow 源代碼分析 6: 對解碼器的dll的封裝(libavcodec) 322
ffdshow 源代碼分析 8: 視頻解碼器類(TvideoCodecDec) 344
ffdshow 源代碼分析 9: 編解碼器有關(guān)類的總結(jié) 352
9.2 LAV filters 357
LAV Filter 源代碼分析 1: 總體結(jié)構(gòu) 357
LAV Filter 源代碼分析 2: LAV Splitter 358
LAV Filter 源代碼分析 3: LAV Video (1) 382
LAV Filter 源代碼分析 4: LAV Video (2) 400
9.3 MPlayer 427
9.3.1 Mplayer支持的格式 427
9.3.2 Mplayer 中頭文件的功能分析 427
9.3.3 MPlayer.main 主流程簡要說明 428
9.3.4 Mplayer源碼分析 429
第十章 開發(fā)實(shí)例 436
第十一章 mp4文件封裝協(xié)議分析 436
11.1 概述 436
11.2 mp4的物理結(jié)構(gòu) 436
11.3 數(shù)據(jù)的組織結(jié)構(gòu) 437
11.4 mp4的時(shí)間結(jié)構(gòu) 437
11.5 文件結(jié)構(gòu)分析 438
11.5.1 File Type Box(ftyp) 438
11.5.2 Movie Box(moov) 438
第十二章 flv 文件格式分析 457
12.1 概述 457
12.2 文件總體結(jié)構(gòu) 457
12.3 文件結(jié)構(gòu)分析 458
12.3.1 flv文件頭的結(jié)構(gòu) 458
12.3.2 body主體結(jié)構(gòu) 459
附錄A:常見問題 465
1 ffmpeg 從內(nèi)存中讀取數(shù)據(jù) 465
2 MFC中使用SDL播放音頻沒有聲音的解決方法 465
附錄B:經(jīng)典代碼示例 466
附錄C:ffmpeg參數(shù)中文詳細(xì)解釋 477
附錄D:ffplay的快捷鍵以及選項(xiàng) 479
附錄E: ffmpeg處理rtmp流媒體 481
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版