-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

FFmpeg從入門到精通

( 簡體 字)
作者:劉 歧 趙文杰 編著類別:1. -> 教材 -> 數位影像處理
譯者:
出版社:機械工業出版社FFmpeg從入門到精通 3dWoo書號: 48652
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:3/1/2018
頁數:275
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111592204
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么要寫這本書

在2011年之前,筆者的工作主要是以圖形系統和Linux設備驅動程序開發為主,一個偶然的機會,筆者參與了Android的流媒體框架開發與技術支持工作,于是筆者開始快速地學習音視頻流媒體技術。后來又因參與某廣電的云計算項目時負責云轉碼項目,筆者又開始學習使用FFmpeg,在學習的過程中遇到了很多問題,而手冊的內容又非常多,即使系統地學習一遍,也很難及時地解決自己遇到的問題。當時(2012年)網絡中并沒有現如今這么多的音視頻相關技術文檔分享,大多數都是提問,很少能看到精確的解答,所以最終還是耐心地讀手冊。在日積月累的學習過程中,筆者發現對FFmpeg感興趣的人越來越多,因此便計劃進一步地學習和整理FFmpeg的相關使用知識,以期能夠幫助到更多的朋友。

近幾年,音視頻流媒體技術的應用日益廣泛,尤其是以視頻直播中音視頻流媒體處理的應用最甚,但是市面上與“老牌”音視頻處理工具FFmpeg相關的介紹書籍少之又少,雖然市面上有些講述音視頻純理論的書籍,但是并不能快速指導新人上手操作,并且大多數人看到FFmpeg的官方文檔篇幅之長時望而卻步,入門的新手日漸增多并且經常會有不同的人問到相同的問題,以上種種激發了筆者編寫本書的想法。

2014年筆者所在的公司主導流媒體CDN的開發,再加上市場對轉碼、移動端推流SDK、播放SDK以及音視頻處理的需求愈加強烈,而FFmpeg又剛好可以快速滿足上述需求的大多數場景,以上種種更加充分地說明了本書出版的必要性。

在與FFmpeg相關的開發討論與交流過程中,筆者了解到有很多公司尤其是云服務相關的公司,對FFmpeg的使用各有不同,有的使用命令行,有的使用SDK。所以本書分為兩部分進行介紹,前半部分以FFmpeg的命令行使用為主,后半部分以SDK基本使用方法的介紹為主。當然,FFmpeg如今發展速度迅猛,本書講解的內容將會盡力以最新版本為準。筆者將會持續與廣大讀者溝通交流FFmpeg的相關技術,希望能夠為企業同行或者感興趣的讀者提供參考,筆者希望本書能夠幫助大家提高工作效率、解決工作和學習中的實際問題。

另外,市場上還鮮有出現關于FFmpeg實戰相關的技術書籍,FFmpeg的技術知識主要以網絡中的博客、論壇等為主,因此筆者希望本書的出版能夠在圖書領域和技術領域打開新的篇章,讓我們的圖書出版行業多一個FFmpeg音視頻處理相關類目,也讓我們的技術領域多一個音視頻流媒體處理實戰相關的方向。

本書的讀者對象

本書的讀者對象具體如下。

音視頻流媒體處理的研究人員

音視頻流媒體技術的研發人員

對音視頻流媒體處理開發感興趣的技術人員

計算機相關專業的高等院校學生

如何閱讀本書

本書一共包含10章,按照所講述的內容以及所面向讀者的不同層次,可以劃分為兩大部分,具體如下。

第一部分為FFmpeg的命令行使用篇,包括第1∼7章,介紹了FFmpeg的基礎組成部分、FFmpeg工具使用、FFmpeg的封裝操作、FFmpeg的轉碼操作、FFmpeg的流媒體操作、FFmpeg的濾鏡操作和FFmpeg的設備操作。

第二部分為FFmpeg的API使用篇,包括第8∼10章,介紹了FFmpeg封裝部分的API使用操作、FFmpeg編解碼部分的API使用操作和FFmpeg濾鏡部分的API使用操作,相關操作均以實例方式進行說明,包括新API及舊API的操作。

