首頁  >  問答  >  主體

有沒有辦法從 Safari 中的 HTML 視訊標籤擷取音訊和視訊?

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

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

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

P粉904450959P粉904450959182 天前341

全部回覆(1)我來回復

  • P粉845862826

    P粉8458628262024-04-01 11:13:54

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

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

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

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

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

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

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

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

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

    #

    回覆
    0
  • 取消回覆