999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

視頻云直播中的關鍵幀技術探秘

2016-11-26 03:11:56
網(wǎng)絡安全和信息化 2016年9期
關鍵詞:設置

迅達云SpeedyCloud工程副總裁,2010年始涉足云計算行業(yè),至今積累了大量架構、研發(fā)、運維、運營、管理等經(jīng)驗,曾就職于Joyent、藍汛、Yottaa等公司。2013年加入SpeedyCloud迅達云,現(xiàn)在負責技術的總體把控、技術可行性調(diào)研等工作。

關鍵幀的痛點

在視頻領域,電影、電視、數(shù)字視頻等可視為隨時間連續(xù)變換的許多張畫面,而幀則指這些畫面當中的每一張。不過如果按照如此的方式存儲視頻的話,文件勢必會變得很大,所以需要專門的算法對視頻文件進行編碼。一旦視頻進行編碼之后,得到的文件可以看做是連續(xù)的一組幀的集合,而這一組幀中的每一個都是有自己的類型的。幀的類型分為以下3種:

*Inter Frame(I幀)

*P-Frame(P幀)

*B-Frame(B幀)

對于B幀和P幀來說需找到對應的一個或者多個參考幀才能解碼出來(如圖1)。

對于非I幀來說想要進行解碼就需要多個參考幀進行計算,由此引出了Groupof Picture(以下簡稱GoP)的概念。

對于P幀和B幀來說,他們所包含的內(nèi)容可以理解為針對其參考幀的一個patch,也就是一個變化量。

GoP性能調(diào)優(yōu)分析

GoP顧名思義就是有一組幀組成的一個序列。Wikipedia上給出的一個圖簡單的解釋了GoP是怎么回事(如圖 2)。

GoP由I幀開始,后面跟隨者一組B幀和P幀,直到下一個I幀之前的幀為一個GoP。了解了GoP之后,就會發(fā)現(xiàn)播放器只有在拿到某個GoP中的I幀之后才能播放視頻。

圖1 B幀和P幀對應多個參考幀

GoP到底應該設置多大?那么GoP的大小到底有什么影響呢?

GoP設置較大時:

好處:由于B幀和P幀的字節(jié)大小會比I幀小很多,所以GoP越長,所包含的B幀和P幀越多,相應的壓縮比也會更高,在同樣的碼率下,視頻會更清晰一些。

壞處:對于視頻直播來說,播放器連接到服務器的時間是不固定的,當播放器在GoP中間連接服務器,并獲取了中間的B幀和P幀,這時播放器是無法對這些幀進行解碼的,需要進行丟棄。所以會導致客戶端的首屏播放時間變長。

GoP設置較小時:

好處:由于GoP設置小可以降低I幀間隔時間,對于直播來說可以實現(xiàn)秒開的功能。

壞處:由于GoP時間比較短,會導致I幀的比例增高,壓縮比降低。同樣碼率情況下視頻的質(zhì)量會有所下降。

為什么HLS視頻加載會慢?

HLS格式的視頻分為兩個部分。首先,HLS會根據(jù)指定的切片時間和實際的GoP大小對視頻進行切割,并生成.ts文件。其次,HLS會生成一個.m3u8文件來保存這些ts文件的索引。

對于.ts文件的切割來講,并不是告訴直播服務器指定1秒切一個.ts文件他就能保證1秒切一個.ts文件的。.ts文件的切割還是要根據(jù)直播視頻的實際GoP大小來進行切割的。之前已經(jīng)講過,任何一個視頻流在播放端需要能獲取到完整的GoP才能播放,所以一個.ts文件所實際包含的時間是GoP的整數(shù)倍。

例如:當視頻的GoP設置為1秒,.ts切片時間為2秒時,實際的.ts文件切片所包含的視頻為2秒。當視頻的GoP設置為5秒,.ts切片時間為2妙時,實際的.ts文件切片所包含的視頻為5秒。

圖 2 GoP示意圖

如果視頻流的GoP大小設置不合適的話,那么HLS的切片時間就會變長,同時也會增加HLS的延遲。這個特性對于HLS直播來講簡直就是延遲殺手。

如果是HLS點播的話,流的GoP設置過大也會影響點播視頻的加載時間。一般的一個720P的視頻,如果切片時間為2秒的話,單個.ts文件也就是在百K字節(jié)上下。但如果源視頻的GoP很大,會導致第一個.ts文件所包含的視頻時常變長(比如10秒),同時導致.ts文件的大小膨脹到接近1M字節(jié)上下。

為什么RTMP直播首屏渲染速度很慢?

RTMP協(xié)議本身也會抽象出一個Packet的概念來封裝H264編碼中的幀,也就是一個Packet會包含1到多個幀,播放器以Packet為單位來進行解碼。那么RTMP的問題在于客戶端連接的時間點是否合適。

