女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

播放器的四個主要優化部分

牽手一起夢 ? 來源:LiveVideoStack ? 作者:佚名 ? 2020-06-03 15:08 ? 次閱讀

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

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

1. 服務端優化

播放器的四個主要優化部分

第一部分提到的是服務端優化,主要分為三個部分,首先是服務數據優化,即服務端數據的基礎準備。在格式選擇方面,有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的調度優化,在視頻播放之前,首先要對dns進行解析,通過服務器調度把最近的或者熱流地方的IP進行解析。網絡切換,就是假如在4G、WiFi之間進行切換的時候,先對IP的解析進行預取,網絡切換情況如果是WiFi到4G,需要有一些提示;從4G到WiFi則不需要提示,而是需要及時地將這批IP切下去,因為不同服務商的cdn可能不一樣。

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

播放器的四個主要優化部分

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

2. 播放器優化

播放器的四個主要優化部分

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

播放器的四個主要優化部分

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

2.1 文件解析優化

播放器的四個主要優化部分

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

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

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

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

播放器的四個主要優化部分

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

播放器的四個主要優化部分

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

2.2 解碼器優化

播放器的四個主要優化部分

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

2.3 渲染優化

播放器的四個主要優化部分

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

3. 播放策略優化

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

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

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

4. 緩存優化

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

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

    關注

    6

    文章

    1969

    瀏覽量

    73690
  • 服務
    +關注

    關注

    0

    文章

    75

    瀏覽量

    18678
  • 優化
    +關注

    關注

    0

    文章

    220

    瀏覽量

    24233
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

    ,必須對故障問題進行系統化測試。本文將詳細介紹PLC產品故障問題測試的四個關鍵部分,幫助技術人員快速定位和解決問題。 一、硬件測試 硬件測試是PLC故障診斷的首要環節,主要針對PLC設備的物理部件進行檢查。首先,需要檢查電源模塊
    的頭像 發表于 05-11 17:00 ?176次閱讀
    PLC產品故障問題測試的<b class='flag-5'>四個</b><b class='flag-5'>部分</b>

    【開源分享】用ESP32復刻一iPod :便攜式音樂播放器Tangara

    Tangara是一款便攜式開源音樂播放器,硬件電路使用KiCad設計,而且它的外殼和固件也是100%開源,點擊閱讀原文或下載鏈接可跳轉下載。它通過3.5毫米耳機插孔或藍牙輸出高品質聲音,電池續航
    的頭像 發表于 04-22 08:05 ?420次閱讀
    【開源分享】用ESP32復刻一<b class='flag-5'>個</b>iPod :便攜式音樂<b class='flag-5'>播放器</b>Tangara

    Made with KiCad:Tangara 便攜式音樂播放器

    的設計哲學 眾多現有便攜式媒體播放器已培育出活躍的社群生態,致力于固件維護、軟件優化及設備翻新升級。Tangara 的設計理念深度契合此類社群精神:我們期望您購買的不僅是一臺設備,更是一能伴隨數十年
    發表于 04-16 14:01

    模數轉換電路的四個過程

    模數轉換(Analog-to-Digital Conversion,簡稱ADC)是將模擬信號轉換為數字信號的關鍵過程,廣泛應用于通信、數據采集、信號處理等領域。模數轉換電路的設計與實現涉及多個關鍵步驟,通常可以分為四個主要過程:采樣、保持、量化和編碼。本文將詳細分析這
    的頭像 發表于 02-03 16:12 ?1246次閱讀

    海貝HiBy R1播放器體驗

    之前分享過用接入便攜耳放來提升音質,讓手機端也能享受HiFi級的聽感體驗。這個方案對于沒有數碼播放器的初燒用戶來說,確實是種非常高效的方法。 但缺點也是有的,比如歌曲存放需要占用手機存儲空間,手機
    的頭像 發表于 01-24 11:27 ?799次閱讀
    海貝HiBy R1<b class='flag-5'>播放器</b>體驗

    索尼發布空間現實顯示播放器新版本

    索尼于2024年12月發布適用于空間現實顯示屏ELF-SR1和ELF-SR2的空間現實顯示播放器新版本。
    的頭像 發表于 12-24 15:19 ?547次閱讀

    畢業設計競賽選題推薦 | 嵌入式Linux應用之音樂播放器項目實戰(含文檔及源碼)

    01引言隨著數字化娛樂日益普及,音樂播放器作為人們生活中不可或缺的一部分,扮演著重要的角色。無論是通勤途中、健身鍛煉還是工作學習,一好用的音樂播放器都能為用戶提供愉悅的音頻體驗,豐富
    的頭像 發表于 12-23 16:50 ?776次閱讀
    畢業設計競賽選題推薦 | 嵌入式Linux應用之音樂<b class='flag-5'>播放器</b>項目實戰(含文檔及源碼)

    海貝R1便攜音樂播放器開箱

    作為一愛聽音樂打發時間的玩家,我已經習慣隨身攜帶一款小巧輕便的音樂播放器,從早期的CD播放器到現在的數碼播放器,它總能在不經意間中給我帶來簡單的快樂。不管是逛街等人的時候,還是工作壓
    的頭像 發表于 12-09 09:40 ?793次閱讀
    海貝R1便攜音樂<b class='flag-5'>播放器</b>開箱

    變速播放器1和2的區別

    關于變速播放器1和2的區別,由于這里并未明確指出“變速播放器1”和“變速播放器2”具體指的是哪兩款軟件,因此我無法提供這兩款特定軟件之間的對比。不過,我可以從一般意義上探討變速播放器
    的頭像 發表于 10-14 09:48 ?579次閱讀

    步步高AB915D DVD播放器維修圖紙

    步步高AB915D DVD播放器采用ZIVA-4.1芯片方案
    發表于 09-29 10:18 ?1次下載

    為什么好的播放器還要配解碼

    好的播放器之所以需要配備解碼,是因為音頻和視頻文件的編碼和解碼是一復雜的過程,涉及到多種技術和標準。解碼的作用是將壓縮的音頻和視頻數據還原成可以被
    的頭像 發表于 09-23 18:02 ?2869次閱讀

    數字播放器和解碼

    數字播放器和解碼的組合能夠提供更優質的音頻體驗。數字播放器負責處理和傳輸音頻數據,而解碼則負責將這些數據轉換為高質量的模擬信號。它們的配合可以確保你聽到的音頻既清晰又真實。
    的頭像 發表于 09-06 17:35 ?1942次閱讀
    數字<b class='flag-5'>播放器</b>和解碼<b class='flag-5'>器</b>

    mpo光纜的四個組成部分

    MPO光纜(Multi-fiber Push On光纜)作為一種高密度的多芯光纖連接解決方案,其組成部分主要包括以下幾個方面: 1. MPO連接 核心部件:MPO連接是MPO光纜的
    的頭像 發表于 09-04 09:58 ?1023次閱讀

    IGBT的四個主要參數

    IGBT的四個主要參數對于選擇合適的IGBT器件至關重要。本文將介紹IGBT的四個主要參數:電壓等級、電流等級、開關頻率和熱性能。 1. 電壓等級 電壓等級是IGBT的一
    的頭像 發表于 07-25 11:05 ?6990次閱讀