流媒體(視頻直播技術(shù))學(xué)習(xí)1-相關(guān)概念

引言

在現(xiàn)在移動互聯(lián)網(wǎng)如火如荼的時代,流媒體業(yè)務(wù)在移動互聯(lián)網(wǎng)業(yè)務(wù)中所占的比重越來越大,特別是今年直播業(yè)務(wù)的興起,使互聯(lián)網(wǎng)社交進(jìn)入了直播時代,直播已經(jīng)成為很多APP特別是社交APP的標(biāo)配業(yè)務(wù)。站在一個程序員的角度(coding角度)來看,直播業(yè)務(wù)其實就是流媒體業(yè)務(wù)。那么流媒體業(yè)務(wù)開發(fā)涉及到哪些方面的知識呢?下面我們來看看一個流媒體數(shù)據(jù)(音頻數(shù)據(jù)和圖像數(shù)據(jù))從采集 ->處理->編碼和格式封裝 -> 傳輸-> 解碼 -> 播放整個過程中所涉及到的知識點。例如一個直播業(yè)務(wù)的流媒體數(shù)據(jù)從采集到播放是這樣的:

直播業(yè)務(wù)的流媒體數(shù)據(jù)從采集到播放.jpeg
采集

采集是整個過程中的第一個環(huán)節(jié),它從系統(tǒng)的采集設(shè)備中獲取原始視頻數(shù)據(jù),將其輸出到下一個環(huán)節(jié)。視頻的采集涉及兩方面數(shù)據(jù)的采集:音頻采集和圖像采集,它們分別對應(yīng)兩種完全不同的輸入源和數(shù)據(jù)格式。

  • 音頻采集

    1. 采集源:麥克風(fēng)、系統(tǒng)聲音或者本地音頻文件等

    2. 采集內(nèi)容:

      采集過程主要通過設(shè)備將環(huán)境中的模擬信號采集成 PCM 編碼的原始數(shù)據(jù),然后編碼壓縮成 MP3 等格式的數(shù)據(jù)分發(fā)出去。
      音頻采集和編碼主要面臨的挑戰(zhàn)在于:延時敏感、卡頓敏感、噪聲消除(Denoise)、回聲消除(AEC)、靜音檢測(VAD)和各種混音算法等。

    在音頻采集階段,參考的主要技術(shù)參數(shù)有 :

    • 采樣率(samplerate):采樣就是把模擬信號數(shù)字化的過程,采樣頻率越高,記錄這一段音頻信號所用的數(shù)據(jù)量就越大,同時音頻質(zhì)量也就越高。

    • 位寬:每一個采樣點都需要用一個數(shù)值來表示大小,這個數(shù)值的數(shù)據(jù)類型大小可以是:4bit、8bit、16bit、32bit 等等,位數(shù)越多,表示得就越精細(xì),聲音質(zhì)量自然就越好,而數(shù)據(jù)量也會成倍增大。我們在音頻采樣過程中常用的位寬是 8bit 或者 16bit。

    • 聲道數(shù)(channels):由于音頻的采集和播放是可以疊加的,因此,可以同時從多個音頻源采集聲音,并分別輸出到不同的揚聲器,故聲道數(shù)一般表示聲音錄制時的音源數(shù)量或回放時相應(yīng)的揚聲器數(shù)量。聲道數(shù)為 1 和 2 分別稱為單聲道和雙聲道,是比較常見的聲道參數(shù)。

    • 音頻幀(frame):音頻跟視頻很不一樣,視頻每一幀就是一張圖像,而從上面的正玄波可以看出,音頻數(shù)據(jù)是流式的,本身沒有明確的一幀幀的概念,在實際的應(yīng)用中,為了音頻算法處理/傳輸?shù)姆奖悖话慵s定俗成取 2.5ms~60ms 為單位的數(shù)據(jù)量為一幀音頻。這個時間被稱之為“采樣時間”,其長度沒有特別的標(biāo)準(zhǔn),它是根據(jù)編解碼器和具體應(yīng)用的需求來決定的。

    根據(jù)以上定義,我們可以計算一下一幀音頻幀的大小。假設(shè)某音頻信號是采樣率為 8kHz、雙通道、位寬為 16bit,20ms 一幀,則一幀音頻數(shù)據(jù)的大小為:

    size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte

  • 圖像采集

    1. 采集源:攝像頭、屏幕錄制或者本地的視頻文件等

    2. 采集內(nèi)容:

      圖像采集圖像采集的圖片結(jié)果組合成一組連續(xù)播放的動畫,即構(gòu)成視頻中可肉眼觀看的內(nèi)容。圖像的采集過程主要由攝像頭等設(shè)備拍攝成 YUV 編碼的原始數(shù)據(jù),然后經(jīng)過編碼壓縮成 H.264 等格式的數(shù)據(jù)分發(fā)出去。

      圖像由于其直觀感受最強(qiáng)并且體積也比較大,構(gòu)成了一個視頻內(nèi)容的主要部分。圖像采集和編碼面臨的主要挑戰(zhàn)在于:設(shè)備兼容性差、延時敏感、卡頓敏感以及各種對圖像的處理操作如美顏和水印等。

      在圖像采集階段,參考的主要技術(shù)參數(shù)有:

      • 圖像傳輸格式:通用影像傳輸格式(Common Intermediate Format)是視訊會議(video conference)中常使用的影像傳輸格式。

      • 圖像格式:通常采用 YUV 格式存儲原始數(shù)據(jù)信息,其中包含用 8 位表示的黑白圖像灰度值,以及可由 RGB 三種色彩組合成的彩色圖像。

      • 傳輸通道:正常情況下視頻的拍攝只需 1 路通道,隨著 VR 和 AR 技術(shù)的日漸成熟,為了拍攝一個完整的 360° 視頻,可能需要通過不同角度拍攝,然后經(jīng)過多通道傳輸后合成。

      • 分辨率:隨著設(shè)備屏幕尺寸的日益增多,視頻采集過程中原始視頻分辨率起著越來越重要的作用,后續(xù)處理環(huán)節(jié)中使用的所有視頻分辨率的定義都以原始視頻分辨率為基礎(chǔ)。視頻采集卡能支持的最大點陣反映了其分辨率的性能。

      • 采樣頻率:采樣頻率反映了采集卡處理圖像的速度和能力。在進(jìn)行高度圖像采集時,需要注意采集卡的采樣頻率是否滿足要求。采樣率越高,圖像質(zhì)量越高,同時保存這些圖像信息的數(shù)據(jù)量也越大。

