成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

阿里UC播放技術負責人徐慧書:音視頻秒播技術優化

原創
開發 前端 開發工具
近幾年直播和短視頻的興起,將整個音視頻消費推上了一個新的高度,甚至可以說每一位互聯網用戶都是視頻消費用戶,并且其中相當多的一部分還是視頻生產用戶。作為一名技術人員,該如何去看待當下火熱繁榮的視頻消費生態呢?

?[[443150]]??

【51CTO.com原創稿件】

 作者丨徐慧書

策劃丨徐承杰

近幾年直播和短視頻的興起,將整個音視頻消費推上了一個新的高度,甚至可以說每一位互聯網用戶都是視頻消費用戶,并且其中相當多的一部分還是視頻生產用戶。作為一名技術人員,該如何去看待當下火熱繁榮的視頻消費生態呢?前不久,來自阿里巴巴的高級技術專家、UC 播放技術負責人徐慧書針對視頻、播放器及視頻啟播技術優化等話題進行了詳細地解讀與分享。

視頻的壓縮存儲

1、容器概念

如今,人們每天都會接觸視頻,視頻文件很大,視頻文件所包含的信息也很多。想要對這些信息進行組織,就需要利用容器。容器可以通過嚴格的規范,組織存放視頻中的各類信息,在這個領域做的比較好的是 mp4。當然也有應對于直播、高清等各種差異化需求的一些其他的容器格式。而容器中所存放的最為重要的便是視頻數據本身。視頻的原始數據是非常大的,以 1080P 的電影為例,90 分鐘時長,一秒 30 幀的幀率,其原始視頻的大小大概是一萬億個字節,換算成更有體感的數據,就是 1TB。

???

2、視頻壓縮的多種方法

因此,在進行視頻數據存儲時需要對視頻的原始數據進行壓縮。視頻是由一幀一幀的圖片組成的,利用人的視覺暫留的特點,通過連續播放形成動畫效果。因此在進行視頻壓縮時,首先需要考慮對單張圖片進行幀內壓縮,其本質是去除空間內的冗余信息。例如在這張圖片中,女神的頭發都是黑色的,如此以來,在進行圖片存儲時,一個宏塊之中只需要存儲一個像素點即可,這樣做便可以實現空間冗余信息的大幅壓縮。除了幀內壓縮,視頻壓縮還有另一個重要概念——幀間壓縮。視頻在時間上有一定的連續性,因此視頻中連續出現的圖片會有非常大的相似性。在面對相似圖片時,只存儲差異信息,相同信息則不進行記錄,這樣可以使視頻的壓縮率保持在一個極高的水平。

???

除了對“量”的要求,視頻壓縮對“質”的要求同樣重要。視頻壓縮是有損壓縮,在壓縮過程中,需要考慮人的視覺特性,對圖像中視覺不敏感的地方進行大幅壓縮,視覺敏感的地方則進行小幅度壓縮,盡可能保證視頻質量少受損失。在視頻中每幀圖像都是由像素點組成的,而每個像素點都是由亮度和色度這兩個維度所組成。人在觀看視頻的過程中,對亮度的敏感性是更高的。但圖像一般是由 RGB 三基色所描繪的,其中并沒有亮度這個維度。想要保證視頻在壓縮過程中亮度不丟失,則需要引入 YUV 的概念。YUV 是圖像的一種新的表現形式,Y 表示亮度上的分量,UV 表示色度上的分量。在圖像的壓縮過程中,利用 YUV 將圖像的亮度和色度進行分離,便可保證壓縮色度時亮度數據不受到影響。YUV 的轉換公式較為特殊,該公式并非推導公式,而是來于自實驗室的實驗數據。是通過實驗進行反復大量的驗證,最終得出的實驗參數。

???

Apollo & 秒播優化

1、初識 Apollo 播放器

