suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Gibt es eine Möglichkeit, Audio und Video aus dem HTML-Video-Tag in Safari aufzunehmen?

In Chrome und Firefox können wir HTMLMediaElement.captureMediaStream() verwenden, um den Stream zu erfassen. Aber Safari unterstützt HTMLMediaElement.captureMediaStream() nicht.

Die Quelle des Video-Tags sind die in Segmenten empfangenen HLS-Daten.

Gibt es eine andere Möglichkeit, Mediendaten als MediaStream in Safari zu erfassen?

P粉904450959P粉904450959231 Tage vor446

Antworte allen(1)Ich werde antworten

  • 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

    还有一些开源现成的解决方案可供您查看 - 例如:

    Antwort
    0
  • StornierenAntwort