注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑結(jié)構(gòu)Android音視頻開發(fā)

Android音視頻開發(fā)

Android音視頻開發(fā)

定 價(jià):¥99.00

作 者: 何俊林
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787121349966 出版時(shí)間: 2018-11-01 包裝: 平裝
開本: 16開 頁數(shù): 468 字?jǐn)?shù):  

內(nèi)容簡介

  近年來,直播、短視頻行業(yè)的相關(guān)業(yè)務(wù)發(fā)展迅猛,本書主要介紹其中涉及的Android音視頻開發(fā)相關(guān)技術(shù)。本書一共有11章,分別介紹了音視頻基礎(chǔ)知識、MediaPlayer、MediaPlayerService、StagefrightPlayer、NuPlayer、OpenMAX框架、FFmpeg項(xiàng)目、FFmpeg源碼分析及實(shí)戰(zhàn)、直播技術(shù)、H.264編碼及H.265編碼、視頻格式分析內(nèi)容。希望本書能幫助讀者系統(tǒng)學(xué)習(xí)、化繁為簡,在Android音視頻開發(fā)的道路上不斷進(jìn)步。本書適合具有一定Android開發(fā)基礎(chǔ)并且對音視頻技術(shù)方向感興趣的讀者閱讀。

作者簡介

  何俊林,曾就職于愛奇藝,先后參與TV播放器業(yè)務(wù)和需求開發(fā),以及TV新播放內(nèi)核開發(fā)和維護(hù)。主要研究方向?yàn)槎嗝襟w、音視頻、Codec相關(guān)方向。長期在CSDN上堅(jiān)持寫博客,2016獲得CSDN音視頻之星、年度博客之星。愛好開源,樂于研究和分享技術(shù)。同時(shí)運(yùn)營公號“何俊林”,超過4w+人關(guān)注。

圖書目錄

第1章 音視頻基礎(chǔ)知識 1

1.1 視頻編碼 1

1.2 音頻編碼 2

1.3 多媒體播放組件(Android、iOS) 2

1.4 常見的多媒體框架及解決方案 3

1.5 相關(guān)知識點(diǎn) 4

1.5.1 幀率 4

1.5.2 分辨率 4

1.5.3 刷新率 4

1.5.4 編碼格式 4

1.5.5 封裝格式 4

1.5.6 碼率 5

1.5.7 畫質(zhì)與碼率 5

1.5.8 DTS與PTS 5

1.5.9 YUV與RGB 5

1.5.10 視頻幀及音頻幀 5

1.5.11 量化精度 6

1.5.12 采樣率 6

1.5.13 聲道 6

第2章 常用的系統(tǒng)播放器MediaPlayer 8

2.1 狀態(tài)圖及生命周期 8

2.2 從創(chuàng)建到setDataSource過程 12

2.2.1 從創(chuàng)建到setDisplay過程 12

2.2.2 創(chuàng)建過程 13

2.2.3 setDataSource過程 16

2.2.4 setDisplay過程 20

2.3 開始prepare后的流程 22

2.4 C++中MediaPlayer的C/S架構(gòu) 31

第3章 管理調(diào)度的服務(wù)者M(jìn)ediaPlayerService 40

3.1 Client/Server通過IPC的通信流程圖 40

3.2 相關(guān)聯(lián)的類圖 42

3.3 產(chǎn)生過程 43

3.4 添加服務(wù)的過程 48

3.5 通過BinderDriver和MediaPlayer通信的過程 50

3.6 創(chuàng)建播放器 55

3.7 建立StageFright層交互 58

第4章 StagefrightPlayer(AwesomePlayer) 60

4.1 AwesomePlayer構(gòu)造過程 60

4.2 AwesomePlayer使用MediaExtractor進(jìn)行數(shù)據(jù)解析的過程 66

4.3 AwesomePlayer解碼過程 69

4.3.1 AwesomePlayer中的prepare過程 69

4.3.2 初始化音視頻解碼器過程 73

4.3.3 使用OMXCodec的解碼過程 75

4.4 AwesomePlayer的渲染輸出過程 80

4.4.1 用一張圖回顧數(shù)據(jù)處理過程 80

4.4.2 視頻渲染器構(gòu)建過程 81

