www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > > 充電吧
[導(dǎo)讀]作者:七牛云本篇是《視頻直播技術(shù)詳解》系列的最后一篇直播云 SDK 性能測(cè)試模型,SDK 的性能對(duì)最終 App 的影響非常大。SDK 版本迭代快速,每次發(fā)布前都要進(jìn)行系統(tǒng)的測(cè)試,測(cè)試要有比較一致的行為

作者:七牛云

本篇是《視頻直播技術(shù)詳解》系列的最后一篇直播云 SDK 性能測(cè)試模型,SDK 的性能對(duì)最終 App 的影響非常大。SDK 版本迭代快速,每次發(fā)布前都要進(jìn)行系統(tǒng)的測(cè)試,測(cè)試要有比較一致的行為,要有性能模型作為理論基礎(chǔ),對(duì) SDK 的性能做量化評(píng)估。本文就是來探討影響 SDK 性能的指標(biāo)并建立相應(yīng)的性能模型的。

?

影響視頻質(zhì)量和大小的重要參數(shù)

在進(jìn)行測(cè)試之前我們需要明確幾個(gè)對(duì)視頻的質(zhì)量和大小影響最大的參數(shù):幀率、碼率和分辨率。

1)如何制定幀率

一幀就是一副靜止的畫面,連續(xù)的幀就形成動(dòng)畫,如電視圖象等。我們通常說幀數(shù),簡(jiǎn)單地說,就是在 1 秒鐘時(shí)間里傳輸?shù)膱D片的數(shù),也可以理解為圖形處理器每秒鐘能夠刷新幾次,通常用 fps(Frames Per Second)表示。每一幀都是靜止的圖象,快速連續(xù)地顯示幀便形成了運(yùn)動(dòng)的假象。高的幀率可以得到更流暢、更逼真的動(dòng)畫。每秒鐘幀數(shù) (fps) 愈多,所顯示的動(dòng)作就會(huì)愈流暢。

2)如何制定碼率

我們首先看視頻編碼的目的,它是為了在有限的帶寬中傳輸盡可能清晰的視頻,我們以每秒 25 幀的圖像舉例,25 幀圖像中定義了 GOP 組,目前主要是有 I,B,P 幀三種幀格式,I 幀是關(guān)鍵幀,你可以想象它就是一幅 JPEG 壓縮圖像,而 B,P 幀是依靠 I 幀存在的,如果丟失了 I 幀,B,P 幀是看不到圖像的,B,P 幀描述的不是實(shí)際的圖像像素內(nèi)容,而是每個(gè)相關(guān)像素的變化量,他們相對(duì)于 I 幀信息量會(huì)很小。GOP 組是指一個(gè)關(guān)鍵幀I幀所在的組的長(zhǎng)度,每個(gè) GOP 組只有 1 個(gè) I 幀。

我們?cè)賮砜矗唤M畫面的碼流大小跟什么有關(guān)?當(dāng)視頻編碼的壓縮方式都一樣,清晰度要求都一樣的時(shí)候,GOP 組的長(zhǎng)度格式?jīng)Q定了碼流的大小,例如:每秒 25 幀畫面,GOP 組長(zhǎng)度為 5,那么幀格式為 IBPBP,那么 1 秒鐘有 5 個(gè) I 幀,10 個(gè) B 幀,10 個(gè) P 幀,如果 GOP 組長(zhǎng)度為 15,幀格式就是 IBBPBBPBBPBBPBB,那么 1 秒鐘內(nèi)會(huì)有 2 個(gè) I 幀和 16 個(gè) B 幀和 7 個(gè) P 幀,那么 5 個(gè) I 幀比 2 個(gè) I 幀占用的數(shù)據(jù)信息量大,所以 GOP 組的長(zhǎng)度格式也決定了碼流的大小。

3)如何指定分辨率

分辨率概念視頻分辨率是指視頻成像產(chǎn)品所成圖像的大小或尺寸。常見的視像分辨率有 640×480,1088×720,1920×1088。在成像的兩組數(shù)字中,前者為圖片長(zhǎng)度,后者為圖片的寬度,兩者相乘得出的是圖片的像素。

?影響 SDK 性能的指標(biāo)

有了上述的前置知識(shí),我們可以開始準(zhǔn)備測(cè)試 SDK 的性能了,我們首先分析一下都有哪些指標(biāo)可以反映 SDK 的性能,分成 Android 和 iOS 兩個(gè)平臺(tái):

Android

GC :可以通過 GC 日志記錄,Mirror GC 和 Full GC 的頻次和時(shí)間,F(xiàn)ull GC 會(huì)造成比較明顯的卡頓,需要評(píng)估UI Loop 就是 VSync Loop :反映 SDK 對(duì) App 流暢度的影響,理論上 60 fps 是最流暢的值。Memory :反映 SDK 占用內(nèi)存的大小CPU Usage :反映 SDK 占用計(jì)算資源的大小

iOS

UI Loop :反映 SDK 對(duì) App 流暢度的影響,理論上 60 fps 是最流暢的值。Memory :反映 SDK 占用內(nèi)存的大小CPU Usage :反映 SDK 占用計(jì)算資源的大小

