FFmpeg 入門詳解 — SDK 二次開發與直播美顏原理及應用
梅會東
- 出版商: 清華大學
- 出版日期: 2023-02-01
- 售價: $834
- 貴賓價: 9.5 折 $792
- 語言: 簡體中文
- ISBN: 7302626952
- ISBN-13: 9787302626954
-
相關分類:
影像辨識 Image-recognition
立即出貨
買這商品的人也買了...
-
$354$336 -
$352FFmpeg 從入門到精通
-
$414$393 -
$380$296 -
$454WebRTC Native 開發實戰
-
$1,008$958 -
$653Go Web 編程實戰派 — 從入門到精通
-
$594$564 -
$980$833 -
$551FFmpeg 音視頻開發基礎與實戰
-
$880$695 -
$414$393 -
$534$507 -
$680$537 -
$534$507 -
$500Kubernetes 原生微服務開發
-
$680$537 -
$654$621 -
$857Linux 系統安全基礎:二進制代碼安全性分析基礎與實踐
-
$811聚沙成塔:Go語言構建高性能、分佈式爬蟲項目
-
$1,200$948 -
$580$458 -
$680$537 -
$839$797 -
$714$678
相關主題
商品描述
本書系統講解了FFmpeg SDK二次開發及直播美顏的基礎理論及應用,包括FFmpeg各大核心組件,包括音視頻轉封裝、轉碼、濾鏡、音頻重採樣、視頻縮放等,包括讀取攝像頭和話筒,包括流媒體直播推流等功能。在本書的最後一章,介紹了OpenCV的圖像特效處理,並結合FFmpeg進行直播推流。本書為FFmpeg音視頻流媒體系列的第四部,前三部分別是《FFmpeg入門詳解——音視頻原理及應用》《FFmpeg入門詳解——流媒體直播原理及應用》和《FFmpeg入門詳解——命令行及音視頻特效原理及應用》。 全書共分為13章,系統講解了FFmpeg源碼編譯及環境搭建的基礎知識、轉封裝與轉碼、過濾器、音視頻採集功能、音頻重採樣、視頻縮放、流媒體直播等功能,並結合OpenCV進行圖像特效處理等。 書中包含大量的示例,圖文並茂,爭取讓一個音視頻流媒體領域的讀者真正入門,從此開啟流媒體直播編程的大門。本書知識體系比較完整,側重FFmpeg SDK二次開發及直播美顏的原理講解及應用。建議讀者先學習FFmpeg音視頻流媒體系列的前3部,然後來學習本書。本書的講解過程由淺入深,讓讀者在不知不覺中學會了FFmpeg SDK二次開發的基礎知識,並能動手實現各種轉碼功能、音視頻特效處理、並能實現流媒體直播功能。 本書可作為FFmpeg SDK二次開發、音視頻特效處理及流媒體直播方向的入門書籍,也可作為高年級本科生和研究生的學習參考書籍。
作者簡介
梅會東,一個在音視頻領域摸爬滾打二十多年的老程序員、培訓師、作者,精通多種IT技術。參與設計和開發了多個音視頻項目,包括播放器、視頻服務器、全套直播系統等。精通多個音視頻開源庫項目,包括FFmpeg、Live555、SRS、Darwin、Nginx、WebRTC、ZLMediaKit等。 目前專注於音視頻流媒體的教育傳播事業,為多家大型國企單位講授音視頻專業知識。
目錄大綱
目錄
第1章編譯FFmpeg源碼並搭建開發環境
1.1FFmpeg源碼簡介
1.2Windows平臺下編譯FFmpeg 5.0源碼
1.2.1MinGW簡介
1.2.2安裝MSYS2
1.2.3更新MSYS2
1.2.4Pacman使用命令
1.2.5在MSYS2安裝依賴項
1.2.6使用MSVC工具鏈來編譯FFmpeg 5.0+Libx264+Libx265
1.2.7使用MinGW64工具鏈來編譯FFmpeg 5.0+Libx264
1.3Linux平臺下編譯FFmpeg 5.0源碼
1.4搭建FFmpeg的Qt開發環境
1.5搭建FFmpeg的VS開發環境
1.6Linux下使用GCC編譯FFmpeg的程序
第2章把控FFmpeg骨架: “八大金剛”核心開發庫
2.1FFmpeg八大核心開發庫
2.2libavutil庫簡介
2.3libavformat簡介
2.4libavcodec庫簡介
2.5libpostproc庫簡介
2.6libavdevice庫簡介
2.7libavfilter庫簡介
2.8libswresample庫簡介
2.9libswscale庫簡介
第3章夯實FFmpeg基礎: 重要數據結構及API
3.1FFmpeg的讀者入門案例
3.1.1初識FFmpeg的API
3.1.2FFmpeg的解碼及播放流程
3.1.3使用FFmpeg解封裝並讀取流信息的案例
3.2FFmpeg的經典數據結構
3.2.1使用FFmpeg進行解碼的10個經典結構體
3.2.2AVPacket與AVFrame
3.3協議層的三大重要數據結構
3.4封裝層的四大重要數據結構
3.5編解碼層的三大重要數據結構
3.6FFmpeg的重要API函數
3.7Ubuntu下編譯並運行解封裝案例
第4章精通FFmpeg框架流程: 擊鼓傳花之責任鏈設計模式
4.1擊鼓傳花之責任鏈設計模式簡介
4.2FFmpeg的框架原理及流程分析
4.3FFmpeg的解碼流程分析
4.4FFmpeg的編碼流程分析
4.5FFmpeg的轉碼流程分析
4.5.1FFmpeg轉碼流程簡介
4.5.2FFmpeg的兩種轉碼方式
4.5.3基於RTP傳輸的FFmpeg轉碼應用
4.5.4FFmpeg轉碼流程小結
4.5.5視頻文件轉碼流程案例分析
第5章AVUtil通用工具層理論及案例實戰
5.1AVUtil庫及相關API簡介
5.2AVLog應用案例及剖析
5.3AVParseUtil應用案例及剖析
5.4AVDictionary應用案例及剖析
5.5AVOption應用案例及剖析
第6章AVProtocol協議層理論及案例實戰
6.1協議層AVIO的流程及數據結構
6.2AVIO案例實戰之打開本地文件
6.3AVIO案例實戰之打開網絡直播流
6.4內存IO模式之自定義AVIO案例實戰
6.5內存映射文件技術
第7章AVFormat封裝層理論及案例實戰
7.1封裝格式原理分析
7.1.1視頻封裝格式簡介
7.1.2使用FFmpeg處理音視頻的封裝與解封裝
7.2封裝層的重要API函數簡介
7.3FFmpeg解封裝案例實戰
7.4FFmpeg封裝格式之時間基與時間刻度
7.5FFmpeg解封裝後直接存儲AVPacket
7.6FFmpeg轉封裝案例實戰
第8章AVCodec編解碼層理論及案例實戰
8.1編解碼原理流程及API解析
8.2解碼流程與案例實戰
8.3編程流程與案例實戰
8.4FFmpeg編解碼與時間基詳解
第9章AVFilter過濾器層理論及案例實戰
9.1過濾器層的架構原理解析
9.1.1FFmpeg包含濾鏡的轉碼流程
9.1.2FFmpeg責任鏈模式簡介
9.1.3簡單濾鏡和復雜濾鏡之間的區別
9.1.4FFmpeg濾鏡流程圖
9.1.5濾鏡圖、濾鏡鏈、濾鏡之間的關系
9.1.6FFmpeg濾鏡相關的重要結構體
9.2DirectShow框架原理與流程解析
9.3FFmpeg過濾器層的重要API解析
9.3.1FFmpeg中使用過濾器的步驟
9.3.2AVFilter的API
9.4FFmpeg過濾器案例實戰
9.4.1FFmpeg命令行方式體驗過濾器
9.4.2FFmpeg的API方式實現過濾器
第10章SWResample音頻重採樣理論及案例實戰
10.1音頻重採樣簡介
10.1.1音頻基礎
10.1.2PCM簡介
10.1.3PCM重採樣
10.1.4C語言實現PCM重採樣
10.2SWResample庫結構簡介
10.2.1FFmpeg與PCM格式
10.2.2Packed和Planar的區別
10.2.3音頻播放時間計算
10.2.4C語言分離左右聲道
10.2.5lswr的使用流程及API簡介
10.3SWResample音頻重採樣案例實戰
10.3.1SwrContext使用步驟解析
10.3.2使用lswr實現PCM重採樣案例實戰
10.3.3Packed模式轉Planar模式
第11章SWScale圖像縮放與顏色空間轉換
11.1色彩空間轉換的原理簡介
11.2SWScale庫結構簡介
11.3SWScale圖片色彩空間轉換案例實戰
第12章AVDevice設備讀寫理論及案例實戰
12.1AVDevice的使用步驟及API解析
12.2AVDevice的API方式採集本地攝像頭獲取的數據
12.3VMWare中的Ubuntu採集本地攝像頭獲取的數據
12.4AVDevice的API方式採集話筒獲取的數據
12.5FFmpeg讀取網絡視頻流並解碼為YUV
12.6給攝像頭實時添加水印後編碼為H.264
第13章FFmpeg直播綜合案例實戰
13.1直播系統架構及流程簡介
13.2流媒體服務器的搭建
13.3FFmpeg進行RTMP直播推流
13.4兩個C++封裝類的小結
13.5OpenCV4基礎操作及磨皮美顏
13.6OpenCV4磨皮美顏並結合FFmpeg直播推流