4.4.3 將音頻數(shù)據(jù)放到Buffer的過程 87

4.4.4 AudioPlayer在AwesomePlayer中的運(yùn)行過程 91

4.4.5 音視頻同步 93

4.4.6 音視頻輸出 96

4.5 概要總結(jié) 97

第5章 流媒體播放的新生力量NuPlayer 98

5.1 NuPlayer整體結(jié)構(gòu) 98

5.2 NuPlayer的構(gòu)建過程 100

5.3 NuPlayer的數(shù)據(jù)解析模塊 102

5.4 NuPlayer的解碼模塊 107

5.5 NuPlayer的渲染模塊 109

第6章 OpenMAX(OMX)框架 118

6.1 Codec部分中的AwesomePlayer到OMX服務(wù) 118

6.1.1 OpenMAX與StageFright框架層級的關(guān)系 118

6.1.2 OMX的初始化流程 120

6.1.3 OMX中NodeInstance列表的管理 127

6.1.4 OMX中NodeInstance節(jié)點(diǎn)的操作 127

6.1.5 總結(jié)AwesomePlayer到OMX服務(wù)過程 130

6.2 Codec部分中的OMXCodec與OMX事件回調(diào)流程 131

6.2.1 OMXCodec與OMX callback事件的處理時(shí)序圖 132

6.2.2 如何從OMX中分發(fā)事件到OMXCodec 133

6.2.3 緩沖區(qū)更新過程 135

6.2.4 消息回調(diào) 137

6.3 MediaCodec相關(guān)知識 139

6.3.1 MediaCodec的基本認(rèn)識 139

6.3.2 從創(chuàng)建到Start過程 148

6.3.3 MediaCodec到OMX框架過程 154

6.3.4 MediaCodec硬解碼 158

第7章 FFmpeg項(xiàng)目 161

7.1 FFmpeg簡介 161

7.2 在Windows下編譯FFmpeg 163

7.2.1 MSYS2 164

7.2.2 Yasm 164

7.2.3 開始編譯FFmpeg-3.1.3 166

7.2.4 創(chuàng)建shell編譯腳本 167

7.2.5 編譯動(dòng)態(tài)庫.so 169

7.2.6 編譯靜態(tài)庫.a(chǎn) 171

7.3 在Linux下編譯FFmpeg 172

7.3.1 在/etc/profile.d下配置環(huán)境變量 172

7.3.2 開始編譯FFmpeg-3.1.3 174

7.3.3 編寫shell腳本 175

7.3.4 編譯動(dòng)態(tài)庫.so 176

7.3.5 編譯靜態(tài)庫.a(chǎn) 178

7.4 在Mac OS下編譯FFmpeg 179

7.4.1 下載源碼及配置環(huán)境變量 179

7.4.2 開始編譯FFmpeg-3.1.3 183

7.4.3 編寫shell腳本 183

7.4.4 編譯動(dòng)態(tài)庫.so 185

7.4.5 編譯靜態(tài)庫.a(chǎn) 187

7.5 FFmpeg常用命令 189

7.5.1 改變幀率、碼率和文件大小 189

7.5.2 調(diào)整視頻分辨率 190

7.5.3 裁剪/填充視頻 191

7.5.4 翻轉(zhuǎn)和旋轉(zhuǎn)視頻 193

7.5.5 模糊和銳化視頻 196

7.5.6 畫中畫 197

7.5.7 在視頻上添加文字 201

7.5.8 文件格式轉(zhuǎn)換 205

7.5.9 時(shí)間操作 207

第8章 FFmpeg源碼分析及實(shí)戰(zhàn) 208

8.1 FFmpeg常用結(jié)構(gòu)體分析 208

8.1.1 AVFormatConext 209

8.1.2 AVInputFormat 211

8.1.3 AVStream 212

8.1.4 AVCodecContext 215

8.1.5 AVPacket 216

8.1.6 AVCodec 218

8.1.7 AVFrame 219

8.1.8 AVIOContext 222

8.1.9 URLProtocol 223

8.1.10 URLContext 224

8.2 FFmpeg關(guān)鍵函數(shù)介紹 225

8.2.1 av_register_all函數(shù) 225

8.2.2 avformat_alloc_context函數(shù) 226

