中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

關(guān)鍵幀,幀間和視頻壓縮

2019-03-22    來(lái)源:多智時(shí)代

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

關(guān)鍵幀,幀間和視頻壓縮

image

視頻壓縮的默認(rèn)心理圖像涉及不需要的視頻偽像,如圖像中的像素化和塊效應(yīng)。盡管如此,實(shí)際上壓縮視頻內(nèi)容的復(fù)雜性仍然很短。特別是,它忽略了一個(gè)稱為幀間的迷人過(guò)程,它涉及關(guān)鍵幀和增量幀,以便以一種意圖不被注意的方式智能地壓縮內(nèi)容。

本文詳細(xì)介紹了此過(guò)程,同時(shí)還提供了可應(yīng)用于IBM Cloud Video實(shí)時(shí)流式傳輸?shù)淖罴褜?shí)踐和理想編碼器設(shè)置。由于自適應(yīng)比特率,這些具體建議大部分涉及流式傳輸。要了解有關(guān)該技術(shù)的更多信息,請(qǐng)參閱我們的 自適應(yīng)流傳輸如何解決查看器帶寬問(wèn)題白皮書。

了解視頻幀

流媒體技術(shù)有很多術(shù)語(yǔ)和方面可以理所當(dāng)然。隨著某人成為一名廣播公司,有必要更詳細(xì)地了解元素,以了解流程的原因以及最佳設(shè)置。

例如,一個(gè)關(guān)鍵幀是一些廣播公司之前已經(jīng)提到過(guò)的東西,或者看到像Wirecast這樣的編碼器中的設(shè)置,卻沒(méi)有完全意識(shí)到它是什么以及這個(gè)過(guò)程對(duì)于流媒體有多么有益。關(guān)鍵幀是一個(gè)重要元素,但實(shí)際上只是較長(zhǎng)過(guò)程的一部分,有助于減少視頻所需的帶寬。要理解這種關(guān)系,首先需要了解視頻幀。

從高層開始,大多數(shù)人可能意識(shí)到視頻內(nèi)容由一系列幀組成。通常表示為FPS(每秒幀數(shù)),每幀是靜止圖像,當(dāng)按順序播放時(shí),創(chuàng)建運(yùn)動(dòng)圖像。因此,使用30的FPS創(chuàng)建的內(nèi)容意味著有30個(gè)“靜止圖像”將播放每秒視頻。

壓縮的機(jī)會(huì):InterFrame

在一般的視頻中,如果有人要連續(xù)拍攝90幀并將它們展開,他們會(huì)看到很多相同的元素。例如,如果某人正站在一動(dòng)不動(dòng)的植物旁邊說(shuō)話,那么與該植物相關(guān)的信息就不會(huì)發(fā)生變化。結(jié)果,這就是用來(lái)傳達(dá)某些東西沒(méi)有改變的大量浪費(fèi)帶寬。

關(guān)鍵幀,幀間和視頻壓縮

關(guān)鍵幀的靜止幀

因此,在尋找壓縮視頻內(nèi)容的有效方法時(shí),幀管理成為基石原則之一。因此,如果示例中的工廠不會(huì)改變,為什么不繼續(xù)在一些后續(xù)框架中使用相同的元素來(lái)減少空間?

這種認(rèn)識(shí)催生了幀間預(yù)測(cè)的概念。這是一種視頻壓縮技術(shù),它將幀劃分為宏塊,然后查找塊之間的冗余。此過(guò)程通過(guò)使用關(guān)鍵幀(也稱為i幀或幀內(nèi)幀)和增量幀來(lái)實(shí)現(xiàn),增量幀僅存儲(chǔ)圖像中的更改以減少冗余信息。這些幀的集合通常由“圖片組”的相當(dāng)非技術(shù)性的聲音名稱來(lái)引用,縮寫為GOP。用于編碼或解碼數(shù)字?jǐn)?shù)據(jù)流的視頻編解碼器都具有某種形式的幀間管理。H.264,MPEG-2和MPEG-4都使用三幀方法,包括:關(guān)鍵幀,p幀和b幀。

