直播基本介紹

來(lái)源:

  1. 最近市面上很火爆的17、花椒结啼、虎牙直播毅访、periscope的直播功能衔掸,是自研還是第三方直播SDK服務(wù)?

  2. 如何快速的開(kāi)發(fā)一個(gè)完整的iOS直播app】(原理篇)

  3. 【iOS開(kāi)發(fā)】關(guān)于視頻直播技術(shù)俺抽,你想要知道的都在這里了(二)處理

如何快速搭建一個(gè)完整的手機(jī)直播系統(tǒng)

搭建一個(gè)完整的手機(jī)直播都包含哪些必須的環(huán)節(jié):推流端(采集、前處理较曼、編碼磷斧、推流),服務(wù)端處理(轉(zhuǎn)碼捷犹、錄制弛饭、截圖、鑒黃)萍歉,播放器(拉流侣颂、解碼、渲染)枪孩、互動(dòng)系統(tǒng)(聊天室憔晒、禮物系統(tǒng)、贊)蔑舞。

304825-5481594e6e2a9d56.png
304825-54974199408c0cc1.png

手機(jī)直播推流端需要做哪些工作拒担?

直播推流端即主播端,主要通過(guò)手機(jī)攝像頭采集視頻數(shù)據(jù)和麥克風(fēng)采集音頻數(shù)據(jù)攻询,經(jīng)過(guò)一系列前處理从撼、編碼、封裝钧栖,然后推流到CDN進(jìn)行分發(fā)低零。

采集

手機(jī)直播SDK通過(guò)手機(jī)攝像頭和麥克風(fēng)直接采集視頻數(shù)據(jù)和音頻數(shù)據(jù)婆翔。其中,視頻采樣數(shù)據(jù)一般采用RGB或YUV格式、音頻采樣數(shù)據(jù)一般采用PCM格式掏婶。對(duì)于采集到的原始音視頻的體積是非常大的啃奴,因此需要經(jīng)過(guò)壓縮技術(shù)來(lái)處理,降低視頻的大小來(lái)提示傳輸效率气堕。 在手機(jī)視頻采集方面纺腊,iOS系統(tǒng)在硬件的兼容性方面做得比較好,系統(tǒng)本身提供了比較完整的視頻采集的接口茎芭,使用起來(lái)也比較簡(jiǎn)單揖膜。但是,Android系統(tǒng)就比較麻煩了梅桩,千奇百怪的機(jī)型都有壹粟,適配起來(lái)非常難。我們?cè)诔跗谧隽艘豁?xiàng)調(diào)研宿百,發(fā)現(xiàn)Android的適配率還不到50%趁仙。

前處理

在這個(gè)環(huán)節(jié)主要處理美顏、水印垦页、模糊等效果雀费。特別是美顏功能幾乎是直播的標(biāo)配功能,沒(méi)有美顏的直播主播們根本提不起興趣痊焊。我們見(jiàn)過(guò)太多case是因?yàn)闆](méi)有美顏功能被拋棄使用的盏袄。另外國(guó)家明確提出了,所有直播都必須打有水印并回放留存15天以上薄啥。所以辕羽,在選擇直播SDK時(shí),沒(méi)有美顏和水印功能基本就可以選擇放棄了垄惧。美顏實(shí)際上是通過(guò)算法去識(shí)別圖像中的皮膚部分刁愿,再對(duì)皮膚區(qū)域進(jìn)行色值調(diào)整。通常情況下人的膚色與周邊環(huán)境色調(diào)存在較大差異到逊,通過(guò)顏色對(duì)比铣口,找到皮膚的基本輪廓,進(jìn)一步進(jìn)行膚色檢查還可以確定人臉?lè)秶鹾U业搅似つw的區(qū)域枷踏,可以進(jìn)行色值調(diào)整、添加白色圖層或調(diào)整透明度等來(lái)等來(lái)達(dá)到美白效果掰曾。美顏除了美白效果還需要磨皮功能旭蠕,磨皮實(shí)際上就是用模糊濾鏡實(shí)現(xiàn)的。濾鏡有很多種,如高斯濾波掏熬,雙邊濾波佑稠,導(dǎo)向?yàn)V波,到底選擇什么樣的模糊濾鏡各家也有自己的喜好旗芬。在美顏處理方面舌胶,最著名的GPUImage提供了豐富的效果,同時(shí)可以支持IOS和Android疮丛,還支持自己寫(xiě)算法實(shí)現(xiàn)自己最理性的效果幔嫂。GPUImage本事內(nèi)置了120多種常見(jiàn)濾鏡效果,添加濾鏡只需要簡(jiǎn)單調(diào)用幾行代碼就可以了誊薄,比如大家可以試試使用GPUImageBilateralFiter的雙邊濾波濾鏡來(lái)處理基本的磨皮效果履恩,想要實(shí)現(xiàn)更理想的效果還是要通過(guò)自定義算法去實(shí)現(xiàn)的,各家也都有自己一套算法呢蔫。

