音視頻開發進階指南:基於Android與iOS平颱的實踐

音視頻開發進階指南:基於Android與iOS平颱的實踐 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
展曉凱 魏曉紅 著

下載链接在页面底部


點擊這裡下載
    

想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-27


圖書介紹


齣版社: 機械工業齣版社
ISBN:9787111585824
版次:1
商品編碼:12292642
品牌:機工齣版
包裝:平裝
開本:16開
齣版時間:2017-12-01
用紙:膠版紙
頁數:423


類似圖書 點擊查看全場最低價

相關圖書





圖書描述

編輯推薦

適讀人群 :開發工程師, 你們隻需要一點移動開發經驗就可以閱讀本書瞭;當然如果你已經是一個Senior的移動開發工程師或者架構師的話,那麼你讀起來更會是遊刃有餘;再進一步,如果你已

作者團隊由來自國內一綫移動互聯網公司的技術專傢組成,不僅能確保內容的專業性,而且能把實際一綫豐富的經驗帶給讀者,並在github上開源瞭書中的所有項目,讓讀者可以更容易的集成到自己的App中,對於移動端的音視頻開發者來講,這本書可以作為枕邊書。


內容簡介

書中首先通過介紹音視頻的物理現象與基礎概念,幫助讀者建立模擬信號到數字信號轉化的過程,然後重點介紹瞭如何在移動端開發音視頻項目,其中包括開發中所需要瞭解的各種知識,如音視頻的解碼與渲染,采集與編碼,音視頻的處理與性能優化等;在此基礎上最後綜閤當下*流行的直播場景,介紹如何將書中的已有項目改造、適配成為一個直播産品,進一步幫助讀者自由、有效的開發齣功能豐富、性能一流的音視頻App。


作者簡介

展曉凱

曾工作於淘寶,參與設計開發淘寶旅行的機票搜索業務,曾就職於115網盤參與核心功能的研發,現就職於北京*淘科技有限公司,任音視頻架構師,在公司的唱吧、唱吧直播間、火星三條産品綫都負責客戶端核心的架構設計與開發工作,其中唱吧目前公布的數據已有幾億用戶,月活也在韆萬量級。作者在工作與生活中非常樂於幫助同事與朋友,癡迷於互聯網可以推動整個人類曆史的發展,同時作為這個大時代的一個小人物,作者也希望幫助更多的人參與到互聯網行業中。

魏曉紅

多年以來一直從事Android應用的開發工作,在Android點播、直播相關領域有著豐富的經驗,由於開發的産品在印度有非常多的Android用戶,所以這讓其積纍瞭豐富的Android端適配的經驗,作者在平時的工作與生活中樂於探討技術,希望互利網可以改變人類生活。


精彩書評

4G的普及帶來瞭移動互聯網多媒體內容的繁榮,基本每個大的app,沒有視頻,不做直播都有點不好意思。但是真正要把音視頻處理好,讓用戶僅僅依賴弱小的手機處理器實現完美的音視頻錄製、特效處理以及高效的直播互動並不是件容易的事情。本書是展曉凱及同事們在唱吧的音視頻實踐中積纍的大量經驗教訓,是一本從入門到精通教人如何在手機裏處理音視頻的技術書籍,希望能夠對行業的整體技術水平有所幫助。

---- 唱吧CEO 陳華


強烈推薦此書給音視頻領域的新人,曉凱結閤自身豐富實戰經驗,深入淺齣的將音視頻開發的訣竅娓娓道來,讓音視頻開發無難事。

---- 金山雲閤夥人,視頻生態部總經理 林鬆


曉凱專注於音視頻領域多年,跳過各種坑、踩過各種雷,積纍的理論和實際經驗都相當豐富,相信他的這本書能傳遞他在音視頻方麵的經驗並幫助到有需要的移動開發者。

---- iOS逆嚮專傢 吳航


這是一本能把我們引入音視頻開發領域,並嚮更深層次翱翔的指南性書籍。它不僅將長期以來束之高閣的技術拉到我們麵前,還全方位,多角度的闡述瞭這種技術在移動互聯網市場中的運用。而*重要的是,這本書的作者是具有多年音視頻底層開發經驗,並開發瞭當今*火的手機KTV軟件《唱吧》。我相信透過這本書所傳遞齣來的知識和經驗,會成為助我們點燃成功的火種。所以,我建議每一位想要從事這方麵工作的工程師或者經理來閱讀這本書。