什么是關(guān)鍵幀?

關(guān)鍵幀(i幀)是視頻中圖像的完整幀。后續(xù)幀(增量幀)僅包含已更改的信息。關(guān)鍵幀將在流中多次出現(xiàn),具體取決于它的創(chuàng)建方式或流式傳輸方式。

如果有人使用Google“關(guān)鍵幀”,他們可能會(huì)找到一些與動(dòng)畫和視頻編輯相關(guān)的結(jié)果。在這個(gè)例子中,我們使用關(guān)鍵幀一詞來(lái)說(shuō)明它與視頻壓縮的關(guān)系及其與增量幀的關(guān)系。

關(guān)鍵幀,幀間和視頻壓縮

關(guān)鍵幀和P或B幀示例

P幀如何工作?

也稱為預(yù)測(cè)幀或預(yù)測(cè)幀,p幀遵循另一幀并且僅包含視頻中的圖像的一部分。由于這個(gè)原因,它被歸類為三角形框架。P幀向后看向前一個(gè)p幀或關(guān)鍵幀(i幀)以進(jìn)行冗余。p幀中呈現(xiàn)的圖像量取決于幀之間包含的新信息量。

例如,有人在靜態(tài)背景前與相機(jī)交談可能只包含與其移動(dòng)相關(guān)的信息。然而,有人在相機(jī)平移的情況下穿過(guò)一個(gè)場(chǎng)地,每個(gè)p幀都會(huì)有更多的信息來(lái)匹配它們的移動(dòng)和不斷變化的背景。

什么是B幀?它們與P幀有何不同?

也稱為雙向預(yù)測(cè)幀,b幀遵循另一幀并且僅包含視頻中的圖像的一部分。b幀中包含的圖像量取決于幀之間的新信息量。

與p幀不同,b幀可以向后和向前看到前一個(gè)或后一個(gè)p幀或關(guān)鍵幀(i幀)以進(jìn)行冗余。與p幀相比,這使得b幀更有效,因?yàn)樗鼈兏锌赡馨l(fā)現(xiàn)冗余。但是,當(dāng)編碼配置文件在編碼器內(nèi)設(shè)置為基線時(shí),不使用b幀。這意味著編碼器必須設(shè)置在基線以上的編碼配置文件中,例如“main”或“high”。

你如何設(shè)置關(guān)鍵幀?

關(guān)于用于直播的視頻壓縮,在編碼器內(nèi)設(shè)置關(guān)鍵幀。這是由編碼器內(nèi)部有時(shí)稱為“關(guān)鍵幀間隔”的選項(xiàng)配置的。

關(guān)鍵幀間隔控制在視頻中創(chuàng)建關(guān)鍵幀(i幀)的頻率。關(guān)鍵幀間隔越高,通常對(duì)內(nèi)容應(yīng)用的壓縮越多,盡管這并不意味著質(zhì)量明顯降低。有關(guān)關(guān)鍵幀間隔如何工作的示例,如果您的間隔設(shè)置為每2秒,并且您的幀速率為每秒30幀,則這意味著大約每60幀生成一個(gè)關(guān)鍵幀。

術(shù)語(yǔ)“關(guān)鍵幀間隔”不是通用的,大多數(shù)編碼器都有自己的術(shù)語(yǔ)。例如,Adobe Flash Media Live Encoder(FMLE)和vMix使用術(shù)語(yǔ)“關(guān)鍵幀頻率”來(lái)描述此過(guò)程。其他程序和服務(wù)可能將間隔稱為“GOP大小”或“GOP長(zhǎng)度”,返回“圖片組”縮寫。

在編碼器級(jí)別選擇關(guān)鍵幀間隔

在設(shè)置關(guān)鍵幀間隔方面,它因編碼器而異。

對(duì)于FMLE,此選項(xiàng)(表示為“關(guān)鍵幀頻率”)可通過(guò)單擊格式右側(cè)的扳手圖標(biāo)在軟件編碼器中找到。