編碼

為了便于手機(jī)視頻的推流切心、拉流以及存儲(chǔ),通常采用視頻編碼壓縮技術(shù)來(lái)減少視頻的體積∑酰現(xiàn)在比較常用的視頻編碼是H.264绽昏,但具有更高性能的H.265編碼技術(shù)正在飛速發(fā)展,并可能很快成為主流俏脊;在音頻方面全谤,通比較常用的是用AAC編碼格式進(jìn)行壓縮,其它如MP3爷贫、WMA也是可選方案认然。視頻經(jīng)過(guò)編碼壓縮大大提高了視頻的存儲(chǔ)和傳輸效率,當(dāng)然沸久,經(jīng)過(guò)壓縮后的視頻在播放時(shí)必須進(jìn)行解碼。通俗點(diǎn)講就是編碼器將多張圖像進(jìn)行編碼后產(chǎn)生一段段GOP(Group of Pictures)余蟹,播放時(shí)解碼器讀取一段段GOP進(jìn)行解碼后讀取圖像并進(jìn)行渲染顯示卷胯。 在編碼方面的核心是在分辨率、碼率威酒、幀率等參數(shù)中找到最佳平衡點(diǎn)窑睁,達(dá)到體積最小畫(huà)面最優(yōu)的效果,這些參數(shù)各家也都有自己的一套核心參數(shù)葵孤。2012年8月担钮,愛(ài)立信公司推出了首款H.265編解碼器,六個(gè)月后尤仍,國(guó)際電聯(lián)(ITU)就正式批準(zhǔn)通過(guò)了HEVC/H.265標(biāo)準(zhǔn)箫津,稱之為高效視頻編碼(High Efficiency Video Coding),相較于之前的H.264標(biāo)準(zhǔn)有了相當(dāng)大的改善,做到了僅需要原來(lái)一半帶寬即可播放相同質(zhì)量的視頻苏遥,低于1.5Mbps的網(wǎng)絡(luò)也能傳輸1080p的高清視頻饼拍。國(guó)內(nèi),如阿里云田炭、金山云都在推自己的H.265編解碼技術(shù)师抄,隨著直播的快速發(fā)展和對(duì)帶寬的依賴,H.265編解碼技術(shù)已有全面取代H.264的趨勢(shì)教硫。當(dāng)然叨吮,全面推開(kāi)應(yīng)用還需要些時(shí)間。另外瞬矩,硬件編碼已經(jīng)成為手機(jī)直播的首選方案茶鉴,軟編碼處理在720p以上的視頻頹勢(shì)非常明顯。在IOS平臺(tái)上硬件編碼的兼容性比較好丧鸯,可以直接采用蛤铜,但在 Android 平臺(tái)上,Android的MediaCodec 編碼器丛肢,針對(duì)不同的芯片平臺(tái)表現(xiàn)差異還是非常大的围肥,要完全實(shí)現(xiàn)全平臺(tái)兼容的成本還是非常高的。