處理

視頻或者音頻完成采集之后得到原始數(shù)據(jù),為了增強(qiáng)一些現(xiàn)場效果或者加上一些額外的效果,我們一般會在將其編碼壓縮前進(jìn)行處理,比如打上時間戳或者公司 Logo 的水印,祛斑美顏和聲音混淆等處理

常見視頻處理功能:

  1. 美顏

    美顏的主要原理是通過「磨皮+美白」來達(dá)到整體美顏的效果。磨皮的技術(shù)術(shù)語是「去噪」,也即對圖像中的噪點進(jìn)行去除或者模糊化處理,常見的去噪算法有均值模糊、高斯模糊和中值濾波等。當(dāng)然, 由于臉部的每個部位不盡相同,臉上的雀斑可能呈現(xiàn)出眼睛黑點的樣子,對整張圖像進(jìn)行「去噪」處理的時候不需要將眼睛也去掉,因此這個環(huán)節(jié)中也涉及到人臉和皮膚檢測技術(shù)

  2. 視頻水印

    水印是圖片和視頻內(nèi)容中常見的功能之一,它可用于簡單是版權(quán)保護(hù),或者進(jìn)行廣告設(shè)置.也就是在視頻圖像上的某些位置添加上別的圖片或文字。

  3. 濾鏡

    濾鏡介紹

    在 iOS 端可以考慮使用 GPUImage 這個庫,這是一個開源的基于GPU的圖片或視頻的處理框架,內(nèi)置了多達(dá)120多種常見的濾鏡效果。

  4. 特效

    特效其實就是在視頻中添加一組動態(tài)的圖片水印。一般是基于人臉識別的。

編碼和格式封裝
  1. 編碼

    編碼是對從采集源獲取到的數(shù)據(jù)或者處理過的數(shù)據(jù)按照某種規(guī)范進(jìn)行壓縮的技術(shù)。例如:移動端一般將從采集源獲取的音頻原始數(shù)據(jù)(PCM格式)編碼成AAC格式的數(shù)據(jù),常見的音頻壓縮格式有:MP3,AAC,HE-AAC,Opus,F(xiàn)LAC,Vorbis (Ogg),Speex 和 AMR等。從采集源獲取到的原始圖像數(shù)據(jù)(一般是YUV格式的)編碼成 h.264格式的數(shù)據(jù)。為什么要對這些原始數(shù)據(jù)進(jìn)行編碼,主要有兩個原因:

    • 存儲困難 :因為原始數(shù)據(jù),體積很大。
    • 傳輸困難 :占帶寬, 費流量。

    為什么可以壓縮,主要是因為:

    1. 空間冗余:圖像相鄰像素之間有較強(qiáng)的相關(guān)性
    2. 時間冗余:視頻序列的相鄰圖像之間內(nèi)容相似
    3. 編碼冗余:不同像素值出現(xiàn)的概率不同
    4. 視覺冗余:人的視覺系統(tǒng)對某些細(xì)節(jié)不敏感
    5. 知識冗余:規(guī)律性的結(jié)構(gòu)可由先驗知識和背景知識得到

    數(shù)據(jù)壓縮一般分為 無損壓縮(Lossless)和 有損壓縮(Lossy)

    編碼方式:

    1. 軟件編碼 常用FFMpeg多媒體庫,利用CPU做視頻的編碼
    2. 硬件編碼 利用GPU或者專用處理器來對視頻流進(jìn)行編碼

    軟件編碼比較通用,但是占用CPU資源,編解碼效率不高。硬件編碼效率很高。

  1. 封裝格式

    所謂封裝格式也稱多媒體容器 (Multimedia Container),也就是將所有的處理好的視頻、音頻都包裝到一個文件容器內(nèi)呈現(xiàn)給觀眾,這個包裝的過程就叫封裝。常見的視頻封裝格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。

傳輸

傳輸是指:通過互聯(lián)網(wǎng),地面無線廣播,衛(wèi)星等方式將將壓縮的視頻碼流從編碼端傳輸?shù)浇獯a端。

解碼

解碼是對已編碼的視頻數(shù)據(jù)進(jìn)行還原解碼操作。

解碼方式:
> 1. 軟件解碼 常用FFMpeg多媒體庫,利用CPU做視頻的解碼
> 2. 硬件解碼 利用GPU或者專用處理器來對視頻流進(jìn)行解碼

軟件解碼比較通用,但是占用CPU資源,編解碼效率不高。硬件解碼效率很高。

播放

播放就是將解碼后的音頻數(shù)據(jù)通過音響等播放, 將視頻圖像數(shù)據(jù)通過顯示器等顯示。

總結(jié):以上是通過查相關(guān)資料整理后的一些個人理解。可能有誤敬請各位同學(xué)指導(dǎo)批判。后面還會分模塊詳解。其中參考了雷霄驊很多資料,在此向大神表示敬意。

未完待續(xù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,460評論 6 538
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,067評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,467評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,468評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,184評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,582評論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,616評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,794評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,343評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,096評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,291評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,863評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,513評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,941評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,190評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,026評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,253評論 2 375

推薦閱讀更多精彩內(nèi)容

  • [TOC] 音視頻&流媒體 是什么促使我要寫這一篇音視頻入門文章?那是因為和一妹子打賭碼率的概念,結(jié)果輸了;對一個...
    AllenWu閱讀 4,870評論 1 24
  • 前言 說到視頻,大家自己腦子里基本都會想起電影、電視劇、在線視頻等等,也會想起一些視頻格式 AVI、MP4、RMV...
    ForestSen閱讀 23,140評論 10 203
  • 前言:每個成功者多是站在巨人的肩膀上!在做直播開發(fā)時 碰到了很多問題,在收集了許多人博客的基礎(chǔ)上做出來了成功的直播...
    _方丈閱讀 23,534評論 35 330
  • 前言 大半年沒寫博客了,但我一直關(guān)注著互聯(lián)網(wǎng)的動向,最近會研究很多東西,并分享,今年移動直播行業(yè)的興起,誕生了一大...
    flyinskybiu閱讀 6,540評論 1 25
  • <轉(zhuǎn)> 一、個人見解(直播難與易) 直播難:個人認(rèn)為要想把直播從零開始做出來,絕對是牛逼中的牛逼,大牛中的大牛,因...
    XLsn0w閱讀 1,595評論 0 5