在Wirecast中,這是從編碼器預(yù)設(shè)菜單設(shè)置的,該選項(xiàng)稱為“每幀關(guān)鍵幀”。Wirecast是不同的,因?yàn)殚g隔實(shí)際上以幀表示。因此,對(duì)于30 FPS廣播,將“每幀關(guān)鍵幀”設(shè)置為60幀將大致給出2秒的關(guān)鍵幀間隔,因?yàn)槊棵胗?0幀。

對(duì)于vMix編碼器,首先需要點(diǎn)擊流媒體附近的齒輪圖標(biāo),這將打開流媒體設(shè)置。接近質(zhì)量選項(xiàng)的是另一個(gè)齒輪圖標(biāo),單擊此按鈕將打開一個(gè)菜單,可以修改“關(guān)鍵幀頻率”。

關(guān)鍵幀,幀間和視頻壓縮

如何在OBS中設(shè)置關(guān)鍵幀間隔

在開放廣播軟件(OBS)的v0.542b版本中設(shè)置關(guān)鍵幀間隔

在開放式廣播軟件(OBS)中,對(duì)于v0.55b之后的版本,可以在“高級(jí)”下的“設(shè)置”區(qū)域中設(shè)置關(guān)鍵幀間隔。對(duì)于 v0.542b之前的OBS版本,如何修改關(guān)鍵幀間隔并不是很清楚,但這實(shí)際上是“設(shè)置”的一個(gè)組件。在那里,轉(zhuǎn)到Advanced,然后選擇“Custom x264 Encoder Settings”。在此字段中,需要輸入以下字符串:“keyint = XX”,其中XX是觸發(fā)關(guān)鍵幀之前的幀數(shù)。與Wirecast一樣,如果需要2秒的關(guān)鍵幀間隔且FPS為30秒,請(qǐng)輸入以下內(nèi)容:“keyint = 60”。

對(duì)于XSplit,關(guān)鍵幀間隔是通道屬性的一個(gè)組成部分。在視頻編碼區(qū)域下,可以找到一個(gè)名為“Keyframe Interval(secs)”的列表。在這最右邊是一個(gè)齒輪圖標(biāo)。單擊齒輪將啟動(dòng)“視頻編碼設(shè)置”彈出窗口。這將允許某人以秒為單位指定關(guān)鍵幀間隔。

關(guān)鍵幀和比特率之間的關(guān)系

此解釋中的里程可能會(huì)有所不同,因?yàn)榫幋a器會(huì)以不同方式管理比特率和關(guān)鍵幀。使用像Wirecast這樣的編碼器,人們可能會(huì)注意到,與播放某人在移動(dòng)背景中上下跳躍相比,播放某人與靜止背景進(jìn)行對(duì)話的人具有“更高的質(zhì)量”。當(dāng)使用它們之間相同的精確平均比特率和關(guān)鍵幀間隔時(shí),可以重現(xiàn)這一點(diǎn)。造成這種情況的原因部分是因?yàn)樵隽繋谔S示例中有大量信息要分享。冗余非常少,這意味著需要在每個(gè)增量幀上傳送更多數(shù)據(jù)。

但是,如果您有像Wirecast這樣的編碼器,那么它正在努力將流保持在所選擇的平均比特率附近。因此,增量幀中包含的附加信息所需的附加帶寬導(dǎo)致質(zhì)量降低,以試圖將平均比特率保持在相同水平附近。

什么是關(guān)鍵幀間隔的最佳設(shè)置?

從來(lái)沒(méi)有一個(gè)行業(yè)標(biāo)準(zhǔn),雖然10秒經(jīng)常被稱為良好的關(guān)鍵幀間隔,即使不再建議流式傳輸。建議它的原因是,對(duì)于標(biāo)準(zhǔn)的29.97 FPS文件,生成的內(nèi)容響應(yīng)足以支持從預(yù)覽滑塊輕松導(dǎo)航。為了解釋更多,播放器無(wú)法在p幀或b幀上開始播放。因此,使用10秒示例,如果有人試圖導(dǎo)航到進(jìn)入5秒的點(diǎn),它實(shí)際上會(huì)將5秒鐘移回最近的關(guān)鍵幀并開始播放。這被認(rèn)為是較小帶寬消耗的良好折衷,盡管參考DVD選擇使用遠(yuǎn)小于10秒的東西。