推流

要想用于推流還必須把音視頻數(shù)據(jù)使用傳輸協(xié)議進(jìn)行封裝蜂怎,變成流數(shù)據(jù)穆刻。常用的流傳輸協(xié)議有RTSP、RTMP杠步、HLS等氢伟,使用RTMP傳輸?shù)难訒r(shí)通常在1–3秒,對(duì)于手機(jī)直播這種實(shí)時(shí)性要求非常高的場(chǎng)景幽歼,RTMP也成為手機(jī)直播中最常用的流傳輸協(xié)議朵锣。最后通過(guò)一定的Qos算法將音視頻流數(shù)據(jù)推送到網(wǎng)絡(luò)斷,通過(guò)CDN進(jìn)行分發(fā)甸私。 在直播場(chǎng)景中诚些,網(wǎng)絡(luò)不穩(wěn)定是非常常見(jiàn)的,這時(shí)就需要Qos來(lái)保證網(wǎng)絡(luò)不穩(wěn)情況下的用戶觀看直播的體驗(yàn)皇型,通常是通過(guò)主播端和播放端設(shè)置緩存诬烹,讓碼率均勻。另外弃鸦,針對(duì)實(shí)時(shí)變化的網(wǎng)絡(luò)狀況绞吁,動(dòng)態(tài)碼率和幀率也是最常用的策略。當(dāng)然唬格,在網(wǎng)絡(luò)傳輸方面全部自己來(lái)做基本不現(xiàn)實(shí)家破,找提供推流服務(wù)的CDN服務(wù)商提供解決方案是最好的選擇颜说,可參考文章開(kāi)頭介紹的云視頻服務(wù)商。據(jù)了解员舵,阿里云是國(guó)內(nèi)唯一能自研CDN緩存服務(wù)器的廠商脑沿,性能還是非常有保障的。通常马僻,大多數(shù)直播平臺(tái)都會(huì)同時(shí)接入多個(gè)視頻云服務(wù)提供商庄拇,這樣可以做拉流線路互備,對(duì)推流后視頻集群再進(jìn)行優(yōu)化也可提高直播的流暢性和穩(wěn)定性韭邓。

服務(wù)端處理需要做哪些工作措近?

要想適配各終端和平臺(tái),服務(wù)端還需要對(duì)流進(jìn)行轉(zhuǎn)碼女淑,如支持RTMP瞭郑、HLS、FLV等格式拉流鸭你,支持一路轉(zhuǎn)多路適配不同網(wǎng)絡(luò)和分辨率的終端設(shè)備屈张。另外,像現(xiàn)在必備的鑒黃功能也需要服務(wù)端完成袱巨。

截圖阁谆、錄制、水印

像阿里云愉老、金山云场绿、UCloud等云服務(wù)商都提供了實(shí)時(shí)轉(zhuǎn)碼技術(shù)將用戶推流碼率較高(比如720P)實(shí)時(shí)轉(zhuǎn)化成較低清晰度(比如360P)的流以適應(yīng)播放端的需求。如果要自己搭建實(shí)時(shí)轉(zhuǎn)碼系統(tǒng)嫉入,這個(gè)成本是極高的焰盗。一臺(tái)8核設(shè)備只能實(shí)時(shí)轉(zhuǎn)10 路流,如果一個(gè)正常的直播平臺(tái)有1000路流咒林,那至少就需要100臺(tái)設(shè)備熬拒,加上后期的運(yùn)維成本,一般公司就吃不消了垫竞。實(shí)時(shí)截圖功能和實(shí)時(shí)轉(zhuǎn)碼類似澎粟,只是一般單機(jī)可以處理100路流。市面上云服務(wù)提供商基本上都提供了服務(wù)端轉(zhuǎn)碼件甥、截圖捌议、錄制功能哼拔,建議選擇好的云服務(wù)提供商即可引有,可以節(jié)約大量成本。

