直播專(zhuān)題問(wèn)題排查-音畫(huà)不同步(五)

音畫(huà)不同步

1. 音畫(huà)不同步的表現(xiàn)

很容易判斷庵楷,就是畫(huà)面和聲音不匹配鸵赖。

2. 音畫(huà)同步的基礎(chǔ)概念

首先我們要明白一個(gè)概念抚恒,雖然人的肉眼赫编,很容易辨別音畫(huà)是否同步的巡蘸,但是機(jī)器則不然,對(duì)于播放器而言擂送,它判斷一幀視頻和一幀音頻是否要在同一個(gè)時(shí)間渲染和播放悦荒,依靠的完全是該數(shù)據(jù)攜帶的時(shí)間戳信息

如果內(nèi)容的生產(chǎn)端音視頻數(shù)據(jù)打的時(shí)間戳本身就有問(wèn)題的話嘹吨,播放器也往往無(wú)能為力了搬味,因此,音畫(huà)不同步問(wèn)題蟀拷,更多的時(shí)候碰纬,應(yīng)該從生產(chǎn)端去排查原因。

3. 音畫(huà)不同步的問(wèn)題排查

3.1 采集源距離太遠(yuǎn)

如果音頻源離麥克風(fēng)距離太遠(yuǎn)问芬,聲音傳播到麥克風(fēng)的速度遠(yuǎn)小于畫(huà)面(光速)悦析,那么,攝像頭采集到畫(huà)面后給出的時(shí)間戳此衅,肯定要遠(yuǎn)小于麥克風(fēng)采集到同一時(shí)刻音頻給出的時(shí)間戳强戴,因此會(huì)產(chǎn)生音畫(huà)不同步問(wèn)題亭螟。

解決方案:音頻源盡可能離麥克風(fēng)設(shè)備近一點(diǎn)

3.2 采集設(shè)備內(nèi)部問(wèn)題

攝像頭和麥克風(fēng)采集音視頻酌泰,在硬件上都會(huì)經(jīng)過(guò)一些信號(hào)處理模塊媒佣,如果處理延時(shí)不穩(wěn)定的時(shí)候,則會(huì)導(dǎo)致輸出數(shù)據(jù)的時(shí)間不穩(wěn)定陵刹,從而導(dǎo)致應(yīng)用層獲取時(shí)間戳的時(shí)候產(chǎn)生誤差默伍,帶來(lái)音畫(huà)不同步問(wèn)題。

解決方案:極少數(shù)硬件/機(jī)型才會(huì)有衰琐,需要根據(jù)采集參數(shù)(如采樣率)做一些 Jitter 抖動(dòng)的矯正也糊。

3.3 時(shí)間戳沒(méi)有在采集的時(shí)候獲取

如果音視頻幀的時(shí)間戳不是在采集的時(shí)候獲取,而是在后續(xù)的某個(gè)環(huán)節(jié)再獲取羡宙,則非常大概率地會(huì)出現(xiàn)音視頻不同步問(wèn)題狸剃。

先舉個(gè)簡(jiǎn)單的:

假設(shè)音頻 A 和 視頻 B 同時(shí)從設(shè)備中被采集出來(lái),時(shí)間戳為:TA 和 TB狗热,他們差值會(huì)很小钞馁,播放端收到后會(huì)認(rèn)為是同一時(shí)刻的音視頻數(shù)據(jù),從而一起播放匿刮。

但是僧凰,當(dāng) 音頻 A 和 視頻 B 分別經(jīng)過(guò)某些算法處理模塊后,我們 “不慎” 在處理后重新獲取當(dāng)前時(shí)間戳為了 TA2 和 TB2熟丸,那么训措,這個(gè)更新后的時(shí)間戳差值可能會(huì)非常大,導(dǎo)致音畫(huà)不同步光羞。

那么绩鸣,一般大家會(huì) “不慎” 在哪些地方更改了采集的時(shí)間戳呢 ?

  • 音視頻算法處理模塊

比如:視頻經(jīng)過(guò)美顏纱兑、編碼后呀闻,重新更新為了處理后的的時(shí)間戳。

  • 緩沖區(qū)導(dǎo)致的不同步

多線程程序中潜慎,往往會(huì)在不同線程之間共享一些幀緩沖區(qū)总珠,緩沖區(qū)會(huì)導(dǎo)致音視頻對(duì)應(yīng)關(guān)系發(fā)生變化,如果從緩沖區(qū)取數(shù)據(jù)后勘纯,拋棄掉了原有的時(shí)間戳,重新使用新的當(dāng)前時(shí)間钓瞭,那么驳遵,肯定會(huì)出現(xiàn)問(wèn)題

  • 網(wǎng)絡(luò)傳輸導(dǎo)致的不同步

