bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

播放器技術(shù)分享(5):延時優(yōu)化-創(chuàng)新互聯(lián)

搞音視頻開發(fā)好些年,分享過許多博客文章,比如:前幾年發(fā)布的《FFmpeg Tips》系列,《Android 音頻開發(fā)》系列,《直播疑難雜癥排查》系列等等。最近想把多年來開發(fā)和優(yōu)化播放器的經(jīng)驗也分享出來,希望能幫助到音視頻領(lǐng)域的初學者。第一期文章要推出的內(nèi)容主要涉及到播放器比較核心的幾個技術(shù)點,大概的目錄如下:

創(chuàng)新互聯(lián)主營殷都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),殷都h5成都微信小程序搭建,殷都網(wǎng)站營銷推廣歡迎殷都等地區(qū)企業(yè)咨詢

1.  播放器技術(shù)分享(1):架構(gòu)設(shè)計

2. 播放器技術(shù)分享(2):緩沖區(qū)管理

3. 播放器技術(shù)分享(3):音畫同步

4. 播放器技術(shù)分享(4):首開時間

5. 播放器技術(shù)分享(5):延時優(yōu)化

本篇是系列文章的第五篇,主要聊一聊如何優(yōu)化播放延時。由于播放的延時,是需要從 “視頻的生產(chǎn) -> 分發(fā) -> 播放” 各個環(huán)節(jié)聯(lián)合優(yōu)化的,并不是單一靠播放器就可以搞定的,因此,本文會更多地介紹一些整體上的延時原因和優(yōu)化思路,而不是單講播放器本身如何解決延時問題。

播放一般分為 2 種,一種是實時流的直播,如:網(wǎng)紅直播、賽事直播、沖頂大會、安防攝像頭監(jiān)控等,另一種是視頻文件的在線點播,如:在線電影電視劇,教育培訓視頻,直播回放等。只有面對直播的場景,才有對降低延時的訴求。

1 延時的測量

要優(yōu)化播放延時,首先要知道如何測量延時,目前行業(yè)內(nèi)有多種方法,簡單介紹如下:

1.1 在線秒表

播放器技術(shù)分享(5):延時優(yōu)化

主播端對著北京時間/秒表,然后對比播放器畫面中顯示的時間與北京時間/秒表的差值,這是最常用的測量手法。

1.2 SEI 幀

播放器技術(shù)分享(5):延時優(yōu)化

SEI 全稱是補充增強信息(Supplemental Enhancement Information),提供了一種向視頻碼流中加入額外信息的方法,是 H.264/H.265 等視頻壓縮標準的特性之一。

如圖所示,我們可以在流媒體服務(wù)器端(或者主播端),定時插入一些 SEI 幀,里面記錄當前的 NTP 標準時間,當播放器收到 SEI 幀之后,提取出 SEI 幀的時間,跟當前的系統(tǒng)時間對比,即可得到延時差。

1.3 音頻波形

播放器技術(shù)分享(5):延時優(yōu)化

如圖所示,主播端和播放器端,在同一個時刻開始把音頻數(shù)據(jù)寫入文件中,然后對比兩份文件的音頻波形,即可測量出延時差。這個 “同一時刻”,可以是通過消息通知的方式,也可以約定一個共同的 NTP 時刻,或者是借助 SEI 幀作為觸發(fā)的起始。

2 延時是怎么產(chǎn)生的

影響播放延時的因素很多,這里簡單列出來幾個:

1. 帶寬和傳輸距離

2. 網(wǎng)絡(luò)抖動和擁塞控制

3. 服務(wù)端的 GOP 緩存

4. 各個環(huán)節(jié)的緩沖區(qū)

5. HLS 協(xié)議的切片大小

6. 數(shù)據(jù)處理性能:如美顏、剪裁拉伸、編碼解碼、視頻渲染等

2.1 網(wǎng)絡(luò)帶寬和傳輸距離

這是一個基礎(chǔ)概念,帶寬和傳輸距離對延時的影響至關(guān)重要,特別是國內(nèi)跨省和跨運營商的出口帶寬限制等原因,會導致延時更大。這也是為啥近幾年邊緣存儲、邊緣計算等概念被提及得比較多,特別是在智能安防監(jiān)控場景,由于監(jiān)控視頻的消費大都數(shù)在局部地區(qū),如果把視頻的存儲和多媒體/智能處理均放在邊緣,可極大地提升效率和體驗。