鑒黃

2016年倦逐,4月14日上午10時(shí)譬正,文化部公布了一則消息宫补,斗魚(yú)、虎牙曾我、YY粉怕、熊貓TV、戰(zhàn)旗TV抒巢、龍珠直播贫贝、六間房、9158等網(wǎng)絡(luò)直播平臺(tái)因涉嫌提供含宣揚(yáng)淫穢蛉谜、暴力稚晚、教唆犯罪等內(nèi)容的互聯(lián)網(wǎng)文化產(chǎn)品,被列入查處名單型诚。文化部已部署相關(guān)執(zhí)法機(jī)構(gòu)查處涉案企業(yè)客燕,將及時(shí)公布處罰結(jié)果。在前期的野蠻生長(zhǎng)后狰贯,國(guó)家介入管制一定程度上遏制了直播的發(fā)展速度也搓,但更有利于直播行業(yè)打造健康的生態(tài),進(jìn)入良性發(fā)展涵紊。這也意味著直播行業(yè)鑒黃成了必須環(huán)節(jié)傍妒,使用技術(shù)手段去鑒黃是手機(jī)直播平臺(tái)必然采用的方案。市面上提供鑒黃服務(wù)的方案主要有兩種栖袋,第一種是對(duì)視頻進(jìn)行截圖拍顷,然后對(duì)圖片進(jìn)行鑒黃,返回鑒黃結(jié)果和分值塘幅。典型的企業(yè)有阿里(綠網(wǎng))昔案、圖譜科技,他們目前都支持直接傳入視頻电媳,經(jīng)過(guò)服務(wù)端分析返回結(jié)果踏揣,鑒黃的結(jié)果分為色情、疑似色情匾乓、正忱谈澹或性感,并對(duì)每種結(jié)果進(jìn)行打分拼缝。通常由業(yè)務(wù)系統(tǒng)接入鑒黃服務(wù)娱局,根據(jù)鑒黃結(jié)果對(duì)直播流進(jìn)行控制,如切斷直播流咧七、禁用用戶的賬號(hào)等衰齐。第二種是和CDN結(jié)合,直接對(duì)直播流進(jìn)行分析继阻,識(shí)別結(jié)果也分為色情耻涛、疑似色情废酷、性感和正常,業(yè)務(wù)系統(tǒng)根據(jù)識(shí)別結(jié)果直接控制直播流抹缕。典型的企業(yè)是Viscovery澈蟆,這套方案的優(yōu)點(diǎn)是實(shí)時(shí)性保證比較好,缺點(diǎn)是必須部署到CDN或自己的機(jī)房卓研,使用成本相對(duì)高一些趴俘。趣拍微視頻云服務(wù)作為一站式直播解決方案提供商,我們的主旨是讓用戶以最短時(shí)間奏赘、最小成本接入直播服務(wù)哮幢。因此,用戶只需在控制臺(tái)對(duì)鑒黃服務(wù)進(jìn)行配置就可以針對(duì)每個(gè)應(yīng)用志珍,每一路直播流進(jìn)行實(shí)時(shí)審核橙垢,審核內(nèi)容包括色情、暴恐伦糯、時(shí)政敏感等昨登。在控制臺(tái)中你虹,趣拍微視頻服務(wù)實(shí)時(shí)將鑒黃結(jié)果返回阴孟,用戶可以直接查看色情直播和違規(guī)界面的截圖像云,同時(shí)可以對(duì)直播流進(jìn)行控制,切斷問(wèn)題直播流淤翔。我們提供了短信翰绊、郵件和站內(nèi)信提供功能,避免漏洞一個(gè)非法視頻旁壮,給平臺(tái)造成損失监嗜。數(shù)據(jù)統(tǒng)計(jì)功能讓用戶可以把握平臺(tái)最新的動(dòng)態(tài)信息,為進(jìn)一步采取必要的措施提供可靠的依據(jù)抡谐。同時(shí)裁奇,為了滿足用戶定制化需求,我們還提供了豐富的接口麦撵,可以很方便的將鑒黃服務(wù)接入到自己的業(yè)務(wù)系統(tǒng)刽肠。