---Unity金牌講師,燦黎網絡CEO 呂劍鋒


目錄

Contents?目  錄
推薦序一
推薦序二
前言
第1章 音視頻基礎概念 1
1.1 聲音的物理性質 1
1.1.1 聲音是波 1
1.1.2 聲波的三要素 2
1.1.3 聲音的傳播介質 3
1.1.4 迴聲 3
1.1.5 共鳴 4
1.2 數字音頻 4
1.3 音頻編碼 6
1.4 圖像的物理現象 7
1.5 圖像的數值錶示 8
1.5.1 RGB錶示方式 8
1.5.2 YUV錶示方式 9
1.5.3 YUV和RGB的轉化 10
1.6 視頻的編碼方式 10
1.6.1 視頻編碼 10
1.6.2 編碼概念 11
1.7 本章小結 13
第2章 移動端環境搭建 14
2.1 在iOS上如何搭建一個基礎項目 14
2.2 在Android上如何搭建一個基礎項目 21
2.3 交叉編譯的原理與實踐 26
2.3.1 交叉編譯的原理 26
2.3.2 iOS平颱交叉編譯的實踐 27
2.3.3 Android平颱交叉編譯的實踐 33
2.3.4 使用LAME編碼MP3文件 38
2.4 本章小結 42
第3章 FFmpeg的介紹與使用 43
3.1 FFmpeg的編譯與命令行工具的使用 43
3.1.1 FFmpeg的編譯 43
3.1.2 FFmpeg命令行工具的使用 51
3.2 FFmpeg API的介紹與使用 60
3.3 FFmpeg源碼結構 68
3.3.1 libavformat與libavcodec介紹 68
3.3.2 FFmpeg通用API分析 69
3.3.3 調用FFmpeg解碼時用到的函數分析 70
3.3.4 調用FFmpeg編碼時用到的函數分析 71
3.3.5 麵嚮對象的C語言設計 72
3.4 本章小結 74
第4章 移動平颱下的音視頻渲染 75
4.1 AudioUnit介紹與實踐 75
4.2 Android平颱的音頻渲染 84
4.2.1 AudioTrack的使用 85
4.2.2 OpenSL ES的使用 87
4.3 視頻渲染 90
4.3.1 OpenGL ES介紹 90
4.3.2 OpenGL ES的實踐 91
4.3.3 上下文環境搭建 98
4.3.4 OpenGL ES中的紋理 104
4.4 本章小結 109
第5章 實現一款視頻播放器 110
5.1 架構設計 110
5.2 解碼模塊的實現 115
5.3 音頻播放模塊的實現 118
5.3.1 Android平颱的音頻渲染 118
5.3.2 iOS平颱的音頻渲染 119
5.4 畫麵播放模塊的實現 121
5.4.1 Android平颱的視頻渲染 121
5.4.2 iOS平颱的視頻渲染 122
5.5 AVSync模塊的實現 124
5.5.1 維護解碼綫程 124
5.5.2 音視頻同步 125
5.6 中控係統串聯起各個模塊 127
5.6.1 初始化階段 127
5.6.2 運行階段 128
5.6.3 銷毀階段 129
5.7 本章小結 130
第6章 音視頻的采集與編碼 131
6.1 音頻的采集 131
6.1.1 Android平颱的音頻采集 131
6.1.2 iOS平颱的音頻采集 134
6.2 視頻畫麵的采集 137
6.2.1 Android平颱的視頻畫麵采集 137
6.2.2 iOS平颱的視頻畫麵采集 146
6.3 音頻的編碼 156
6.3.1 libfdk_aac編碼AAC 156
6.3.2 Android平颱的硬件編碼器MediaCodec 158
6.3.3 iOS平颱的硬件編碼器AudioToolbox 161
6.4 視頻畫麵的編碼 166
6.4.1 libx264編碼H264 166
6.4.2 Android平颱的硬件編碼器MediaCodec 172
6.4.3 iOS平颱的硬件編碼器 175
6.5 本章小結 184
第7章 實現一款視頻錄製應用 185
7.1 視頻錄製的架構設計 185
7.2 音頻模塊的實現 188
7.2.1 音頻隊列的實現 189
7.2.2 Android平颱的實現 191
7.2.3 iOS平颱的實現 194
7.3 音頻編碼模塊的實現 198
7.3.1 改造編碼器 198
7.3.2 編碼器適配器 199
7.4 畫麵采集與編碼模塊的實現 202
7.4.1 視頻隊列的實現 202
7.4.2 Android平颱畫麵編碼後入隊 203
7.4.3 iOS平颱畫麵編碼後入隊 204
7.5 Mux模塊 205
7.5.1 初始化 206
7.5.2 封裝和輸齣 208
7.5.3 銷毀資源 212
7.6 中控係統串聯起各個模塊 213
7.7 本章小結 214
第8章 音頻效果器的介紹與實踐 215
8.1 數字音頻基礎 215
8.1.1 波形圖 215
8.1.2 頻譜圖 217
8.1.3 語譜圖 219
8.1.4 深入理解時域與頻域 219
8.2 數字音頻處理:快速傅裏葉變換 222
8.3 基本樂理知識 229
8.3.1 樂譜 229
8.3.2 音符的音高與十二平均律 231
8.3.3 音符的時值 233
8.3.4 節拍 233
8.3.5 MIDI格式 234
8.4 混音效果器 235
8.4.1 均衡效果器 236
8.4.2 壓縮效果器 239
8.4.3 混響效果器 240
8.5 效果器實現 243
8.5.1 Android平颱實現效果器 243
8.5.2 iOS平颱實現效果器 252
8.6 本章小結 255
第9章 視頻效果器的介紹與實踐 256
9.1 圖像處理的基本原理 256
9.1.1 亮度調節 257
9.1.2 對比度調節 258
9.1.3 飽和度調節 259
9.2 圖像處理進階 259
9.2.1 圖像的捲積過程 260
9.2.2 銳化效果器 260
9.2.3 高斯模糊算法 262
9.2.4 雙邊濾波算法 263
9.2.5 圖層混閤介紹 264
9.3 使用FFmpeg內部的視頻濾鏡 266
9.3.1 FFmpeg視頻濾鏡介紹 266
9.3.2 濾鏡圖的構建 267
9.3.3 使用與銷毀濾鏡圖 269
9.3.4 常用濾鏡介紹 270
9.4 使用OpenGL ES實現視頻濾鏡 272
9.4.1 加水印 273
9.4.2 添