由于網(wǎng)絡(luò)的傳輸?shù)难訒r(shí)山涡、丟包等原因堤结,同一時(shí)刻的音視頻包不會(huì)正好同時(shí)準(zhǔn)確到達(dá)唆迁,如果在接收到了數(shù)據(jù)后再打上當(dāng)前的時(shí)間戳,則肯定也會(huì)出現(xiàn)不同步問(wèn)題竞穷。

3.4 時(shí)間戳出現(xiàn)回退或者紊亂

曾經(jīng)有遇到過(guò)一些音畫(huà)不同步的流唐责,我把它的音視頻時(shí)間戳打印出來(lái)后顯示如下的結(jié)果:

音視頻時(shí)間戳.png

該碼流的時(shí)間戳沒(méi)有單調(diào)遞增,而是頻繁出現(xiàn)了回退瘾带,這樣的流鼠哥,會(huì)導(dǎo)致播放器出現(xiàn)頻繁卡頓,因?yàn)椴シ牌鞯?code>master 主時(shí)鐘一般是單調(diào)遞增的看政,當(dāng)出現(xiàn)小于主時(shí)鐘的視頻幀后朴恳,一般會(huì)做丟棄處理,畫(huà)面不更新但是音頻還是在繼續(xù)播放允蚣,從而導(dǎo)致看起來(lái)聲音和畫(huà)面并沒(méi)有匹配上的問(wèn)題于颖。

解決方案:排查推流端時(shí)間戳是否單調(diào)線性遞增,或者排查服務(wù)端是否有對(duì)流的時(shí)間戳有過(guò)修改導(dǎo)致回退嚷兔。

3.5 播放端性能問(wèn)題

比如低端機(jī)型軟解 1080P 的高清碼流森渐,會(huì)存在解碼不夠及時(shí)的問(wèn)題,導(dǎo)致部分視頻解碼完成后冒晰,已經(jīng)遠(yuǎn)慢于當(dāng)前的音頻時(shí)鐘同衣,只能丟棄,從而導(dǎo)致畫(huà)面更新不及時(shí)翩剪,與正在播放的音頻無(wú)法匹配上乳怎,從而產(chǎn)生音畫(huà)不同步的現(xiàn)象。

解決方案:使用硬解前弯,選擇較低清的碼流蚪缀,增大播放緩沖,等等恕出。

閾值.png

優(yōu)化策略.png

直播專(zhuān)題問(wèn)題排查-播放失斞丁(一)
直播專(zhuān)題問(wèn)題排查-播放卡頓(二)
直播專(zhuān)題問(wèn)題排查-首開(kāi)慢(三)
直播專(zhuān)題問(wèn)題排查-延時(shí)高(四)
直播專(zhuān)題問(wèn)題排查-音畫(huà)不同步(五)
直播專(zhuān)題問(wèn)題排查-黑屏、花屏浙巫、閃屏(六)
直播專(zhuān)題問(wèn)題排查-播放雜音金蜀、噪音、回聲(七)
直播專(zhuān)題問(wèn)題排查-拖動(dòng)不準(zhǔn)(八)
直播專(zhuān)題問(wèn)題排查-功耗高(九)
直播專(zhuān)題問(wèn)題排查-馬賽克(十)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載的畴,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者渊抄。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市丧裁,隨后出現(xiàn)的幾起案子护桦,更是在濱河造成了極大的恐慌,老刑警劉巖煎娇,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件二庵,死亡現(xiàn)場(chǎng)離奇詭異贪染,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)催享,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)杭隙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人因妙,你說(shuō)我怎么就攤上這事痰憎。” “怎么了兰迫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵信殊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我汁果,道長(zhǎng)涡拘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任据德,我火速辦了婚禮鳄乏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棘利。我一直安慰自己橱野,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布善玫。 她就那樣靜靜地躺著水援,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茅郎。 梳的紋絲不亂的頭發(fā)上蜗元,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音系冗,去河邊找鬼奕扣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛掌敬,可吹牛的內(nèi)容都是我干的惯豆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼奔害,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼楷兽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起华临,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芯杀,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瘪匿,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年寻馏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棋弥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诚欠,死狀恐怖顽染,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轰绵,我是刑警寧澤粉寞,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站左腔,受9級(jí)特大地震影響唧垦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜液样,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一振亮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鞭莽,春花似錦坊秸、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至喷面,卻和暖如春星瘾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乖酬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工死相, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咬像。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓算撮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親县昂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肮柜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354