日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

播放器的四個主要優(yōu)化部分

牽手一起夢 ? 來源:LiveVideoStack ? 作者:佚名 ? 2020-06-03 15:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

視頻體驗由開始的視頻清晰流暢,演變到現在的視頻快速響應、即點即放、快速切換等等。基于這些優(yōu)化林勇平將介紹播放器的一些技巧,使得視頻體驗在較少改動的情況下就能達到極致體驗的效果。

本文主要分為四個部分:一是服務端優(yōu)化;二是播放器優(yōu)化;三是播放策略優(yōu)化;四是緩存優(yōu)化。將這幾部分組合起來就可以保視頻秒開、無縫滑動等等優(yōu)化,保證在整體上進行較少改動的情況下達到一個較好的效果。

1. 服務端優(yōu)化

播放器的四個主要優(yōu)化部分

第一部分提到的是服務端優(yōu)化,主要分為三個部分,首先是服務數據優(yōu)化,即服務端數據的基礎準備。在格式選擇方面,有MP4、FMP4、DASH、HLS和自定義格式,對于短視頻類的視頻格式大部分是MP4,對于長視頻類的格式可能有HLS、DASH、自定義格式。因為長文件的頭是比較大的,所以一般用上面說的描述文件,或者是分段MP4及FMP4文件,使MOOV頭信息變小,可以保證視頻即點即開。

現有的大部分短視頻使用的是MP4格式,選擇MP4格式主要是文件信息頭MOOV的信息應該是前移的而不是在文件末尾,所以需要整個服務端進行一遍轉碼。對于數目chunk而言,一個chunk可能包含幾幀,如果設置不對,對于某些播放器就需要下載一個chunk才可以播放,這就需要下載很多的數據,從而影響第一段的播放或者前面的播放。很多音頻特別容易出現這種情況,有些播放器中所有的幀都在一個chunk里面,這就需要下載這個chunk才能播放,就增加了等待的時間。

編碼器的選擇上,現在的編碼器一般都是H.264或者H.265,這需要根據各家公司的選擇。H.264主要是比較通用,H.265則是碼率比較好。在數據和信息的預取方面,如果一個頁面有很多視頻的時候,當點擊一個視頻時,該視頻里面的table等信息是可以預取的,方便后面點開播放進行前期準備。

第二是cdn的調度優(yōu)化,在視頻播放之前,首先要對dns進行解析,通過服務器調度把最近的或者熱流地方的IP進行解析。網絡切換,就是假如在4G、WiFi之間進行切換的時候,先對IP的解析進行預取,網絡切換情況如果是WiFi到4G,需要有一些提示;從4G到WiFi則不需要提示,而是需要及時地將這批IP切下去,因為不同服務商的cdn可能不一樣。

第三是P2P的點播,這主要是為了節(jié)省cdn費用,一般可以節(jié)省25%以上的費用,對于視頻和音頻公司來說,這些寬帶費用是很高的。

播放器的四個主要優(yōu)化部分

這張圖展示的是信息的預取,就是獲取table里視頻頁中可以獲取的數據,以保證視頻秒開,即點即放,即預取一定的數據,點開就播放。48k相當于大概不到一秒的數據,先下載后點開,就直接播放了。

2. 播放器優(yōu)化

播放器的四個主要優(yōu)化部分

第二部分是播放器優(yōu)化,首先是點播優(yōu)化,它主要是各個模塊的一些優(yōu)化。其次是直播優(yōu)化,它不僅包含各個模塊優(yōu)化,還要有一個播放速率的控制,以保證較低延遲。

播放器的四個主要優(yōu)化部分

直播播放的大體框架就是由下載管理、文件解析、緩存管理、視頻解碼、視頻渲染、音頻解碼、音頻處理、音頻渲染這幾部分組成。對于直播來說多了“緩存管理”這一模塊,當緩存管理大到一定程度,需要進行變速或者丟幀。一般的情況下,如果緩存管理大于兩秒,就可以把這個兩秒的數據一直丟到I幀,以保證其低延遲。如果緩存管理大過一秒,這時就可以控制播放速率,可以播快一定的速度使其追上來,以保證低延遲??傊?,緩存管理就是檢查現有的播放器里的緩存的大小,以判斷延遲的的大小是否正常,若不正常是否需要丟幀或者加速。