但是,對(duì)于直播,推薦級(jí)別已大幅下降。其原因是自適應(yīng)比特率流的出現(xiàn)。對(duì)于那些不熟悉自適應(yīng)流媒體的人來(lái)說(shuō),這項(xiàng)技術(shù)使視頻播放器能夠根據(jù)觀看者試圖觀看時(shí)在可用分辨率和/或比特之間動(dòng)態(tài)變化。因此,如果可用,下載速度較慢的用戶將獲得較低的比特率版本。其他標(biāo)準(zhǔn)(如播放窗口大。┮矔(huì)影響給定的比特率。

關(guān)鍵幀,幀間和視頻壓縮

播放器顯示關(guān)鍵幀

然而,真正的自適應(yīng)流媒體不僅在視頻內(nèi)容最初加載時(shí)進(jìn)行此檢查,而且還可以基于觀看者側(cè)的變化來(lái)改變比特率。例如,如果觀眾要在他們的移動(dòng)設(shè)備上移出Wi-Fi網(wǎng)絡(luò)的范圍,他們將開始使用他們的正常蜂窩服務(wù),這可能導(dǎo)致下載速度變慢。結(jié)果,觀看者可能正在嘗試觀看比其下載速度更高的比特率的內(nèi)容。自適應(yīng)流技術(shù)應(yīng)該實(shí)現(xiàn)這種差異并使切換到不同的比特率。

關(guān)鍵幀間隔在此處起作用,因?yàn)樵谙乱粋(gè)關(guān)鍵幀期間進(jìn)行切換。因此,如果有人以10秒的間隔進(jìn)行廣播,則意味著在比特率和分辨率可能會(huì)發(fā)生變化之前可能需要10秒鐘。這段時(shí)間意味著內(nèi)容可能會(huì)在更改發(fā)生之前緩沖在觀看者一側(cè),這可能導(dǎo)致觀看者放棄。

因此,建議將實(shí)時(shí)流的關(guān)鍵幀間隔設(shè)置為2秒。這產(chǎn)生了一種結(jié)果,其中視頻軌道可以在用戶可能由于其下載速度降低而經(jīng)歷緩沖之前經(jīng)常有效地改變比特率。

什么是IDR框架?

我們正在循環(huán)這一點(diǎn),但在討論什么是IDR幀或瞬時(shí)解碼刷新幀之前,理解p幀,b幀并在自適應(yīng)流媒體中獲得速成課程是值得的。這些實(shí)際上是關(guān)鍵幀,每個(gè)關(guān)鍵幀可以是基于IDR或基于非IDR。兩者之間的區(qū)別在于基于IDR的關(guān)鍵幀是一個(gè)硬停止。IDR幀防止p幀和b幀引用在IDR幀之前發(fā)生的幀。非IDR關(guān)鍵幀將允許這些幀進(jìn)一步追溯冗余。

在紙面上,非IDR關(guān)鍵幀聽起來(lái)很理想:它可以通過(guò)允許查看更大的幀樣本來(lái)減少文件大小。不幸的是,導(dǎo)航出現(xiàn)了很多問(wèn)題,并且該功能與自適應(yīng)流媒體不能很好地兼容。對(duì)于導(dǎo)航,假設(shè)有人開始觀看流中的6分鐘。這會(huì)引起問(wèn)題,因?yàn)閜幀和b幀可能引用了觀眾從未實(shí)際訪問(wèn)過(guò)的信息。對(duì)于自適應(yīng)流傳輸,如果更改比特率和分辨率,則會(huì)出現(xiàn)類似的問(wèn)題。這是因?yàn)樾逻x擇可能引用觀看者以不同質(zhì)量設(shè)置觀看并且不再平行的數(shù)據(jù)。出于這些原因,始終建議基于IDR制作關(guān)鍵幀。