8.2.3 avio_open函數(shù) 226

8.2.4 avformat_open_input函數(shù) 229

8.2.5 avformat_find_stream_info函數(shù) 232

8.2.6 av_read_frame函數(shù) 246

8.2.7 av_write_frame函數(shù) 252

8.2.8 avcodec_decode_video2函數(shù) 256

8.3 FFmpeg案例(代碼實(shí)現(xiàn)) 264

8.3.1 利用FFmpeg轉(zhuǎn)換格式 264

8.3.2 在實(shí)時(shí)流中抓取圖像 269

8.3.3 在視頻中加入水印 277

8.3.4 FFmpeg音頻解碼 288

8.3.5 FFmpeg視頻解碼 300

8.4 FFPlay原理 308

8.4.1 注冊所有容器格式和Codec 309

8.4.2 打開流文件 309

8.4.3 讀取數(shù)據(jù) 311

8.4.4 保存數(shù)據(jù) 318

8.4.5 音視頻同步 322

8.4.6 音視頻輸出 326

第9章 直播技術(shù) 328

9.1 直播原理 328

9.2 直播架構(gòu) 328

9.3 直播過程 329

9.3.1 采集數(shù)據(jù) 329

9.3.2 渲染處理 332

9.3.3 編碼數(shù)據(jù) 333

9.3.4 推流 335

9.3.5 CDN分發(fā) 338

9.3.6 拉流 341

9.3.7 播放流數(shù)據(jù) 341

9.3.8 直播推流完整案例 343

9.4 流媒體服務(wù)器搭建 377

9.5 FFmpeg推流到流媒體服務(wù)器的過程 384

9.6 直播優(yōu)化那些事 387

9.6.1 卡頓優(yōu)化 387

9.6.2 延時(shí)優(yōu)化 388

9.6.3 數(shù)據(jù)代理優(yōu)化 389

9.6.4 首屏秒開優(yōu)化 390

9.6.5 弱網(wǎng)優(yōu)化 391

9.6.6 運(yùn)營商劫持優(yōu)化 391

9.6.7 CDN節(jié)點(diǎn)優(yōu)化 393

第10章 H.264編碼及H.265編碼 395

10.1 H.264編碼框架 395

10.2 H.264編碼原理 395

10.3 H.264碼流分析 397

10.3.1 H.264編碼格式 397

10.3.2 NAL Header 397

10.3.3 H.264的傳輸 399

10.3.4 H.264碼流結(jié)構(gòu) 399

10.3.5 H.264的Level和Profile說明 406

10.4 H.265編碼框架 408

10.4.1 背景知識 408

10.4.2 H.265碼流結(jié)構(gòu) 409

第11章 視頻格式分析 414

11.1 MP4格式分析 414

11.1.1 Box結(jié)構(gòu) 415

11.1.2 MP4總體結(jié)構(gòu) 416

11.1.3 movie(moov)box 416

11.1.4 media box 418

11.1.5 sample table(stbl)box 420

11.2 FLV格式分析 422

11.2.1 FLV文件結(jié)構(gòu) 422

11.2.2 File Header(文件頭) 422

11.2.3 Body 423

11.2.4 Tag 423

11.3 F4V格式分析 428

11.3.1 file type box 429

11.3.2 movie box 430

11.3.3 movie header box 430

11.3.4 track box 430

11.3.5 media box 431

11.3.6 media information box 433

11.3.7 sample table box 433

11.4 TS格式分析 437

11.4.1 TS格式介紹 437

11.4.2 TS流包含的內(nèi)容 438

11.4.3 TS包頭解析 438

11.4.4 TS包傳輸部分 440

11.4.5 節(jié)目專用信息PSI(Program Specific Information) 440

11.5 AVI格式分析 444

11.5.1 AVI整體結(jié)構(gòu) 445

11.5.2 AVI信息塊('hdrl' LIST塊) 446

11.5.3 AVI數(shù)據(jù)塊('movi' LIST塊) 447

11.5.4 AVI索引塊('idxl'子塊) 448

11.6 ASF格式分析 448

11.6.1 認(rèn)識ASF 448

11.6.2 ASF文件整體結(jié)構(gòu) 449

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號