2.2 網(wǎng)絡(luò)抖動和擁塞控制

基于 TCP 協(xié)議的流媒體傳輸,對延時很不友好,因為 TCP 協(xié)議的很多特性導致延時不可避免地增大,比如:三次握手、丟包重傳、某些擁塞控制策略等,因此在網(wǎng)絡(luò)頻繁抖動的弱網(wǎng)下,延時會比較大。

2.3 GOP 緩存

播放器技術(shù)分享(5):延時優(yōu)化

如圖,上一篇講首開優(yōu)化的時候,我們提到要在服務(wù)端緩存一個 GOP 數(shù)據(jù),當播放器申請碼流的時候,快速下發(fā)這個緩存的 GOP,以實現(xiàn)秒開。

但是,播放器拿到的這段 GOP 數(shù)據(jù),是一段歷史的 GOP 數(shù)據(jù),而不是實時的數(shù)據(jù),要播放完這段 GOP 緩存數(shù)據(jù)是需要一段時間的,假設(shè)該直播的 GOP 大小是 5s,則直接會導致播放器的延時至少達到 5s

2.4 緩沖區(qū)

播放器技術(shù)分享(5):延時優(yōu)化

無論是推流端、還是分發(fā)端或者是播放器本身,都是會存在一些緩沖區(qū)的,以應(yīng)對如網(wǎng)絡(luò)、性能等抖動帶來的問題。

假設(shè)視頻的幀率是 30fps,那么,每緩沖 30 幀,相當于帶來了 1s 的延時。由此可見,緩沖區(qū)帶來的延時是比較大的,是導致延時的大因素之一。

2.5 HLS 切片

播放器技術(shù)分享(5):延時優(yōu)化

如果播放使用的是 HLS 協(xié)議,如圖所示,假設(shè)服務(wù)端按照 3~10s 為單位來切片生成 ts 文件,則會直接導致播放的延時會達到 3~10s,這是該協(xié)議在延時方面的硬傷,如果對直播延時敏感,一般改用 RTMP 或者 HTTP-FLV 協(xié)議來拉直播流。

3 如何優(yōu)化播放延時呢 ?

與首開優(yōu)化的思路類似,要優(yōu)化播放延時,關(guān)鍵就是從影響延時的各個因素入手,基本思路列表如下;

1. 網(wǎng)絡(luò)線路優(yōu)化

    • 選擇優(yōu)質(zhì)的 CDN 加速服務(wù),保障傳輸?shù)木W(wǎng)絡(luò)帶寬和線路資源

    • 測速選線,動態(tài)監(jiān)測,智能調(diào)度,確保每一路流的傳輸質(zhì)量

2. 降緩沖區(qū)

    • 生產(chǎn)端減小 GOP 大小,從而減少服務(wù)端 GOP 緩存的大小

    • 生產(chǎn)端根據(jù)發(fā)送緩沖區(qū)情況,動態(tài)調(diào)整幀率、碼率

    • 播放端主動丟幀/追幀/倍數(shù)播放,加快緩沖區(qū)的消耗

3. 協(xié)議/傳輸優(yōu)化

    • Based on TCP -> Based on UDP,如:QUIC,RTP/RTCP

    • 傳輸策略優(yōu)化:前向糾錯,丟包重傳策略,擁塞控制優(yōu)化,關(guān)鍵幀請求等

4. 處理性能優(yōu)化

    • 硬件編解碼/美顏/渲染等處理

    • 算法性能調(diào)優(yōu)

由于這里的每一項優(yōu)化,都需要較大的篇幅來闡述,網(wǎng)上也有許多相關(guān)的討論和文章,我就不展開講了,后面有機會再做深度分享。

4 總結(jié)

播放器的延時優(yōu)化,就分享到這里了,如有疑問的小伙伴歡迎來信 lujun.hust@gmail.com 交流。另外,也歡迎大家關(guān)注我的新浪微博 @盧_俊 或者 微信公眾號 @Jhuster 獲取最新的文章和資訊。

播放器技術(shù)分享(5):延時優(yōu)化

當前名稱:播放器技術(shù)分享(5):延時優(yōu)化-創(chuàng)新互聯(lián)
新聞來源:http://vcdvsql.cn/article2/phhoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站導航網(wǎng)站策劃網(wǎng)站改版全網(wǎng)營銷推廣小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)