通常,編碼器將提供打開或關(guān)閉基于IDR的關(guān)鍵幀的選項(xiàng),或者根本不提供選項(xiàng)。對(duì)于那些沒(méi)有提供選項(xiàng)的編碼器,幾乎可以肯定是因?yàn)榫幋a器設(shè)置為僅使用IDR幀。

有人應(yīng)該使用“自動(dòng)”關(guān)鍵幀設(shè)置嗎?

簡(jiǎn)而言之:沒(méi)有。

原則上,自動(dòng)關(guān)鍵幀設(shè)置非常棒。他們將在場(chǎng)景更改期間手動(dòng)強(qiáng)制關(guān)鍵幀。例如,如果您從PowerPoint幻燈片切換到在相機(jī)前面說(shuō)話的人的圖像,這會(huì)強(qiáng)制使用新的關(guān)鍵幀。這是理想的,因?yàn)樵隽繋粫?huì)有太多工作,無(wú)法在PowerPoint幻燈片和相機(jī)圖像之間找到冗余。

遺憾的是,此過(guò)程不適用于某些自適應(yīng)流技術(shù),尤其是HLS。HLS過(guò)程要求關(guān)鍵幀可預(yù)測(cè)且同步。使用“自動(dòng)”設(shè)置將在關(guān)鍵幀之間創(chuàng)建可變間隔。例如,關(guān)鍵幀之間的時(shí)間可能是7秒,如果場(chǎng)景發(fā)生快速變化,則可能是2秒。

關(guān)鍵幀,幀間和視頻壓縮

在OBS中設(shè)置關(guān)鍵幀間隔

在OBS v0.55b中設(shè)置整數(shù)以禁用自動(dòng)切換

對(duì)于大多數(shù)編碼器,要禁用“自動(dòng)更改”或“場(chǎng)景變化檢測(cè)”功能,這通常意味著表示關(guān)鍵幀間隔。例如,在OBS中,如果關(guān)鍵幀間隔設(shè)置為0秒,則自動(dòng)功能將啟動(dòng)。在此處放置任何數(shù)字,如1或2,將禁用自動(dòng)功能。

如果編碼器(如Wirecast)具有“關(guān)鍵幀對(duì)齊”選項(xiàng),則應(yīng)該知道這不是同一個(gè)過(guò)程。關(guān)鍵幀對(duì)齊是創(chuàng)建特定時(shí)間戳的過(guò)程,最適合保持廣播公司通過(guò)編碼器同步發(fā)送的多個(gè)比特率。

完善關(guān)鍵幀策略

隨著自適應(yīng)比特率的出現(xiàn),該行業(yè)處于一個(gè)奇怪的時(shí)刻,關(guān)鍵幀和實(shí)時(shí)流的最佳實(shí)踐有一個(gè)非常明確的答案。該戰(zhàn)略包括:

  • 將關(guān)鍵幀間隔設(shè)置為大約2秒

  • 禁用任何“自動(dòng)”關(guān)鍵幀功能

  • 利用基于IDR的關(guān)鍵幀

  • 使用高于基線的編碼配置文件以允許b幀

該策略允許容易地導(dǎo)航內(nèi)容,以便在廣播之后進(jìn)行點(diǎn)播觀看,同時(shí)仍然獲得幀管理的好處并節(jié)省帶寬以減少冗余。它還支持自適應(yīng)btirate流媒體,這是成功直播的重要元素,能夠支持連接速度較慢的觀眾。

作者:納蘭少

鏈接:https://www.jianshu.com/p/6c90f0513084

標(biāo)簽: [db:TAGG]

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:遷移至云之前首先要做好IT資產(chǎn)的整理

下一篇:中端市場(chǎng)SaaS基礎(chǔ)設(shè)施監(jiān)控工具重磅出爐