2.1 文件解析優(yōu)化

播放器的四個主要優(yōu)化部分

對于文件解析優(yōu)化這部分,首先是緩存管理,有的播放器是解析一幀數據就丟一幀數據,這時若推到后臺再推到前臺時,對于已經丟棄的數據,當前幀需要返回重新下載,而緩存管理不將過去的數據全部丟棄,至少保留某一個I幀。

其次是時間對齊,MP4 文件有時候音頻時間從0開始,但是視頻可能是從100ms開始,這時開始播放視頻,假如第一幀視頻出現,但音頻就要從0開始播放到100再播放到33才有第二幀,這時大概有133毫秒的停頓,對于視頻來說相當于播第一下的時候就會卡頓一下,所以時間對齊就是MP4在一定時間,即音頻大概多于多少的時候,可以把它丟掉,保證一開始播放時視頻和音頻同時起步,就不會引起第一幀卡頓的感覺。

三是后臺播放,它在直播場景中比較常見的,后臺播放時無需解碼,但需要AV同步,可以用原始幀時間同步,但也要保留至前一個I幀,然后再用解碼幀進行AV同步。對于點播,推到后臺時一般是暫停的,但是對于后臺有些時候不能用硬解碼,回到前臺的時候,可以直接用seek(getPosition)。

四是斷點重連,是直播中常見的一個。點播中斷點重連影響不大,直播中斷點重連就是在直播中發(fā)生連接中斷了,重連時的時間戳從0開始下載,新下載的數據需要加一個tag,說明時間已經發(fā)生變化,表示這一幀不用保證AV同步,對用戶來說是感覺不到是否發(fā)生中斷的。

播放器的四個主要優(yōu)化部分

圖中是一個MP4文件,圖中的左邊介紹了box類型,右邊是對其的說明。文件里的chunk offset表示每個chunk的文件偏移,一般短視頻的moov較小,對于MP4來說,其前面的頭信息還是較多的,其中ctts是為了I、B、P幀設置的。

播放器的四個主要優(yōu)化部分

圖中是一個FLV文件,圖中上部是FLV Header,下部是FLV Body。

2.2 解碼器優(yōu)化

播放器的四個主要優(yōu)化部分

關于解碼器優(yōu)化,首先硬件解碼主要有MediaCodec、AudioToolbox、后臺播放。其次軟件解碼優(yōu)化中的多線程優(yōu)化主要有兩種:Frame Module、Slice Module??焖俚谝粠堑谝粠M去之后不會立馬出來,這時候就需要不斷塞數據讓第一幀快速出來,因為視頻解碼有參考幀概念。

2.3 渲染優(yōu)化

播放器的四個主要優(yōu)化部分

渲染優(yōu)化主要體現在一些選擇方式上,對于安卓來說有native windows、Opengles、MediaCodec三種;而IOS可以選擇Opengles,但要考慮前臺、后臺播放問題。其中native windows和Opengles相比,Opengles的限制比較多,而native windows沒有現成的限制。

3. 播放策略優(yōu)化

第三部分是播放策略優(yōu)化,對于直播來說,首先是cdn調度預取,當前頁面直播列表要調度所有直播鏈接,獲取直播地址,直接用當前的cdn的IP進行播放。其次翻頁播放選擇多播放器進行翻頁播放,當前頁播放時翻到下一頁,點擊時下一個播放器已經啟動播放,相當于兩個播放器同時播放,上滑播放上一個播放器,下滑播放下一個播放器,只不過下一個播放器的音量在非當前頁面時為0,當點擊結束時,下一播放器在當前頁面時的音量從0變?yōu)?。

對于點播來說,首先頁面預取加速就是點播在當前頁面會有一個數據的預取,大概500毫秒數據時就可以點擊播放,一般需要獲取多少數據由服務器決定。其次翻頁多播放器,不同于直播時的兩個播放器同時進行播放,點播翻頁播放在播放當前頁面的時候,可以把上一個和下一個直接準備好,上滑時準備好上一個播放器,下滑時準備好下一個播放器,翻頁時直接就準備播放。