播放器端需要做哪些工作?

在播放器端如何做到秒開(kāi)免胃,在直播過(guò)程中保證畫(huà)面和聲音清晰度的同時(shí)音五,穩(wěn)定、流程羔沙、無(wú)卡頓的直播流量躺涝,這些工作都需要播放器端配合服務(wù)端來(lái)做優(yōu)化,做到精確調(diào)度撬碟。

拉流

拉流實(shí)際是推流的逆過(guò)程诞挨。首先通過(guò)播放端獲取碼流,標(biāo)準(zhǔn)的拉流格式有RTMP呢蛤、HLS惶傻、FLV等。RTMP是Adobe的專利協(xié)議其障,開(kāi)源軟件和開(kāi)源庫(kù)都支持的比較好银室,如開(kāi)源的librtmp庫(kù),播放端只要支持flashPlayer的就能非常簡(jiǎn)單的播放RTMP直播励翼,直播延遲一般在1–3秒蜈敢。HLS是蘋(píng)果提出的基于HTTP的流媒體傳輸協(xié)議,HTML5可以直接打開(kāi)播放汽抚,通過(guò)微信抓狭、QQ等軟件分享出去,用戶也可以直接觀看直播造烁,可以說(shuō)手機(jī)直播app否过,HLS拉流協(xié)議是必須支持的,缺點(diǎn)是延遲通常大于10秒惭蟋。FLV(HTTP-FLV)協(xié)議是使用HTTP協(xié)議傳輸流媒體內(nèi)容的一個(gè)協(xié)議苗桂,也不用擔(dān)心被Adobe的專利綁架,直播延遲同樣可以做到1–3秒告组。趣拍微視頻云服務(wù)的直播拉流提供了RTMP煤伟、HLS、FLV三種格式木缝,滿足不同業(yè)務(wù)場(chǎng)景的需求便锨,如對(duì)即時(shí)性要求較高或有互動(dòng)需求的可以采用RTMP或FLV格式進(jìn)行直播拉流播放;對(duì)于有回放或跨平臺(tái)需求的我碟,推薦使用HLS鸿秆。當(dāng)然,三種協(xié)議是可以同時(shí)使用的怎囚,分別用到自己的場(chǎng)景就可以了卿叽。

解碼和渲染

拉流獲取封裝的視頻數(shù)據(jù)后,必須通過(guò)解碼器解碼恳守、渲染后才能在播放器上播放考婴。它是編碼的逆過(guò)程,是指從音視頻的數(shù)據(jù)中提取原始數(shù)據(jù)催烘。前面介紹的H.264和H.265編碼格式都是有損壓縮沥阱,所以在提取后的原始數(shù)據(jù),并非原始采樣數(shù)據(jù)伊群,存在一定的信息丟失考杉。因此策精,在視頻體積最小的情況下通過(guò)各種編碼參數(shù)保留最好的原始畫(huà)面,成為了各視頻公司的核心機(jī)密崇棠⊙释啵考慮對(duì)高清的支持,解碼肯定還是要選擇硬解碼的枕稀。前面介紹過(guò)询刹,IOS系統(tǒng)由于硬件比較單一、比較封閉萎坷,支持的比較好凹联,Android系統(tǒng)由于平臺(tái)差異非常大,編解碼要完全兼容各平臺(tái)還需要很多工作要做哆档。渲染最大的難點(diǎn)不在與畫(huà)面繪制蔽挠,而在于畫(huà)音同步,業(yè)內(nèi)大部分直播平臺(tái)在這塊做的都還是不夠的瓜浸。我們?cè)谶@方面積累了一些經(jīng)驗(yàn)和大家分享象泵。

