有沒有辦法從 Safari 中的 HTML 視訊標籤擷取音訊和視訊?
P粉904450959
P粉904450959 2024-03-31 12:27:03
0
1
448

在chrome和firefox中,我們可以使用HTMLMediaElement.captureMediaStream()來擷取串流。但 Safari 不支援 HTMLMediaElement.captureMediaStream()。

視訊標籤的來源是分段接收的 hls 資料。

是否有其他方法在 Safari 中將媒體資料擷取為 MediaStream?

P粉904450959
P粉904450959

全部回覆(1)
P粉845862826

Safari 不支援直接 captureMediaStream 方法,至少目前如此,如您所見,但實現此目的的一種方法是使用基於瀏覽器 ffmpeg 的方法。

過去,在瀏覽器中執行 ffmpeg 對於大多數任務來說並不現實,因為它太大且太慢,但最近基於 WASM(Web 組件)的 ffmpeg 實作使其更易於存取。

您可以利用以下程式庫建立自己的基於 ffmpeg 的解決方案:

#您確實需要意識到 SharedArrayBuffer 支持的必要性:

上面提到的連結在這裡:https://caniuse.com/sharedarraybuffer

#我發現它對許多常見的 ffmpeg 任務效果很好,但它對較大的視訊檔案很敏感 - 我沒有嘗試過 HLS 到檔案轉換,因此您需要進行試驗才能看到它滿足您的需求。這裡有一個演示,您可以在其中測試您的用例:https://ffmpegwasm.netlify。應用程式/#demo

您要使用的 ffmpeg 命令取決於音頻,但很可能:

(有關詳細信息,請參閱此問題和答案:將 HLS (m3u8) 轉換為 MP4

還有一些開源現成的解決方案可供您查看 - 例如:

#
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板