視頻H264編碼

一.學習背景

5G網絡作為第5代的移動通信網絡,它的網絡峰值傳播速度可1以達到10Gbps/s.這比4G的的傳輸速度快數(shù)百倍.舉個例子,整部超高畫質電影下載可在1秒鐘之內下載完成.

當然,隨著5G技術的誕生,用在智能終端分享3D電影,游戲或者超高畫質節(jié)目的時代已經毫無懸念的向我們走來.

想必大家也逐步了解,國內外的互聯(lián)網公司也已經布局音視頻,3D技術方面的開發(fā)者招聘和相關產品研發(fā).目前落地推廣最普遍的就是直播類項目和小視頻類的項目.當然未來的方向肯定不止如此.

那么我們現(xiàn)在帶著問題來學習?

  • 為何編碼?
  • 何為編碼?

1.1 為何編碼?

從存儲角度和網絡傳輸以及通用性 3個角度,壓縮已經成了不可或缺的動作.壓縮編碼最基本的指標,就是壓縮比. 壓縮比通常都是小于1(如果等于或者大于1,是不是就失去了編碼的意義了.編碼的目的就是為了壓縮數(shù)據體量).

1.2 何為編碼?

編碼就是按照一定的格式記錄采樣和量化后的數(shù)據.

1.2.1編碼中軟編碼和硬編碼的區(qū)別?

  • 硬編碼: 使用非CPU進行編碼,例如使用GPU芯片處理
  • 軟編碼: 使用CPU來進行編碼計算.

1.2.2 軟編碼與硬編碼的區(qū)分?

  • 軟編碼: 實現(xiàn)直接科乎、簡單疮方,參數(shù)調整方便肢簿,升級易,但CPU負載重寺晌,性能較硬編碼低,低碼率下質量通常比硬編碼要好一點尔邓。
  • 硬編碼:性能高名秀,低碼率下通常質量低于硬編碼器,但部分產品在GPU硬件平臺移植了優(yōu)秀的軟編碼算法(如X264)的,質量基本等同于軟編碼棚壁。

讀者理解:
硬編碼,就是使用GPU計算,獲取數(shù)據結果,優(yōu)點速度快,效率高.
軟編碼,就是通過CPU來計算,獲取數(shù)據結果.

1.2.3 壓縮算法

壓縮算法分為2種,有損壓縮與無損壓縮.

  • 無損壓縮:解壓后的數(shù)據可以完全復原,在常用的壓縮格式中,無損壓縮使用頻次較低
  • 有損壓縮:解壓后數(shù)據不能完全復原,會丟失一部分信息.壓縮比越小,丟失的信息就會越多.信號還原的失真就會越大.

需要根據不同的場景(考慮因素包括存儲設備,傳輸網絡環(huán)境,播放設備等)選用不同的壓縮編碼算法.

二. 直播APP需求剖析

2.1 直播項目流程

在直播項目中,一般常見有8個步驟.

  • 音視頻采集
  • 視頻濾鏡
  • 音視頻編碼
  • 推流
  • 流媒體服務器處理
  • 拉流
  • 音視頻解碼
  • 音視頻播放

這個在開發(fā)者面試一些有意向或者目前業(yè)務中包含直播需求的公司,最為常見的面試題.不管在我們過往的工作經驗是否有直播或音視頻相關經驗.這個一塊都是你必須能了解.希望大家可以簡單的了解.

2.2 相關框架的學習與使用場景

image
  • 采集視頻,音頻
    • 使用iOS原生框架 AVFoundation.framework
  • 視頻濾鏡處理
    • 使用iOS原生框架 CoreImage.framework
    • 使用第三方框架 GPUImage.framework

CoreImageGPUImage 框架比較:
在實際項目開發(fā)中,開發(fā)者更加傾向使用于GPUImage框架.
首先它在使用性能上與iOS提供的原生框架,并沒有差別;其次它的使用便利性高于iOS原生框架,最后也是最重要的GPUImage框架是開源的.而大家如果想要學習GPUImage框架,建議學習OpenGL ES,其實GPUImage的封裝和思維都是基于OpenGL ES.
GPUImage OC版本下載地址
GPUImage Swift版本下載地址

  • 視頻\音頻編碼壓縮

    • 硬編碼
      • 視頻: VideoToolBox框架
      • 音頻: AudioToolBox 框架
    • 軟編碼
      • 視頻: 使用FFmpeg,X264算法把視頻原數(shù)據YUV/RGB編碼成H264
      • 音頻: 使用fdk_aac 將音頻數(shù)據PCM轉換成AAC
  • 推流

    • 推流: 將采集的音頻.視頻數(shù)據通過流媒體協(xié)議發(fā)送到流媒體服務器
    • 推流技術
      • 流媒體協(xié)議: RTMP\RTSP\HLS\FLV
      • 視頻封裝格式: TS\FLV
      • 音頻封裝格式: Mp3\AAC
  • 流媒體服務器

    • 數(shù)據分發(fā)
    • 截屏
    • 實時轉碼
    • 內容檢測
  • 拉流

    • 拉流: 從流媒體服務器中獲取音頻\視頻數(shù)據
    • 流媒體協(xié)議: RTMP\RTSP\HLS\FLV
  • 音視頻解碼

    • 硬解碼
      • 視頻: VideoToolBox框架
      • 音頻: AudioToolBox 框架
    • 軟解碼
      • 視頻: 使用FFmpeg,X264算法解碼
      • 音頻: 使用fdk_aac 解碼
  • 播放

    • ijkplayer 播放框架
    • kxmovie 播放框架

    ijkplayer,kxmovie 都是基于FFmpeg框架封裝的

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末杯矩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子袖外,更是在濱河造成了極大的恐慌史隆,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曼验,死亡現(xiàn)場離奇詭異泌射,居然都是意外死亡,警方通過查閱死者的電腦和手機鬓照,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門熔酷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人豺裆,你說我怎么就攤上這事拒秘。” “怎么了臭猜?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵躺酒,是天一觀的道長。 經常有香客問我蔑歌,道長羹应,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任次屠,我火速辦了婚禮园匹,結果婚禮上,老公的妹妹穿的比我還像新娘帅矗。我一直安慰自己偎肃,他們只是感情好,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布浑此。 她就那樣靜靜地躺著累颂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凛俱。 梳的紋絲不亂的頭發(fā)上紊馏,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音蒲犬,去河邊找鬼朱监。 笑死,一個胖子當著我的面吹牛原叮,可吹牛的內容都是我干的赫编。 我是一名探鬼主播巡蘸,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼擂送!你這毒婦竟也來了悦荒?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘹吨,失蹤者是張志新(化名)和其女友劉穎搬味,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟀拷,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡碰纬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了问芬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悦析。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖愈诚,靈堂內的尸體忽然破棺而出她按,到底是詐尸還是另有隱情牛隅,我是刑警寧澤炕柔,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站媒佣,受9級特大地震影響匕累,放射性物質發(fā)生泄漏。R本人自食惡果不足惜默伍,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一欢嘿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧也糊,春花似錦炼蹦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钞馁,卻和暖如春虑省,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背僧凰。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工探颈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人训措。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓伪节,卻偏偏與公主長得像光羞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子怀大,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容