如果你已經能夠通過源代碼獨立安裝FFmpeg,那么可以跳過第1章直接從第2章開始閱讀;如果你對命令行使用沒有興趣,或者希望使用FFmpeg的API開發,那么可以跳過前7章直接從第8章開始閱讀。筆者建議最好是從第1章開始閱讀。
FFmpeg本身也提供了命令參數的詳細說明,讀者可以查看FFmpeg的幫助信息,后面的章節將會對此進行詳細的介紹。

致謝

首先感謝我的愛人一直以來對我的工作和寫作的支持與理解,是你在我背后默默的支持,才讓我有更多的時間和精力放到工作及寫作中。

感謝FFmpeg社區中的朋友們對本書提供了大力的支持,感謝藍汛、高升、金山云、學而思網校與OnVideo的伙伴們長期的支持與貢獻,沒有你們也就不會有這本書的問世。

感謝機械工業出版社華章公司的編輯,感謝你們的耐心指導與幫助,引導我們順利地完成了全部書稿。

感謝FFmpeg社區、ChinaUnix社區、LVS社區,社區很好地提供了技術溝通與交流的平臺,幫助我們更好地成長。

謹以此書獻給我最親愛的家人、朋友、同事,以及眾多為互聯網、流媒體添磚加瓦的從業者們。



劉歧、趙文杰

2018年1月于北京
內容簡介:

本書是音視頻開發一線架構師傾心之作,是作者多年使用FFmpeg進行軟件開發的經驗總結,加上在FFmpeg社區中幫助社區成員解決實際問題,從而編寫出來的實戰型內容書籍。

本書首先通過介紹FFmpeg的基本信息使讀者了解FFmpeg的整體架構,然后介紹FFmpeg的編譯安裝,常見的封裝容器處理,編解碼處理,濾鏡與特效處理,流媒體處理,以及FFmpeg常用的API,均為視音頻開發常用的技術;對于FFmpeg開發的新手,確保本書能系統地帶領讀者入門,對于已經使用FFmpeg的開發人員,希望讀者能獲得一些新的技能點,同時也作為流媒體開發同行查漏補缺的工具。



音視頻流媒體在生活中隨處可見,音視頻技術也日漸成為非常重要的技術,尤其是音視頻處理。盡管有大量的開源軟件可以幫助你做音視頻處理,并提供了簡單的操作接口,但是對于新手來說還是有些迷茫。

本書圍繞著音視頻處理的FFmpeg的發展過程、FFmpeg的組成、FFmpeg的命令行使用、FFmpeg的API使用等內容,由淺入深地介紹了使用FFmpeg進行音視頻處理的方法,并輔以大量實例,從而幫助對音視頻處理感興趣的讀者對FFmpeg有更多的了解。

通過閱讀本書,你將學到:

FFmpeg的歷史

FFmpeg的基本結構

FFmpeg的基本用法

使用FFmpeg進行日常的音視頻處理工作的方法

使用FFmpeg的API進行音視頻處理工作的細節
目錄:

本書贊譽

推薦序一

推薦序二

推薦序三

前言

第一部分 FFmpeg的命令行使用篇

第1章 FFmpeg簡介 2

1.1 FFmpeg的定義 2

1.2 FFmpeg的歷史 2

1.3 FFmpeg的基本組成 3

1.4 FFmpeg的編解碼工具ffmpeg 6

1.5 FFmpeg的播放器ffplay 9

1.6 FFmpeg的多媒體分析器ffprobe 9

1.7 FFmpeg編譯 11

1.7.1 FFmpeg之Windows平臺編譯 11

1.7.2 FFmpeg之Linux平臺編譯 13

1.7.3 FFmpeg之OS X平臺編譯 15

1.8 FFmpeg編碼支持與定制 16

1.8.1 FFmpeg的編碼器支持 24

1.8.2 FFmpeg的解碼器支持 25

1.8.3 FFmpeg的封裝支持 27

1.8.4 FFmpeg的解封裝支持 28

1.8.5 FFmpeg的通信協議支持 29

1.9 小結 29

第2章 FFmpeg工具使用基礎 30

2.1 ffmpeg常用命令 30

2.1.1 ffmpeg的封裝轉換 37