前言/序言

Preface?前  言為什麼要寫這本書整個音視頻領域的架構以及開發已經演進瞭很長時間,從最開始的廣電領域,到PC端的音視頻領域,再到本書所介紹的移動端的音視頻領域。尤其在這幾年中,移動端音視頻領域架構的變化是巨大的。在移動互聯網的發展熱潮中,我有幸從事瞭音視頻領域的設計與開發,並且就職於最時尚的手機KTV——唱吧,這使得我開發齣來的東西能夠服務於幾億用戶。對於音視頻的移動端的應用,不論是開發還是使用,在近兩年都達到瞭一個高峰,而作為一名工程師,如何高效地開發齣一個音視頻App,是一件非常睏難的事情,特彆是對於不太瞭解音視頻概念的工程師。我從事軟件開發已有7年多的時間,接觸音視頻領域也已經有5年多,在整個開發過程中,不同的時間段會遇到不同的挑戰,尤其是在最開始涉足音視頻領域的時候,真可謂舉步維艱。首先,對於音視頻的基礎概念不是特彆清楚,再者在工作中邊學邊做,很難對整個音視頻領域有一個全麵的瞭解,並且市麵上沒有相關成熟的資料從更高的層次來介紹音視頻領域在移動端的演進與發展。這幾年的設計實戰與開發經驗,以及帶新人入門的眾多感觸,讓我有瞭寫這本書的動力,同時也形成瞭這本書的核心內容,我希望通過本書可以幫助更多想要在移動端音視頻領域實現自己想法的工程師,讓大傢可以順利地建立起自己的音視頻App。我非常希望能為剛入門的讀者或者遇到睏難的讀者提供幫助,希望大傢可以享受整個開發的過程,享受自己開發的産品為人們的生活帶來便利的成就感。另外,從整個音視頻開發領域來講,我也十分希望能夠通過本書貢獻齣自己的綿薄之力。
讀者對象産品經理,這部分讀者可以從中瞭解在移動端進行音視頻開發會遇到的很多問題以及對應的優化策略,例如:如何通過音視頻的統計數據為産品提供更加流暢的策略(視頻觀看的秒開、直播推流的流暢度、視頻上傳的成功率等)。
項目經理,這部分讀者可以瞭解很多時下流行的名詞與概念,不再會因為幾個專業名詞就讓自己不知所措,並且有助於更好地評估音視頻項目開發中的風險與進度。
測試人員,這部分讀者可以學習在音視頻App中由於處理過程不同而導緻的瓶頸問題,書中也提到瞭一些自動化測試相關的命令以及工具,可以對CPU的負載情況、內存的占用情況、內存泄漏問題等進行分析。
架構師與工程師,這部分讀者隻需要一點移動開發經驗就可以閱讀本書瞭。當然如果你已經是一個高級移動開發工程師或者架構師,那麼讀起本書來將更加遊刃有餘。再進一步,如果你已經是移動領域的音視頻開發工程師瞭,那麼恭喜你,我們之間將會有一場關於技術領域內部的對話。
開設相關課程的高等院校。
如何閱讀本書為瞭避免說教式的講解帶來枯燥乏味的閱讀體驗,本書給齣瞭大量的實例及生産環境下的案例。本書可分為四個部分:第一部分是入門,從理論基礎開始講解,最終會産生兩個實踐項目;第二部分是提高,基於第一部分的項目添加特效,形成一個完整的多媒體項目;第三部分是擴展,結閤當下比較流行的直播場景進行實際案例分析;第四部分是工具,介紹當下大部分可以提高開發以及測試效率的工具。下麵是各個章節的基本介紹。
第1章,介紹音視頻的基礎概念,其中包括音視頻的基礎數據格式、編碼後的數據格式以及不同格式之間的相互轉換等。
第2章,從零開始講解如何搭建一個iOS項目和一個Android項目,並且添加C++支持,因為在音視頻領域的開發中,有相當一部分的代碼需要用C++來編寫,這樣就可以做到兩個平颱(Android和iOS平颱)共用一套代碼倉庫,以提升開發效率。然後講解交叉編譯,因為在音視頻開發過程中會用到很多第三方開源庫,如果將這些庫編譯到我們的項目中,勢必要進行交叉編譯,因此本章會重點講解這些內容。
第3章,探討FFmpeg開源庫。對於音視頻開發來講,FFmpeg開源庫是眾所周知也是普遍使用的。本章首先從編譯開始,接著是命令行使用,再到源碼結構,最後是API調用,以層層遞進的方式對FFmpeg開源庫展開介紹。
第4章,講解如何利用各自平颱的API進行聲音與畫麵的渲染以及解碼,對於畫麵的渲染,推薦使用OpenGL ES,兩個平颱可以使用同一個代碼倉庫。
第5章,實現一款視頻播放器。有瞭前四章的基礎,我們已經完全可以構建起一個視頻播放器瞭。本書最大的特點就是經過幾章基礎知識的學習立即開始一個項目的實踐,通過本章的視頻播放器項目,我們將會熟悉播放器是如何工作的。
第6章,重點介紹音視頻的采集與編碼器。特彆是硬件編解碼器在各個平颱上的使用,使得應用能夠更高效(耗電更少、發熱更少、界麵更流暢)地運行在用戶的手機上。
第7章,繼續開發一個視頻錄製的新項目,該項目可以使我們更加熟悉音視頻應用在各個平颱下的實現。
第8章,講解如何處理音頻流。畢竟讓彆人聽采集齣來的乾聲是很不禮貌的,本章將利用各種特效來美化采集的聲音。
第9章,講解如何處理視頻流,使視頻中的顔值變得更高,畢竟愛美之心人皆有之。
音視頻開發進階指南:基於Android與iOS平颱的實踐 下載 mobi epub pdf txt 電子書 格式

音視頻開發進階指南:基於Android與iOS平颱的實踐 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

音視頻開發進階指南:基於Android與iOS平颱的實踐 下載 mobi pdf epub txt 電子書 格式 2024

音視頻開發進階指南:基於Android與iOS平颱的實踐 下載 mobi epub pdf 電子書
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

書的質感很好,內容慢慢學習

評分

很好很不錯很好很不錯很好很不錯

評分

不錯啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

評分

可以的可以的可以的可以的

評分

不啊啊啊KKK咯摸摸默默KKK頭也辛苦下在真轉

評分

已經收到貨瞭,質量還不錯

評分

書的質量不錯,內容太淺瞭,簡單

評分

價格不錯,送貨準時,品質如一

評分

習慣性好評,並無參考價值

類似圖書 點擊查看全場最低價

音視頻開發進階指南:基於Android與iOS平颱的實踐 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.cndgn.com All Rights Reserved. 新城書站 版权所有