除了上面的一些系統(tǒng)級(jí)別的指標(biāo)外,下面是直播 SDK 中特有的一些指標(biāo),這些指標(biāo)可以反映出 SDK 的核心競(jìng)爭(zhēng)力和一些主要的差異,涉及到視頻的清晰度和流暢度,也是可以量化的。

1)影響視頻清晰度的指標(biāo)

幀率碼率分辨率量化參數(shù)(壓縮比)

2)影響視頻流暢度的指標(biāo)

碼率幀率

3)其他重要指標(biāo)

直播是流量和性能的消耗大戶,有一些指標(biāo),直接影響了用戶的感受,也是我們需要重點(diǎn)關(guān)注的:

耗電量發(fā)熱(不好量化,大部分情況發(fā)熱和耗電量正比,可以使用耗電量暫時(shí)替代)?測(cè)試計(jì)劃

測(cè)試過程需要先固化一些測(cè)試條件,然后根據(jù)不同的測(cè)試條件得出測(cè)試結(jié)果,這里選擇了兩個(gè)現(xiàn)在最常見的條件,是我們通過回訪大量的客戶得出的一些統(tǒng)計(jì)數(shù)字,可以反映大部分直播應(yīng)用所處的場(chǎng)景。主要從分辨率、視頻處理、碼率和網(wǎng)絡(luò)環(huán)境幾個(gè)維度進(jìn)行限制。
最后分為幾個(gè)兩種測(cè)試指標(biāo):客觀和主觀指標(biāo),前者反映了 SDK 對(duì)系統(tǒng)的消耗程度,但雖說是客觀指標(biāo)并不是說對(duì)用戶沒有影響、只是說得出的結(jié)果用戶感受不明顯。主觀指標(biāo)則會(huì)直接影響最終用戶體驗(yàn),但在傳統(tǒng)的測(cè)試中反而容易被忽略,因?yàn)椴缓昧炕?,這里拍磚引玉的提出一些量化的方式,希望引起讀者的思考。

測(cè)試條件 A

分辨率 480p無水印,無美顏碼率 1 M網(wǎng)絡(luò)保證在 0.5 M ~ 2 M

這個(gè)條件,反映了大部分低速網(wǎng)絡(luò)情況下的使用場(chǎng)景,也反映了 SDK 基本的性能情況,可以作為 SDK 基本推流和拉流情況下的基準(zhǔn)測(cè)試,不引入太多的測(cè)試依賴。

測(cè)試條件 B

分辨率 720p無水印,有美顏碼率 1 M網(wǎng)絡(luò)保證在 0.5 M ~ 2 M

這個(gè)條件,反映了大部分客戶的使用場(chǎng)景,具有較高的分辨率和美顏視頻處理,可以作為 SDK 競(jìng)品分析的重要依據(jù),測(cè)試結(jié)果非常接近真實(shí)場(chǎng)景。

1)客觀指標(biāo)測(cè)試計(jì)劃
客觀影響 App 穩(wěn)定性和性能的指標(biāo):

Memory測(cè)試 10 分鐘,內(nèi)存曲線測(cè)試 1 小時(shí),TP99,TP95,TP90,需要?dú)w檔測(cè)試 1 小時(shí),內(nèi)存增量,考察是否有內(nèi)存泄露,需要?dú)w檔參考值:上次結(jié)果CPU測(cè)試 10 分鐘,CPU Usage 曲線測(cè)試 10 分鐘,TP99,TP95,TP90,需要?dú)w檔參考值:上次結(jié)果碼率測(cè)試 10 分鐘,TP99,TP95,TP90,重點(diǎn)說明,這里的碼率控制需要分開來看,如果網(wǎng)絡(luò)抖動(dòng)造成碼率降低,這樣的點(diǎn)不計(jì)入進(jìn)來,只測(cè)試 SDK 碼率控制,需要?dú)w檔參考值:1 M(大小都是偏差)耗電量測(cè)試一小時(shí),記錄進(jìn)程總耗電量、屏幕顯示耗電量、CPU 耗電量,需要?dú)w檔參考值:上次結(jié)果

2)主觀指標(biāo)測(cè)試計(jì)劃
主觀影響 App 使用者的指標(biāo):

UI Loop App 本身可以達(dá)到的最大幀率,不同于視頻幀率,統(tǒng)計(jì)他的原因是我們的 SDK 可能會(huì)影響整個(gè) App 的流暢度,需要跟蹤測(cè)試 10 分鐘,UI Loop 曲線測(cè)試 10 分鐘,UI Loop TP99,TP95,TP90,需要?dú)w檔反復(fù)比較參考值:60 fpsAndroid GC測(cè)試 1 小時(shí),記錄 Mirror GC 和 Full GC 的頻次,記錄 GC 時(shí)長(zhǎng)的 TP99,TP95,TP90,需要?dú)w檔反復(fù)比較參考值:上次結(jié)果幀率(fps)測(cè)試 10 分鐘,TP99,TP95,TP90,需要?dú)w檔反復(fù)比較參考值:30 fpsPSNR 比較視頻清晰度的指標(biāo)測(cè)試 10 分鐘,需要?dú)w檔反復(fù)比較,這個(gè)指標(biāo)可以使用固定視頻作為輸入。參考值:上次結(jié)果