手機(jī)直播中的交互系統(tǒng)

手機(jī)直播中最常見(jiàn)的交互有聊天室(彈幕)、點(diǎn)贊斟叼、打賞和禮物等偶惠,有些比較有特色的手機(jī)直播平臺(tái)也加入了和主播互動(dòng)的游戲功能。交互系統(tǒng)涉及消息的實(shí)時(shí)性和互動(dòng)性朗涩,在技術(shù)實(shí)現(xiàn)上大多是使用IM的功能來(lái)實(shí)現(xiàn)的忽孽,對(duì)服務(wù)器的壓力也是比較大。 對(duì)于在線人數(shù)比較多的房間谢床,彈幕消息量是非常大兄一,主播與用戶其實(shí)都看不過(guò)來(lái),為了緩解服務(wù)器壓力识腿,在產(chǎn)品策略可以做一些必要的優(yōu)化出革,比如對(duì)于發(fā)送消息的頻率進(jìn)行限制或?qū)γ織l消息發(fā)送對(duì)象的上限進(jìn)行限制等。

禮物系統(tǒng)

禮物系統(tǒng)已是絕大多數(shù)手機(jī)直播平臺(tái)的標(biāo)配了渡讼,它是這些平臺(tái)主要的收入來(lái)源骂束。在手機(jī)直播平臺(tái)上我們常常可以見(jiàn)到土豪秒榜成箫、土豪對(duì)刷的情景展箱,據(jù)報(bào)道,明星直播一場(chǎng)禮物收入幾十萬(wàn)也是常有的事蹬昌,一年千萬(wàn)收入的網(wǎng)紅也不少混驰,可見(jiàn)國(guó)內(nèi)有禮物消費(fèi)習(xí)慣的土豪還不少。另一方面,送禮物的形式增強(qiáng)了用戶和主播之間的互動(dòng)交流栖榨,也是主播依賴平臺(tái)的最主要原因昆汹。禮物的收發(fā)在技術(shù)實(shí)現(xiàn)上也是用聊天室接口做的,通常采用IM中的自定義消息實(shí)現(xiàn)婴栽,當(dāng)用戶收到或發(fā)送禮物時(shí)將自定義消息對(duì)應(yīng)的禮物圖形渲染出來(lái)满粗。另外,面對(duì)大量用戶刷禮物時(shí)居夹,禮物系統(tǒng)對(duì)一致性要求就比較高了,所以在實(shí)現(xiàn)上存一份數(shù)據(jù)建多條索引是一種很好的選擇本冲,也可以降低對(duì)事務(wù)的依賴准脂。

連麥

311249-169fadb22723043a.gif

連麥?zhǔn)腔?dòng)直播中常見(jiàn)的需求,其流程如上圖所示檬洞。主播和部分觀眾之間可以進(jìn)行實(shí)時(shí)互動(dòng)狸膏,然后將互動(dòng)結(jié)果實(shí)時(shí)播放給其他觀眾觀看。

基于以上業(yè)務(wù)需求添怔,我們很容易想到基于單向直播原理湾戳,在主播端和連麥觀眾端進(jìn)行雙向推流和雙向播流的方式互動(dòng),然后在服務(wù)端將兩路推流合成一路推送給其他觀眾广料。但 RTMP 帶來(lái)的延遲決定了這種方式無(wú)法做到用戶可接受的互動(dòng)直播砾脑。

實(shí)際上,互動(dòng)直播的主要技術(shù)難點(diǎn)在于:
1)低延遲互動(dòng):保證主播和互動(dòng)觀眾之間能夠?qū)崟r(shí)互動(dòng)艾杏,兩者之間就像電話溝通韧衣,因此必須保證兩者能在秒級(jí)以內(nèi)聽(tīng)到對(duì)方的聲音,看到對(duì)方的視頻购桑;

