2014-01-10 41 views
1

HTTP實時流會話中的I幀的推薦位置是什麼?我知道,如果我要使用#EXT-X-I-FRAMES-ONLY標籤,那麼每個片段在片段的最開始處恰好包含1個I-Frame。HTTP實時流(m3u8)I幀的位置

但是如果我不使用這個標籤呢?

如果我嚴格根據時間長度創建細分,該怎麼辦?

如果一個段不是以I幀開始的,玩家通常會假設他們應該根據前一個段的最後一個I幀來計算圖像嗎?如果是這樣,那爲什麼我甚至會創建一個#EXT-X-I-FRAMES-ONLY播放列表?

回答

3

建議TS中的第一幀是I幀,但這不是必需的。 如果某個細分受衆羣並非以iframe開頭,則假設它已經下載並播放了上一個細分受衆羣,則它會播放正常。但是,如果您的用戶跳到實時流的中間位置,切換比特率或在VOD內尋找,這可能並非如此。在播放或尋找事件的情況下,播放器可以下載先前的段(如果可用)並查找I幀,或者丟棄幀,直到找到第一個iframe。如果它是多比特流,則它可以繼續播放舊流,直到找到新流中的關鍵幀。但是這增加了帶寬使用,並且幾乎肯定會導致緩衝。

#EXT-X-I-FRAMES-ONLY播放列表可用於預覽圖像,同時通過內容進行清理。

+1

非常感謝!所有問題的答案! –

+0

問題側面,如果每個片段都以iframe開頭,但它可能有更多,我是否應該爲縮略圖添加#EXT-X-I-FRAMES-ONLY?它會傷害任何東西嗎? –

+0

不,它不會受到傷害,但是您應該應用#EXT-X-BYTERANGE,以便它只下載縮略圖,而不是整個片段。 – szatmary

0

從Apple技術說明tn2288,iframe唯一播放列表和byterange的組合可用於特技模式以及通過索引到段中。