Apollo 是 UC 一款內核自研的視頻播放器,擁有高性能、高可用、高業務服務能力以及低資源消耗等優點。作為一款自研播放器,Apollo 在視頻播放的流程上與其他播放器保持了基本的一致,首先進行數據獲取,而后通過 FFmpeg 解協議解封裝以得到原始數據,接著通過解碼解壓以及 YUV 轉化得到 RGB 數據,最后通過 PDS 進行音視頻同步并渲染到相應的驅動設備上,以實現視頻和音頻的呈現。而 Apollo 最大的特點,是接管了 FFmpeg 底層的數據網絡庫,并對數據層進行非常多的優化。

???

2、精準預加載的新思路

在如今的移動視頻消費中,用戶最關注的一點是視頻秒播,而視頻秒播則需要視頻預加載技術的支持。傳統的預加載方案面臨流量消耗和秒播平衡的挑戰,預加載過多會造成資源浪費,預加載過少則可能會由于數據缺失導致秒播失敗。傳統的預加載方案以視頻文件大小為視角進行數據的預加載,但由于每一個視頻秒播所需的數據都不同,因此傳統的預加載方案例如估算和特定 size 的方法其實都無法做到對數據的精準預加載。而 Apollo 在執行預加載的過程中,以用戶播放為視角并模擬用戶播放的行為。當所加載數據達到啟播需求時,將這些數據進行緩存。這樣,當預加載命中時,就必然能夠實現視頻的秒播。但這也引出一個新的問題,播放是一個非常消耗資源的行為,不可能因為預加載的優化措施而浪費用戶資源。因此,我們通過對整個流程的梳理與重構,將 FFmpeg 抽離為 FFmpegMediaStream,將其從捆綁式的播放流程中解耦,作為一個通用的基礎組件供播放與預加載共同使用。這樣即可在不啟動高資源消耗模塊的情況下,實現輕量級的模擬用戶播放。

???

優化案例分享

1、Mp3 播放優化方案

一個傳統的 Mp3 文件由頭文件、音頻數據及末尾的版權信息記錄組成。在播放過程中,會優先讀取頭文件,接著跳轉到末尾讀取版權信息,最后跳轉回中間讀取音頻信息并進行播放。這種讀取方式在離線消費時代是沒有問題的,但在在線播放時代,這樣的讀取方式會建立三次 HTTP 連接,每一次連接都會進行 TCP 的三次握手。在國內網絡比較好的情況下,一次也需要 100 多毫秒,而在公域或網絡條件較差的情況下,所需的時間更會成倍增長。為解決這個問題,我們取消了播放過程中版權信息的讀取。由于在在線消費時代,這些數據都來自于 API 獲取,且經過大量的數據分析,我們發現 Mp3 文件中末尾的版權信息都是無效數據,僅是用于格式對齊。因此這樣做并不會影響 Mp3 文件的正常讀取,且利用這種新的讀取模式能夠將啟播的耗時降低 60%。

???

2、Mp4 播放優化方案

Mp4 的結構是由 MOOV 數據頭和媒體數據組成的,在 MOOV 數據頭中會詳細記錄視頻中的每一幀信息,因此視頻時間越長,MOOV 頭數據就會越多,這也就是在觀看長電影時啟播速度慢的原因。當然這依然是較為理想的情況,在現實情況中,FFmpeg 在處理視頻時,會默認將 MOOV 頭后置,這會導致啟播從一次 HTTP 連接增加為三次,進一步增加啟播的耗時。在進行這類場景的優化時,針對這種內部自 seek 情況,可以將前一次的連接任務進行保存,當完成 MOOV 頭數據讀取后,再進行連接復用,這樣既可以減少一次 HTTP 連接,還可以增加網絡吞吐量。這種 MOOV 后置的優化方式,可以將 Mp4 文件的播放性能提升 10% 以上。

???

3、HLS 播放優化方案

HLS 是蘋果推出的一款流媒體傳輸協議。由一個后綴名為“.m3u8”的 TXT 的索引文件與指定個數的 TS 切片文件組成的。m3u8 文件記錄了每一個 TS 文件的時長、順序與下載鏈接。HLS 視頻的基礎播放流程是,首先開始 m3u8 文件的下載,而后對文件進行同步的解析與下載,接著逐個下載 TS 文件直到用戶播放。但在長電影的播放場景下,TS 文件的個數有可能會多達幾千個,這將影響視頻的啟播速度。針對這類場景的優化,我們采用的是在解析 m3u8 文件時,增加流失解析,解析到第一個 TS 文件時即開啟預下載,等解析完 m3u8 文件后再去做第一個 TS 文件的下載,這樣就能夠將 TS 文件從網絡數據的下載,轉化為本地數據的獲取。如此以來,TS 文件的下載效率將得到極大的提升。