2)音畫(huà)同步:互動(dòng)直播中對(duì)音畫(huà)同步的需求和單向直播中類似畅铭,只不過(guò)互動(dòng)直播中的延遲要求更高,必須保證在音視頻秒級(jí)傳輸情況下的秒級(jí)同步勃蜘。

3)音視頻實(shí)時(shí)合成:其他觀眾需要實(shí)時(shí)觀看到對(duì)話結(jié)果硕噩,因此需要在客戶端或者服務(wù)端將畫(huà)面和聲音實(shí)時(shí)合成,然后以低成本高品質(zhì)的方式傳輸觀眾端缭贡。

在視頻和電話會(huì)議領(lǐng)域炉擅,目前比較成熟的方案是使用思科或者 WebEx 的方案,但這些商用的方案一不開(kāi)源阳惹,二比較封閉坑资,三成本比較高。對(duì)于互動(dòng)人數(shù)比較少的互動(dòng)直播穆端,目前市場(chǎng)上比較成熟的方案是使用基于 WebRTC 的實(shí)時(shí)通訊方案袱贮。

311249-9ec992a91adab59d.png

上圖是一個(gè)基于 WebRTC 協(xié)議實(shí)現(xiàn)多方實(shí)時(shí)通訊的示意圖,本地用戶(主播)和遠(yuǎn)程用戶(連麥觀眾)之間的連接通過(guò) RTCPeerConnection API 管理,這個(gè) API 包裝了底層流管理和信令控制相關(guān)的細(xì)節(jié)攒巍∷砸牵基于該方案可以輕松實(shí)現(xiàn)多人(14 人以下)的多方實(shí)時(shí)通信,如下圖所示:

311249-5d539479272c6111.png

當(dāng)然柒莉,在通信人數(shù)少的情況下闻坚,其復(fù)雜度相對(duì)簡(jiǎn)單,如 2 人情況下兢孝。但人數(shù)增多至 4 人之后窿凤,其可選的網(wǎng)絡(luò)結(jié)構(gòu)就增多了,如上圖所示跨蟹,可以每個(gè)點(diǎn)之間形成自組織網(wǎng)絡(luò)的方式通信雳殊,也可以以 1 人為中心形成星型通信網(wǎng)絡(luò),還可以讓大家都通過(guò)一個(gè)集中式的服務(wù)端進(jìn)行通信窗轩。

幾個(gè)概念

GOP:(Group of Pictures)畫(huà)面組夯秃,一個(gè)GOP就是一組連續(xù)的畫(huà)面,每個(gè)畫(huà)面都是一幀痢艺,一個(gè)GOP就是很多幀的集合

  • 直播的數(shù)據(jù)仓洼,其實(shí)是一組圖片,包括I幀堤舒、P幀色建、B幀,當(dāng)用戶第一次觀看的時(shí)候舌缤,會(huì)尋找I幀镀岛,而播放器會(huì)到服務(wù)器尋找到最近的I幀反饋給用戶。因此友驮,GOP Cache增加了端到端延遲漂羊,因?yàn)樗仨氁玫阶罱腎幀
  • GOP Cache的長(zhǎng)度越長(zhǎng),畫(huà)面質(zhì)量越好

碼率:圖片進(jìn)行壓縮后每秒顯示的數(shù)據(jù)量卸留。

幀率:每秒顯示的圖片數(shù)走越。影響畫(huà)面流暢度,與畫(huà)面流暢度成正比:幀率越大耻瑟,畫(huà)面越流暢旨指;幀率越小,畫(huà)面越有跳動(dòng)感喳整。

  • 由于人類眼睛的特殊生理結(jié)構(gòu)谆构,如果所看畫(huà)面之幀率高于16的時(shí)候,就會(huì)認(rèn)為是連貫的框都,此現(xiàn)象稱之為視覺(jué)暫留搬素。并且當(dāng)幀速達(dá)到一定數(shù)值后,再增長(zhǎng)的話,人眼也不容易察覺(jué)到有明顯的流暢度提升了熬尺。