2.1.2 ffmpeg的轉碼參數 38

2.1.3 ffmpeg的基本轉碼原理 38

2.2 ffprobe常用命令 40

2.3 ffplay常用命令 50

2.3.1 ffplay常用參數 50

2.3.2 ffplay高級參數 53

2.3.3 ffplay的數據可視化分析應用 57

2.4 小結 59

第3章 FFmpeg 轉封裝 60

3.1 音視頻文件轉MP4格式 60

3.1.1 MP4格式標準介紹 61

3.1.2 MP4分析工具 76

3.1.3 MP4在FFmpeg中的Demuxer 79

3.1.4 MP4在FFmpeg中的Muxer 80

3.2 視頻文件轉FLV 84

3.2.1 FLV格式標準介紹 84

3.2.2 FFmpeg轉FLV參數 89

3.2.3 FFmpeg文件轉FLV舉例 89

3.2.4 FFmpeg生成帶關鍵索引的FLV 91

3.2.5 FLV文件格式分析工具 91

3.3 視頻文件轉M3U8 93

3.3.1 M3U8格式標準介紹 93

3.3.2 FFmpeg轉HLS參數 95

3.3.3 FFmpeg轉HLS舉例 96

3.4 視頻文件切片 105

3.4.1 FFmpeg切片segment參數 105

3.4.2 FFmpeg切片segment舉例 106

3.4.3 FFmpeg使用ss與t參數進行切片 110

3.5 音視頻文件音視頻流抽取 111

3.5.1 FFmpeg抽取音視頻文件中的AAC音頻流 111

3.5.2 FFmpeg抽取音視頻文件中的H.264視頻流 112

3.5.3 FFmpeg抽取音視頻文件中的H.265數據 113

3.6 系統資源使用情況 114

3.7 小結 115

第4章 FFmpeg轉碼 116

4.1 FFmpeg軟編碼H.264與H.265 116

4.1.1 x264編碼參數簡介 117

4.1.2 H.264編碼舉例 118

4.2 FFmpeg硬編解碼 130

4.2.1 Nvidia GPU硬編解碼 130

4.2.2 Intel QSV硬編碼 133

4.2.3 樹莓派硬編碼 137

4.2.4 OS X系統硬編解碼 139

4.3 FFmpeg輸出MP3 141

4.3.1 MP3編碼參數介紹 141

4.3.2 MP3的編碼質量設置 142

4.3.3 平均碼率編碼參數ABR 144

4.4 FFmpeg輸出AAC 145

4.4.1 FFmpeg中的AAC編碼器使用 145

4.4.2 FDK AAC第三方的AAC編解碼Codec庫 146

4.4.3 高質量AAC設置 148

4.4.4 AAC音頻質量對比 149

4.5 系統資源使用情況 149

4.6 小結 150

第5章 FFmpeg流媒體 151

5.1 FFmpeg發布與錄制RTMP流 151

5.1.1 RTMP參數說明 152

5.1.2 RTMP參數舉例 152

5.2 FFmpeg錄制RTSP流 159

5.2.1 RTSP參數說明 159

5.2.2 RTSP參數使用舉例 159

5.3 FFmpeg錄制HTTP流 163

5.3.1 HTTP參數說明 163

5.3.2 HTTP參數使用舉例 163

5.3.3 HTTP拉流錄制 166

5.3.4 拉取HTTP中的流錄制FLV 166

5.4 FFmpeg錄制和發布UDP / TCP流 166

5.4.1 TCP與UDP參數說明 166

5.4.2 TCP參數使用舉例 167

5.4.3 TCP/UDP使用小結 172

5.5 FFmpeg推多路流 173

5.5.1 管道方式輸出多路流 173

5.5.2 tee封裝格式輸出多路流 174

5.5.3 tee協議輸出多路流 175

5.6 FFmpeg生成HDS流 176

5.6.1 HDS參數說明 177

5.6.2 HDS使用舉例 177

5.7 FFmpeg生成DASH流 179

5.7.1 DASH參數說明 180

5.7.2 DASH參數使用舉例 180

5.8 小結 181

第6章 FFmpeg濾鏡使用 182