對于消息返回和打點,首先如果碰到異常情況,播放器不能處理的時候,將消息拋到客戶端,由客戶端反饋給用戶一些提示,如網絡或者文件錯誤等情況。其次打點對于cdn的連接時間、http的請求時間,下載第一幀數據、第一幀解碼和展示所有花費的時間都由服務器打點,由服務器統計決定哪些地方還需要再優(yōu)化,或者哪個cdn需要再進一步優(yōu)化。直播一般十秒打一個十秒的信息,對當前播放的音頻碼率、視頻碼率、原始碼率是否有丟幀、卡頓等信息都會進行打點,這對服務器進行后續(xù)檢查直播或者點播中各種問題和進行各種優(yōu)化都很有幫助。所以直播和點播打點,就是對各個方面和各個數據進行打點,以便后續(xù)的找出合理的方式進行優(yōu)化。

4. 緩存優(yōu)化

第四部分是緩存優(yōu)化,緩存優(yōu)化優(yōu)點很明顯,首先是節(jié)省cdn經費,即邊播放邊緩存文件,推到前臺或者往回seek的時候,邊播邊存的優(yōu)勢就會顯示出來。其次是分塊存取,即播放當前頁時需要快速拖動,需要保存所拖動地方的文件,保證緩存空間和下載的數據是對應的,以保證回放時節(jié)省流量。
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 視頻
    +關注

    關注

    6

    文章

    2015

    瀏覽量

    75209
  • 服務
    +關注

    關注

    0

    文章

    76

    瀏覽量

    18891
  • 優(yōu)化
    +關注

    關注

    0

    文章

    221

    瀏覽量

    24774
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LP3910:硬盤式便攜媒體播放器的電源管理利器

    和性能。今天,我們就來深入了解一下德州儀器(TI)的LP3910電源管理集成電路。 文件下載: LP3910SQX-AA NOPB.pdf 一、產品概述 LP3910是一款專為硬盤式便攜媒體播放器優(yōu)化的可編程系統電源管理單元。它集成了多種功能模塊,包括兩
    的頭像 發(fā)表于 04-30 15:45 ?394次閱讀

    USB RFID讀寫四個常見應用

    任何需要小型、低成本讀卡的應用,都值得考慮USB RFID讀寫。USB讀寫器具備大部分大型同類的基本功能,只是功率稍低一些。如果你有一款非常適合RFID的應用,但又想控制預算,可以看看斯科的USB桌面讀寫
    的頭像 發(fā)表于 04-13 14:51 ?684次閱讀

    PCBA生產過程的四個主要環(huán)節(jié)?

    PCBA生產過程的四個主要環(huán)節(jié) PCBA(Printed Circuit Board Assembly)生產過程是將電子元器件組裝到印刷電路板(PCB)上,形成完整電子產品的過程。雖然直接參考資料
    的頭像 發(fā)表于 03-05 11:13 ?466次閱讀

    固態(tài)斷路采用SiC JFET的四個理由

    性能。我們已介紹過浪涌電流、應對不斷攀升的電力需求、為什么要使用固態(tài)斷路。本文為系列教程的第二部分,將介紹SSCB 采用 SiC JFET 的四個理由。
    的頭像 發(fā)表于 01-16 15:45 ?1.6w次閱讀
    固態(tài)斷路<b class='flag-5'>器</b>采用SiC JFET的<b class='flag-5'>四個</b>理由

    合科泰MOSFET選型的四個核心步驟

    面對數據手冊中繁雜的參數,如何快速鎖定適合應用的 MOSFET?遵循以下四個核心步驟,您能系統化地完成選型,避免因關鍵參數遺漏導致的設計風險。
    的頭像 發(fā)表于 12-19 10:33 ?957次閱讀

    花椒直播開源鴻蒙專屬直播播放器 助力高效開發(fā)高性能直播應用

    解決方案。HJPlayer采用高度模塊化、可擴展的插件化架構,不僅能穩(wěn)定支持多播放實例與靈活的插件編排,還集成了強大的視頻后處理渲染能力,從而廣泛兼容各類復雜直播場景。針對用戶體驗核心指標,播放器進行了系統性深度優(yōu)化,通過連接預
    的頭像 發(fā)表于 10-22 11:20 ?530次閱讀
    花椒直播開源鴻蒙專屬直播<b class='flag-5'>播放器</b> 助力高效開發(fā)高性能直播應用

    創(chuàng)通聯達助力飛傲M27革新便攜HiFi播放器體驗

    2025年8月15日,飛傲在第19屆深圳國際音頻展(SIAS)正式發(fā)布年度旗艦播放器FIIO M27。作為基于創(chuàng)通聯達TurboX C6490 SOM打造的標桿產品,M27憑借該模塊的卓越性能與飛傲自研聲學技術形成協同突破,為用戶帶來全方位、全場景的優(yōu)秀音頻體驗,全面革新便攜HiFi
    的頭像 發(fā)表于 08-19 16:15 ?2490次閱讀

    【創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗】9、帶音頻波形顯示的QT音樂播放器

    IMX6U倉庫/正點原子I.MX6U 嵌入式Qt開發(fā)指南例程源碼 本文主要目標是在原播放器基礎上增加可視化時域波形(音頻振幅)功能。 以下是完整實現方法: 1. 核心思路 時域波形 :直接繪制音頻 PCM
    發(fā)表于 08-08 19:18

    Made with KiCad(135):Echo - 開源的音樂播放器

    “? Echo 是一開源硬件平臺,專為音樂播放器設計。該項目的目標是開發(fā)一款基于開源軟件并采用開源設計的高品質音樂播放器。 ” ? Made with KiCad 系列將支持新的展示方式。直接將以
    的頭像 發(fā)表于 07-16 11:17 ?3402次閱讀
    Made with KiCad(135):Echo - 開源的音樂<b class='flag-5'>播放器</b>

    基于STM32的音樂播放器電路+PCB源文件+源碼+論文等打包下載

    基于STM32的音樂播放器電路+PCB源文件+源碼+論文等打包,推薦下載!
    發(fā)表于 05-29 21:37

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口 skyworksinc

    電子發(fā)燒友網為你提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口相關產品參數、數據手冊,更有
    發(fā)表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>頻前端模塊,帶<b class='flag-5'>四個</b>線性 TRx 開關端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口 skyworksinc

    電子發(fā)燒友網為你提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 頻前端模塊,帶四個線性 TRx 開關端口相關產品參數、數據手冊,更有
    發(fā)表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>頻前端模塊,帶<b class='flag-5'>四個</b>線性 TRx 開關端口 skyworksinc

    用于頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四個線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc

    電子發(fā)燒友網為你提供()用于頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四個線性 TRx 開關端口和雙頻 TD-SCDMA相關產品參數、數據手冊,更有用于頻 GSM
    發(fā)表于 05-28 18:31
    用于<b class='flag-5'>四</b>頻 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四個</b>線性 TRx 開關端口和雙頻 TD-SCDMA skyworksinc

    ADAU1787四個ADC、兩DAC、帶音頻DSP的低功耗編解碼技術手冊

    ADAU1787 是一款具有四個輸入和兩輸出的編解碼,其中整合了兩個數字信號處理 (DSP)。從模擬輸入到 DSP 內核再到模擬輸出的路徑已針對低延遲進行
    的頭像 發(fā)表于 05-12 14:57 ?1806次閱讀
    ADAU1787<b class='flag-5'>四個</b>ADC、兩<b class='flag-5'>個</b>DAC、帶音頻DSP的低功耗編解碼<b class='flag-5'>器</b>技術手冊

    PLC產品故障問題測試的四個部分

    ,必須對故障問題進行系統化測試。本文將詳細介紹PLC產品故障問題測試的四個關鍵部分,幫助技術人員快速定位和解決問題。 一、硬件測試 硬件測試是PLC故障診斷的首要環(huán)節(jié),主要針對PLC設備的物理部件進行檢查。首先,需要檢查電源模塊
    的頭像 發(fā)表于 05-11 17:00 ?2207次閱讀
    PLC產品故障問題測試的<b class='flag-5'>四個</b><b class='flag-5'>部分</b>
    渭源县| 建昌县| 博罗县| 宝应县| 来宾市| 望城县| 灌阳县| 漳州市| 本溪市| 鲁山县| 达孜县| 高碑店市| 潮安县| 赤城县| 广河县| 漾濞| 泸定县| 桐梓县| 利川市| 湘乡市| 建昌县| 隆子县| 百色市| 塔河县| 湘潭市| 永年县| 岱山县| 太原市| 贺兰县| 北安市| 静乐县| 灵武市| 阿拉善右旗| 克拉玛依市| 兴业县| 梁平县| 郑州市| 泗水县| 龙海市| 新乡市| 克什克腾旗|