BitrateProber解讀

BitrateProber也是PacedSender的屬性類(lèi),第一眼看到BitrateProber
這個(gè)類(lèi)名時(shí)以為是類(lèi)似網(wǎng)速探測(cè)功能的,其實(shí)不然,BitrateProber只是為了維持一段時(shí)間和數(shù)據(jù)量?jī)?nèi)發(fā)送的網(wǎng)速不低于某一比特率,(其實(shí)也是探測(cè)網(wǎng)速的一個(gè)輔助功能,只有發(fā)送足量的數(shù)據(jù),才好測(cè)量當(dāng)前網(wǎng)速),所以在整個(gè)直播生命周期中,該類(lèi)激活的時(shí)間比較短。一般檢測(cè)到網(wǎng)速突變時(shí)會(huì)觸發(fā)。

重要函數(shù)解讀:

int64_t BitrateProber::GetNextProbeTime(const ProbeCluster&

cluster):根據(jù)網(wǎng)速和已經(jīng)發(fā)送的數(shù)據(jù)量獲得,大概算法是(已經(jīng)發(fā)送的數(shù)據(jù)量/當(dāng)前碼率)+當(dāng)前時(shí)間(代碼中只有發(fā)送完成后調(diào)用,所以只發(fā)送完一段數(shù)據(jù))。暫時(shí)不知道這樣的意義,為什么消耗了多長(zhǎng)時(shí)間就要等待多長(zhǎng)時(shí)間?(補(bǔ)充,因?yàn)閞tp發(fā)送無(wú)法知道是否成功發(fā)送,這里只是按照指定的網(wǎng)速一直發(fā)送,所以下次發(fā)送的時(shí)間 = 已發(fā)送的大小/碼率)

size_t BitrateProber::RecommendedMinProbeSize() :獲取每次發(fā)送的大小,與碼率有關(guān)系,根據(jù)碼率每次發(fā)送2ms的數(shù)據(jù)

重要接口解讀:

void BitrateProber::CreateProbeCluster(int bitrate_bps, int64_t now_ms):創(chuàng)建ProbeCluster,實(shí)際ProbeCluster表示一次Probe過(guò)程,一個(gè)BitrateProber可以有多個(gè)ProbeCluster,但是只能是創(chuàng)建時(shí)間在5s之內(nèi)的,否則新的會(huì)釋放舊的。下面的所以網(wǎng)速皆指此初始化的bitrate_bps。也就可以理解每次網(wǎng)速變化大的時(shí)候就會(huì)重新該過(guò)程

void BitrateProber::OnIncomingPacket(size_t packet_size):觸發(fā)ProbingState::kActive狀態(tài),但是條件是packet_size不能太小,具體大小和當(dāng)前網(wǎng)速有關(guān)系,一般是200B,除非預(yù)測(cè)網(wǎng)速在100Bk/s以下。

int BitrateProber::TimeUntilNextProbe(int64_t now_ms):下一次Probe時(shí)間,主要用于通知線程下一次循環(huán)時(shí)間

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 對(duì)于rtp,PacedSender是非常重要的一個(gè)關(guān)節(jié),因?yàn)閞tp發(fā)送不知道數(shù)據(jù)發(fā)送是否成功,但是發(fā)送太多肯定容...
    MinorUncle閱讀 1,013評(píng)論 0 0
  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,988評(píng)論 0 3
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 12,445評(píng)論 6 13
  • 本文轉(zhuǎn)自:FFmpeg 入門(mén)(1):截取視頻幀 | www.samirchen.com 背景 在 Mac OS 上...
    SamirChen閱讀 9,603評(píng)論 6 15
  • 我們可以把因特網(wǎng)看成由許多主干網(wǎng)絡(luò)組成,而這些主干網(wǎng)絡(luò)由一些國(guó)際的、國(guó)家的和地區(qū)的ISP來(lái)運(yùn)營(yíng)。主干網(wǎng)通過(guò)一些連接...
    Zhang21閱讀 3,551評(píng)論 0 6

友情鏈接更多精彩內(nèi)容