6.1 FFmpeg濾鏡Filter描述格式 182

6.1.1 FFmpeg濾鏡Filter的參數排列方式 182

6.1.2 FFmpeg濾鏡Filter時間內置變量 183

6.2 FFmpeg為視頻加水印 183

6.2.1 文字水印 183

6.2.2 圖片水印 187

6.3 FFmpeg生成畫中畫 189

6.4 FFmpeg視頻多宮格處理 192

6.5 FFmpeg音頻流濾鏡操作 193

6.5.1 雙聲道合并單聲道 193

6.5.2 雙聲道提取 194

6.5.3 雙聲道轉雙音頻流 195

6.5.4 單聲道轉雙聲道 196

6.5.5 兩個音頻源合并雙聲道 197

6.5.6 多個音頻合并為多聲道 198

6.6 FFmpeg音頻音量探測 199

6.6.1 音頻音量獲得 199

6.6.2 繪制音頻波形 200

6.7 FFmpeg為視頻加字幕 201

6.7.1 ASS字幕流寫入視頻流 201

6.7.2 ASS字幕流寫入封裝容器 202

6.8 FFmpeg視頻摳圖合并 205

6.9 FFmpeg 3D視頻處理 206

6.9.1 stereo3d處理3D視頻 206

6.9.2 3D圖像轉換舉例 207

6.10 FFmpeg定時視頻截圖 208

6.10.1 vframe參數截取一張圖片 208

6.10.2 fps濾鏡定時獲得圖片 209

6.11 FFmpeg生成測試元數據 210

6.11.1 FFmpeg生成音頻測試流 210

6.11.2 FFmpeg生成視頻測試流 211

6.12 FFmpeg對音視頻倍速處理 212

6.12.1 atempo音頻倍速處理 212

6.12.2 setpts視頻倍速處理 213

6.13 小結 215

第7章 FFmpeg采集設備 216

7.1 FFmpeg中Linux設備操作 216

7.1.1 Linux下查看設備列表 216

7.1.2 Linux采集設備fbdev參數說明 217

7.1.3 Linux采集設備fbdev使用舉例 217

7.1.4 Linux采集設備v4l2參數說明 218

7.1.5 Linux采集設備v4l2使用舉例 218

7.1.6 Linux采集設備x11grab參數說明 220

7.1.7 Linux采集設備x11grab使用舉例 220

7.2 FFmpeg中OS X設備操作 222

7.2.1 OS X下查看設備列表 223

7.2.2 OS X下設備采集舉例 223

7.3 FFmpeg中Windows設備操作 227

7.3.1 FFmpeg使用dshow采集音視頻設備 227

7.3.2 FFmpeg使用vfwcap采集視頻設備 228

7.3.3 FFmpeg使用gdigrab采集窗口 229

7.4 小結 230

第二部分 FFmpeg的API使用篇

第8章 FFmpeg接口libavformat的使用 232

8.1 音視頻流封裝 232

8.2 音視頻文件解封裝 235

8.3 音視頻文件轉封裝 237

8.4 視頻截取 240

8.5 avio內存數據操作 242

8.6 小結 244

第9章 FFmpeg接口libavcodec的使用 245

9.1 FFmpeg舊接口的使用 245

9.1.1 FFmpeg舊接口視頻解碼 245

9.1.2 FFmpeg舊接口視頻編碼 248

9.1.3 FFmpeg舊接口音頻解碼 251

9.1.4 FFmpeg舊接口音頻編碼 252

9.2 FFmpeg新接口的使用 254

9.2.1 FFmpeg新接口音頻編碼 255

9.2.2 FFmpeg新接口音頻解碼 257

9.2.3 FFmpeg新接口視頻編碼 260

9.2.4 FFmpeg新接口視頻解碼 260

9.3 小結 261

第10章 FFmpeg接口libavfilter的使用 262

10.1 filtergraph和filter簡述 262

10.2 FFmpeg中預留的濾鏡 263

10.2.1 音頻濾鏡 263

10.2.2 視頻濾鏡 265

10.3 avfilter流程圖 271

10.4 使用濾鏡加LOGO操作 272

10.5 小結 275
序: