Android直播之基本概念(二)

1.直播的采集端(推流端)和播放端

直播的流程:

播放流程: 獲取流–>解碼–>播放
錄制播放路程: 錄制音頻視頻–>剪輯–>編碼–>上傳服務(wù)器 別人播放.
**直播過(guò)程 : **錄制音視頻–>編碼–>流媒體傳輸–>服務(wù)器–>流媒體傳輸?shù)狡渌鸻pp–>解碼–>播放

如下圖所示:


Paste_Image.png

推流端:

直播推流端.png

拉流端:


直播播放端.png

2.音視頻的采集

采集主要包括兩個(gè)方面:視頻采集和音頻采集。

視頻通過(guò)攝像頭進(jìn)行采集,這里面涉及到攝像頭的相關(guān)操作以及攝像頭的參數(shù)設(shè)置,由于各個(gè)手機(jī)廠商的攝像頭存在差異,因此這方面有一些坑,之后的講攝像頭的文章中會(huì)一一講述。音頻通過(guò)麥克風(fēng)進(jìn)行采集,不同手機(jī)的麥克風(fēng)對(duì)音頻采樣率的支持不同,而且有時(shí)候?yàn)榱酥С诌B麥功能需要對(duì)音頻進(jìn)行回聲消除。

視頻采集技術(shù)要點(diǎn):

檢測(cè)攝像頭是否可以使用;
攝像頭采集到的圖像是橫向的,需要對(duì)采集到的圖像進(jìn)行一定的旋轉(zhuǎn)后再進(jìn)行顯示;
攝像頭采集時(shí)有一系列的圖像大小可以選擇,當(dāng)采集的圖像大小和手機(jī)屏幕大小比例不一致時(shí),需要進(jìn)行特殊處理;
Android手機(jī)攝像頭有一系列的狀態(tài),需要在正確的狀態(tài)下才能對(duì)攝像頭進(jìn)行相應(yīng)的操作;
Android手機(jī)攝像頭的很多參數(shù)存在兼容性問(wèn)題,需要較好地處理這些兼容性的問(wèn)題。

音頻采集技術(shù)要點(diǎn):

檢測(cè)麥克風(fēng)是否可以使用;
需要檢測(cè)手機(jī)對(duì)某個(gè)音頻采樣率的支持;
在一些情況下需要對(duì)音頻進(jìn)行回聲消除處理;
音頻采集時(shí)設(shè)置正確的緩沖區(qū)大小。

3.編碼

3.1.視頻編碼

視頻編碼的主要作用是將視頻像素?cái)?shù)據(jù)(RGB,YUV等)壓縮成為視頻碼流,從而降低視頻的數(shù)據(jù)量。

  • 主要視頻編碼一覽:

|名稱|推出機(jī)構(gòu)|推出時(shí)間|目前使用領(lǐng)域|
|:--|:--|:--|
| HEVC(H.265) | MPEG/ITU-T | 2013 |研發(fā)中|
| H.264 | MPEG/ITU-T | 2003 |各個(gè)領(lǐng)域|
| MPEG4 | MPEG | 2001 |不溫不火|
| MPEG2 | MPEG | 1994 |不溫不火|
| VP9 | Google | 2013 |研發(fā)中|
| VP8 | Google | 2008 |不普及|
| VC-1 | Microsoft Inc. | 2006 |微軟平臺(tái)|

不難看出,目前主流的視頻編碼便是H264。

3.2音頻編碼

音頻編碼的主要作用是將音頻采樣數(shù)據(jù)(PCM等)壓縮成為音頻碼流,從而降低音頻的數(shù)據(jù)量。主要音頻編碼一覽:

|名稱|推出機(jī)構(gòu)|推出時(shí)間|目前使用領(lǐng)域|
|:--|:--|:--|
| AAC | MPEG | 1997 |各個(gè)領(lǐng)域(新)|
| AC-3 | Dolby Inc. | 1992 |電影|
| MP3 | MPEG | 1993 |各個(gè)領(lǐng)域(舊)|
| WMA | Microsoft Inc. | 1999 |微軟平臺(tái)|

如今主流的音頻編碼是AAC。

4.封包

音視頻經(jīng)過(guò)編碼后,就要進(jìn)行所謂的封包,即封裝,也就是音視頻的容器。如果把視頻比作貨物,那封包也就是用來(lái)運(yùn)輸貨物的容器。是將編碼好的多媒體內(nèi)容混合封裝在一起的標(biāo)準(zhǔn)。
容器使得不同多媒體內(nèi)容同步播放變得很簡(jiǎn)單,而容器的另一個(gè)作用就是為多媒體內(nèi)容提供索引,也就是說(shuō)如果沒(méi)有容器存在的話一部影片你只能從一開(kāi)始看到最后,不能拖動(dòng)進(jìn)度條,而且如果你不自己去手動(dòng)另外載入音頻就沒(méi)有聲音。

下面介紹幾種常見(jiàn)的封裝格式和優(yōu)缺點(diǎn):

1.AVI 格式(后綴為 .AVI):

它的英文全稱為 Audio Video Interleaved ,即音頻視頻交錯(cuò)格式。它于 1992 年被 Microsoft 公司推出。
這種視頻格式的優(yōu)點(diǎn)是圖像質(zhì)量好。由于無(wú)損AVI可以保存 alpha 通道,經(jīng)常被我們使用。缺點(diǎn)太多,體積過(guò)于龐大,而且更加糟糕的是壓縮標(biāo)準(zhǔn)不統(tǒng)一,最普遍的現(xiàn)象就是高版本 Windows 媒體播放器播放不了采用早期編碼編輯的AVI格式視頻,而低版本 Windows 媒體播放器又播放不了采用最新編碼編輯的AVI格式視頻,所以我們?cè)谶M(jìn)行一些AVI格式的視頻播放時(shí)常會(huì)出現(xiàn)由于視頻編碼問(wèn)題而造成的視頻不能播放或即使能夠播放,但存在不能調(diào)節(jié)播放進(jìn)度和播放時(shí)只有聲音沒(méi)有圖像等一些莫名其妙的問(wèn)題。

2.DV-AVI 格式(后綴為 .AVI):

DV的英文全稱是 Digital Video Format ,是由索尼、松下、JVC 等多家廠商聯(lián)合提出的一種家用數(shù)字視頻格式。
數(shù)字?jǐn)z像機(jī)就是使用這種格式記錄視頻數(shù)據(jù)的。它可以通過(guò)電腦的 IEEE 1394 端口傳輸視頻數(shù)據(jù)到電腦,也可以將電腦中編輯好的的視頻數(shù)據(jù)回錄到數(shù)碼攝像機(jī)中。這種視頻格式的文件擴(kuò)展名也是 avi。電視臺(tái)采用錄像帶記錄模擬信號(hào),通過(guò) EDIUS 由IEEE 1394端口采集卡從錄像帶中采集出來(lái)的視頻就是這種格式。

3.QuickTime File Format 格式(后綴為 .MOV):

美國(guó)Apple公司開(kāi)發(fā)的一種視頻格式,默認(rèn)的播放器是蘋(píng)果的QuickTime。
具有較高的壓縮比率和較完美的視頻清晰度等特點(diǎn),并可以保存alpha通道。

4.MPEG 格式(文件后綴可以是 .MPG .MPEG .MPE .DAT .VOB .ASF .3GP .MP4等) :

它的英文全稱為 Moving Picture Experts Group,即運(yùn)動(dòng)圖像專家組格式,該專家組建于1988年,專門(mén)負(fù)責(zé)為 CD 建立視頻和音頻標(biāo)準(zhǔn),而成員都是為視頻、音頻及系統(tǒng)領(lǐng)域的技術(shù)專家。
MPEG 文件格式是運(yùn)動(dòng)圖像壓縮算法的國(guó)際標(biāo)準(zhǔn)。MPEG 格式目前有三個(gè)壓縮標(biāo)準(zhǔn),分別是 MPEG-1、MPEG-2、和MPEG-4 。MPEG-1、MPEG-2 目前已經(jīng)使用較少,著重介紹 MPEG-4,其制定于1998年,MPEG-4 是為了播放流式媒體的高質(zhì)量視頻而專門(mén)設(shè)計(jì)的,以求使用最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量。目前 MPEG-4 最有吸引力的地方在于它能夠保存接近于DVD畫(huà)質(zhì)的小體積視頻文件。

5.WMV 格式(后綴為.WMV .ASF):

它的英文全稱為Windows Media Video,也是微軟推出的一種采用獨(dú)立編碼方式并且可以直接在網(wǎng)上實(shí)時(shí)觀看視頻節(jié)目的文件壓縮格式。
WMV格式的主要優(yōu)點(diǎn)包括:本地或網(wǎng)絡(luò)回放,豐富的流間關(guān)系以及擴(kuò)展性等。WMV 格式需要在網(wǎng)站上播放,需要安裝 Windows Media Player( 簡(jiǎn)稱 WMP ),很不方便,現(xiàn)在已經(jīng)幾乎沒(méi)有網(wǎng)站采用了。

6.Real Video 格式(后綴為 .RM .RMVB):

Real Networks 公司所制定的音頻視頻壓縮規(guī)范稱為Real Media。
用戶可以使用 RealPlayer 根據(jù)不同的網(wǎng)絡(luò)傳輸速率制定出不同的壓縮比率,從而實(shí)現(xiàn)在低速率的網(wǎng)絡(luò)上進(jìn)行影像數(shù)據(jù)實(shí)時(shí)傳送和播放。RMVB 格式:這是一種由RM視頻格式升級(jí)延伸出的新視頻格式,當(dāng)然性能上有很大的提升。RMVB 視頻也是有著較明顯的優(yōu)勢(shì),一部大小為700MB左右的 DVD 影片,如果將其轉(zhuǎn)錄成同樣品質(zhì)的 RMVB 格式,其個(gè)頭最多也就 400MB 左右。大家可能注意到了,以前在網(wǎng)絡(luò)上下載電影和視頻的時(shí)候,經(jīng)常接觸到 RMVB 格式,但是隨著時(shí)代的發(fā)展這種格式被越來(lái)越多的更優(yōu)秀的格式替代,著名的人人影視字幕組在2013年已經(jīng)宣布不再壓制 RMVB 格式視頻。

7.Flash Video 格式(后綴為 .FLV):

由 Adobe Flash 延伸出來(lái)的的一種流行網(wǎng)絡(luò)視頻封裝格式。隨著視頻網(wǎng)站的豐富,這個(gè)格式已經(jīng)非常普及。

8.Matroska 格式(后綴為 .MKV):

是一種新的多媒體封裝格式,這個(gè)封裝格式可把多種不同編碼的視頻及16條或以上不同格式的音頻和語(yǔ)言不同的字幕封裝到一個(gè) Matroska Media 檔內(nèi)。它也是其中一種開(kāi)放源代碼的多媒體封裝格式。Matroska 同時(shí)還可以提供非常好的交互功能,而且比 MPEG 的方便、強(qiáng)大。

9.MPEG2-TS 格式 (后綴為 .ts)(Transport Stream“傳輸流”;又稱MTS、TS)

是一種傳輸和存儲(chǔ)包含音效、視頻與通信協(xié)議各種數(shù)據(jù)的標(biāo)準(zhǔn)格式,用于數(shù)字電視廣播系統(tǒng),如DVB、ATSC、IPTV等等。
MPEG2-TS 定義于 MPEG-2 第一部分,系統(tǒng)(即原來(lái)之ISO/IEC標(biāo)準(zhǔn)13818-1或ITU-T Rec. H.222.0)。
Media Player Classic、VLC 多媒體播放器等軟件可以直接播放MPEG-TS文件。

目前,我們?cè)诹髅襟w傳輸,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分別用于 RTMP/HTTP-FLV 和 HLS 協(xié)議。

5.推流和傳輸

此處不作論述。推薦幾篇關(guān)于直播的系列文章。
(本文純?yōu)閹椭约豪斫夂陀洃浻嘘P(guān)直播的基本概念)
http://www.itdecent.cn/nb/5638906
參考:
視頻直播技術(shù)詳解
Android手機(jī)直播(一)總覽
Android音視頻開(kāi)發(fā)
直播平臺(tái)的學(xué)習(xí)與研究

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容