分辨率:(矩形)圖片的長(zhǎng)度和寬度摸屠,即圖片的尺寸

壓縮前的每秒數(shù)據(jù)量:幀率X分辨率(單位應(yīng)該是若干個(gè)字節(jié))

`壓縮比':壓縮前的每秒數(shù)據(jù)量/碼率 (對(duì)于同一個(gè)視頻源并采用同一種視頻編碼算法,則:壓縮比越高粱哼,畫(huà)面質(zhì)量越差季二。)

視頻處理框架

GPUImage:GPUImage是一個(gè)基于OpenGL ES的一個(gè)強(qiáng)大的圖像/視頻處理框架,封裝好了各種濾鏡同時(shí)也可以編寫(xiě)自定義的濾鏡,其本身內(nèi)置了多達(dá)120多種常見(jiàn)的濾鏡效果。

OpenGL:OpenGL(全寫(xiě)Open Graphics Library)是個(gè)定義了一個(gè)跨編程語(yǔ)言揭措、跨平臺(tái)的編程接口的規(guī)格胯舷,它用于三維圖象(二維的亦可)。OpenGL是個(gè)專業(yè)的圖形程序接口绊含,是一個(gè)功能強(qiáng)大桑嘶,調(diào)用方便的底層圖形庫(kù)。
OpenGL ES:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三維圖形 API 的子集艺挪,針對(duì)手機(jī)不翩、PDA和游戲主機(jī)等嵌入式設(shè)備而設(shè)計(jì)兵扬。

視頻編碼框架

FFmpeg:是一個(gè)跨平臺(tái)的開(kāi)源視頻框架,能實(shí)現(xiàn)如視頻編碼,解碼,轉(zhuǎn)碼,串流,播放等豐富的功能麻裳。其支持的視頻格式以及播放協(xié)議非常豐富,幾乎包含了所有音視頻編解碼、封裝格式以及播放協(xié)議器钟。
X264:把視頻原數(shù)據(jù)YUV編碼壓縮成H.264格式
VideoToolbox:蘋(píng)果自帶的視頻硬解碼和硬編碼API津坑,但是在iOS8之后才開(kāi)放。
AudioToolbox:蘋(píng)果自帶的音頻硬解碼和硬編碼API

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末傲霸,一起剝皮案震驚了整個(gè)濱河市疆瑰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昙啄,老刑警劉巖穆役,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異梳凛,居然都是意外死亡耿币,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)韧拒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)淹接,“玉大人,你說(shuō)我怎么就攤上這事叛溢∷艿浚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵楷掉,是天一觀的道長(zhǎng)厢蒜。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么郭怪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任支示,我火速辦了婚禮,結(jié)果婚禮上鄙才,老公的妹妹穿的比我還像新娘颂鸿。我一直安慰自己,他們只是感情好攒庵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布嘴纺。 她就那樣靜靜地躺著,像睡著了一般浓冒。 火紅的嫁衣襯著肌膚如雪栽渴。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天稳懒,我揣著相機(jī)與錄音闲擦,去河邊找鬼。 笑死场梆,一個(gè)胖子當(dāng)著我的面吹牛墅冷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播或油,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寞忿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了顶岸?” 一聲冷哼從身側(cè)響起腔彰,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辖佣,沒(méi)想到半個(gè)月后霹抛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卷谈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年杯拐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雏搂。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡藕施,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凸郑,到底是詐尸還是另有隱情裳食,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布芙沥,位于F島的核電站诲祸,受9級(jí)特大地震影響浊吏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜救氯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一找田、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧着憨,春花似錦墩衙、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至准谚,卻和暖如春挫剑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柱衔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工樊破, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唆铐。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓哲戚,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親或链。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惫恼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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