???

總結與展望

本次分享主要介紹了視頻與移動播放器的概念,以及視頻秒播優化的一些思路和方案。在未來,更加豐富的業務場景還將對播放器的極致優化提出更多新的挑戰。視頻起播全鏈路耗時治理,公、私域視頻特點結合的優化提速將會是 Apollo 技術團隊后續的重點研究方向。希望在將來能夠給大家帶來更加豐富的成果展示與技術分享。

嘉賓介紹

徐慧書,阿里巴巴高級技術專家 /UC 播放技術負責人,負責阿里創新事業群播放器技術團隊,致力于打造業界最快的視頻播放器。服務 UC 國內、國際瀏覽器數億音視頻用戶,不斷提升用戶公、私域音視頻播放體驗,同時拓展阿里集團支付寶、釘釘、高德、天貓精靈、互娛等多個超級 App 及數十個業務板塊的 web& 小程序視頻播放業務,承載每日近 30 億的視頻播放量。

2022 年 4 月 9 日的 WOT 全球技術創新大會“音視頻體驗優化”專題中,徐慧書老師也將作為演講嘉賓為大家帶來《Android 自研播放器起播性能優化》的演講。主要分享除常規視頻秒播技術優化外,基于自研播放器的視頻播放全鏈路研究成果,內容涉及視頻的數據加載、預加載、硬解碼、主流格式針對性優化等方面的進一步優化。除此之外,來自阿里、快手、Disney 等企業的數位資深技術專家,也將在該專題中為大家帶來有關音視頻應用體驗優化的最佳實踐經驗分享。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

???


???


責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2015-11-16 10:16:56

技術蛻變創業

2022-06-20 05:59:35

5G技術音視頻技術安卓系統

2014-05-21 16:04:38

面試面試規則

2014-06-27 14:49:41

SDN

2016-01-15 10:47:08

技術團隊能力

2017-03-13 15:30:22

慕尼黑WindowsLiMux

2023-09-11 11:14:54

IT團隊CIO

2019-04-01 13:20:34

技術負責人CEO

2024-10-15 13:30:03

2009-04-01 10:43:26

雅虎產品技術離職

2011-03-11 13:18:44

2014-01-21 16:13:01

2019-07-29 15:24:34

CEO技術負責人加班

2019-09-27 10:30:28

技術研發開源

2018-08-14 12:59:00

大數據

2016-11-02 08:47:07

DevOps技術IT

2013-02-26 09:53:19

2022-09-06 17:58:11

技術雙11

2020-05-14 10:42:42

裁員,技術管理,技術負
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲狠狠爱 | 欧美中文在线 | 午夜久久久 | 在线成人av| 久久激情视频 | 日批免费看| 国产视频亚洲视频 | 精品国产鲁一鲁一区二区张丽 | 亚洲综合大片69999 | 日韩在线欧美 | 97成人在线 | 国产精品国产 | 欧美成人h版在线观看 | 福利一区二区在线 | 天天夜干| 日韩福利片 | 天天玩天天操天天干 | 亚洲国产一区二区三区, | 蜜桃视频一区二区三区 | 91九色麻豆 | 精品日韩一区 | 国产h视频 | 国产精品一区二区视频 | 欧美精品成人一区二区三区四区 | 99热在线播放 | 欧美色成人 | 亚洲精品国产成人 | 日韩在线 | 精品国产一区三区 | 国产免费a视频 | 91正在播放 | 精品日韩在线 | 欧美综合久久 | 最新日韩在线视频 | 中文天堂网 | 国产一在线观看 | 欧美一区二区另类 | 国产精品久久精品 | 国产精品伦一区二区三级视频 | 毛片在线看片 | 欧美黄视频 |