例如一個RTMP直播流的GoP設置為2秒,如果客戶端接入時間剛好是第4秒,那么客戶端會獲取一個包含I幀的Packet,由于I幀是自描述的,所以客戶端可以直接解碼出該幀的畫面并顯示出來。但是當客戶端的接入之間為第5秒,那么他會獲得一個包含B幀或者P幀的Packet,由于客戶端拿到的數(shù)據(jù)是一個不完整的GoP,所以客戶端只好拋棄當前獲取的Packet中視頻的數(shù)據(jù),而且只有當獲取到包含下一個GoP的I幀的Packet時才能解碼出圖像。因此客戶端會等待1秒才能播放出畫面。

由此我們可以得出一個結論:GoP的大小會影響RTMP播放端的首幀加載時間。

為了優(yōu)化首幀加載時間,我們可以在流媒體服務器端增加一個緩存,把上一個GoP緩存在內(nèi)存中。如果客戶端接入的話,我們首先放出來的是上一個GoP。這樣客戶端接到的數(shù)據(jù)永遠是一I幀開頭的數(shù)據(jù)。

結論

在視頻直播和點播盛行的年代,對于GoP大小的取舍還是需要看具體應用場景。對于直播來講,對延遲要求敏感的應用來說,1~2秒的GoP大小還是比較合適的,至于GoP緩存來講,還是不用為好。如果是對延遲要求不敏感,對首屏播放時間很敏感的應用,GoP還是1~2秒最為合適,GoP緩存應該是必備的。另外直播使用HLS的話,延遲是絕對PK不過RTMP的。

對于點播的應用來說,視頻加載速度是個硬指標,如果不是HLS格式的話,GoP大小適當選大一點可以降低視頻文件大小,提高視頻打開速度。

HLS格式的話,還是推薦在2秒左右,否則很影響視頻打開速度的。

其實視頻直播技術的挑戰(zhàn)很多,這次分享的只是其中一小部分,也是迅達云SpeedyCloud研發(fā)團隊的經(jīng)驗總結,希望能夠和大家多交流,一起為技術社區(qū)發(fā)展做些有益的事情。

猜你喜歡
設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
船舶防火結構及設置的缺陷與整改
水上消防(2020年5期)2020-12-14 07:16:18
中外醫(yī)學專業(yè)與專科設置對比分析及啟示
特殊場景下列控等級轉換的設置方案
7招教你手動設置參數(shù)
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫(yī)學專業(yè)課程設置的比較與思考
主站蜘蛛池模板: 婷婷开心中文字幕| 亚洲欧美在线综合图区| 久草热视频在线| 久久国产乱子伦视频无卡顿| 亚洲天堂在线免费| 狠狠躁天天躁夜夜躁婷婷| 欧美日本中文| 五月天丁香婷婷综合久久| 国产成人AV大片大片在线播放 | 97人人做人人爽香蕉精品| 中文国产成人久久精品小说| 永久免费无码成人网站| 亚洲欧洲日韩久久狠狠爱| 国产精品女人呻吟在线观看| 亚洲av无码片一区二区三区| 中文字幕首页系列人妻| 国产区91| 亚洲一区波多野结衣二区三区| 欧美a在线看| 国内老司机精品视频在线播出| 九色综合伊人久久富二代| 精品99在线观看| 久久综合色播五月男人的天堂| 人妻少妇乱子伦精品无码专区毛片| 国内精自视频品线一二区| 国产白浆视频| 72种姿势欧美久久久久大黄蕉| 在线不卡免费视频| 四虎精品黑人视频| 国产成人啪视频一区二区三区| 国内a级毛片| 中文字幕无码电影| 久久semm亚洲国产| 成人午夜视频在线| 亚洲国产精品人久久电影| 999国产精品| 在线另类稀缺国产呦| 99尹人香蕉国产免费天天拍| 92午夜福利影院一区二区三区| 全部毛片免费看| 国产精品欧美激情| 成人免费一级片| 午夜激情婷婷| 久久99精品久久久久久不卡| 影音先锋亚洲无码| 亚洲国产91人成在线| 青青草原国产| 黄网站欧美内射| 最新亚洲av女人的天堂| 茄子视频毛片免费观看| 亚洲国产综合第一精品小说| 久久国产乱子| jizz在线观看| 欧美激情第一欧美在线| 夜夜操狠狠操| 国产成人1024精品| 日本精品αv中文字幕| 尤物国产在线| 国产欧美精品专区一区二区| 国产91高清视频| 色综合综合网| 四虎影视库国产精品一区| 亚洲AV无码乱码在线观看裸奔| 亚洲无码免费黄色网址| 一级黄色片网| 亚洲日韩精品伊甸| 亚洲无卡视频| 欧美精品亚洲日韩a| 国产欧美日韩va另类在线播放| 爆操波多野结衣| 日本国产在线| 狠狠色香婷婷久久亚洲精品| 久青草免费在线视频| 国产成人高清精品免费| 亚洲精品中文字幕无乱码| 色偷偷一区| 国产在线98福利播放视频免费| 在线无码九区| 欧美成a人片在线观看| 欧美中日韩在线| 国产成人超碰无码| 在线观看网站国产|