3)結(jié)果顯示

表格顯示具體指標(biāo)曲線顯示原始數(shù)據(jù)和時(shí)間軸的數(shù)據(jù)熱圖顯示和參考值的偏差熱圖顯示距離上次歸檔值是改善了還是惡化了

通過這種反復(fù)迭代的自動(dòng)化的、系統(tǒng)化的測(cè)試,我們以職人之心近乎偏執(zhí)地反復(fù)打磨著 SDK 的性能,只為給最終用戶帶來最好的直播體驗(yàn),幫助我們的客戶通過次時(shí)代的媒體最大化自己的商業(yè)價(jià)值,我們希望在您披荊斬棘的路上我們始終相伴。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

機(jī)緣巧合最近接觸了一下瑞芯微的rk3568平臺(tái),從拿到sdk到完整編譯跑起來,遇到了一些坑,分享給大家。

關(guān)鍵字: 瑞芯微 rk3568 sdk

事實(shí)證明,盡管官方發(fā)布的Ice Cream Sandwich距三星Galaxy Nexus的正式發(fā)布還有幾天,但該搜索引擎巨頭還是決定讓所有人都知道會(huì)發(fā)生什么。幾個(gè)小時(shí)前,我們宣布已發(fā)布了備受期待的Android 4.0...

關(guān)鍵字: android4.0 sdk mydroidworld

今日,《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序(App) SDK安全指南》(以下簡(jiǎn)稱《指南》)編制工作研討會(huì)在北京召開。據(jù)悉,該《指南》將會(huì)是國(guó)內(nèi)首個(gè)關(guān)于SDK安全的國(guó)家標(biāo)準(zhǔn)。 此前,全國(guó)信息安全標(biāo)準(zhǔn)化技術(shù)委員會(huì)公示了2

關(guān)鍵字: app sdk 國(guó)家標(biāo)準(zhǔn)

  CSR公司日前宣布推出CSRatlas7™ ,這是一款面向汽車制造商的高度集成的低成本預(yù)裝影音解決方案,旨在幫助整個(gè)行業(yè)應(yīng)對(duì)復(fù)雜性的挑戰(zhàn)并滿足其對(duì)互操作性的需求。通過將娛樂信息系

關(guān)鍵字: homekit nrf51 sdk 低功耗 藍(lán)牙智能

  之前我們對(duì)LED智能照明的“熱現(xiàn)象”進(jìn)行了“冷思考”,從行業(yè)、產(chǎn)品、市場(chǎng)三個(gè)方面分析了智能照明的發(fā)展現(xiàn)狀。步入2016年,智能照明又將走向何方

關(guān)鍵字: sdk 車聯(lián)網(wǎng) okdrive

  11月8日消息,AR領(lǐng)域的創(chuàng)業(yè)公司亮風(fēng)臺(tái)推出第二代AR移動(dòng)眼鏡。去年11月,亮風(fēng)臺(tái)推出了首款雙目AR眼鏡原型機(jī)。時(shí)隔一年,這支來自上海的IT老兵隊(duì)伍推出了二代HiAR Glasses,在體驗(yàn)

關(guān)鍵字: ar眼鏡 sdk

7月30日消息,據(jù)工信部發(fā)布的消息,為切實(shí)加強(qiáng)用戶個(gè)人信息保護(hù),按照2020年信息通信行業(yè)行風(fēng)建設(shè)暨糾風(fēng)工作安排,工業(yè)和信息化部7月29日下午在京召開會(huì)議,部署開展縱深推進(jìn)APP侵害用戶權(quán)益專項(xiàng)整治行

關(guān)鍵字: app sdk 工信部

8月1日消息 今日,中國(guó)互聯(lián)網(wǎng)金融協(xié)會(huì)發(fā)布了。提示指出,央視在近期舉辦的 2020 年 “3·15”晚會(huì)報(bào)道了 SDK(Software Development Kit,即 “軟件開發(fā)工具包”)違規(guī)超

關(guān)鍵字: sdk

百度大腦離線面部識(shí)別SDK是一款在設(shè)備端定位相應(yīng)面部識(shí)別算法的產(chǎn)品。它包括面部檢測(cè)和檢測(cè),實(shí)時(shí)多模式檢測(cè),面部比較和檢測(cè)等功能,可以在沒有網(wǎng)絡(luò)的環(huán)境中使用。全面的功能,例如身份驗(yàn)證,駕駛員狀況分析,注意力識(shí)別和離線面部屬...

關(guān)鍵字: ARM Linux sdk

硅谷三維人機(jī)交互公司uSens凌感近日發(fā)布新版Fingo SDK,在手勢(shì)算法底層進(jìn)行了突破性改進(jìn),新增一系列雙手交互動(dòng)作,如握拳、手心寫字、十指交叉等,在同類產(chǎn)品中,率先實(shí)現(xiàn)對(duì)大面積遮擋的雙手交

關(guān)鍵字: sdk usens凌感 手勢(shì)識(shí)別
關(guān)閉