2015-06-11 26 views
1

我想使用Google的ExoPlayer區分從HLS流傳入的數據的內容類型。在流中區分HLS內容

具體來說,我想區分視頻和純音頻內容。

謝謝!

回答

1

Accoridng到Exoplayer文檔播放器目前不支持在所有檢測的媒體格式:

ExoPlayer沒有(還)自動檢測媒體的格式進行播放。應用程序需要知道它希望播放的媒體的格式,以便構建能夠播放它的ExoPlayer。問題#438跟蹤刪除此限制。

上面提到的問題,鏈接是:https://github.com/google/ExoPlayer/issues/438

你可以看一下原始流自己,如果你能訪問它(它是不加密的),並從那裏弄清楚,如果是音頻或視頻,但該將需要合理的工作量:HLS是一種「流媒體協議」,可以將MPEG-2傳輸流分成多個部分。這些MPEG-2傳輸流中的每一個都可以包含音頻和視頻。

MPEG標準(MPEG 1和MPEG 2)使用流ID識別傳輸流中的每個單獨的音頻或視頻流。音頻流編號爲110X XXXX和視頻流1110XXXX - 因此,您可以檢查MPEG2傳輸流中的所有單獨流,並查看它是僅音頻,僅視頻還是混音。

+0

不錯的報價。更好的解決方案建議。你能否用一個片段編輯你的答案來測試MPEG-2傳輸流是否包含音頻/視頻/兩者?謝謝 – nurxyz

+0

增加了一些關於如何檢查音頻和視頻流的更多細節 - 抱歉沒有任何代碼給你!這將是一個合理的工作量 - 可能值得嘗試玩家,看看是否有一些更簡單的技巧可以用來滿足您的需求,例如,如果您嘗試播放視頻HLS流沒有視頻,然後簡單地捕捉錯誤,並假設該流只是音頻。 – Mick

+0

我會嘗試一下,並用代碼片段更新 - 然後您可以將它們添加到您的答案,我會選擇它 - 謝謝! – nurxyz