SafariでHTMLビデオタグからオーディオとビデオをキャプチャする方法はありますか?
P粉904450959
P粉904450959 2024-03-31 12:27:03
0
1
485

Chrome と Firefox では、HTMLMediaElement.captureMediaStream() を使用してストリームをキャプチャできます。ただし、Safari は HTMLMediaElement.captureMediaStream() をサポートしていません。

video タグのソースは、セグメントで受信した hls データです。

Safari でメディア データを MediaStream としてキャプチャする他の方法はありますか?

P粉904450959
P粉904450959

全員に返信(1)
P粉845862826

ご覧のとおり、少なくとも現時点では、Safari は直接の CaptureMediaStream メソッドをサポートしていませんが、これを実現する 1 つの方法は、ブラウザの ffmpeg ベースのメソッドを使用することです。

以前は、ffmpeg をブラウザーで実行することは、大きすぎて遅すぎるため、ほとんどのタスクにとって実用的ではありませんでしたが、最近の WASM (Web Assembly) ベースの ffmpeg 実装により、よりアクセスしやすくなりました。

次のライブラリを使用して、独自の ffmpeg ベースのソリューションを構築できます:

SharedArrayBuffer サポートの必要性を認識する必要があります:

上記のリンクはこちらです: https://caniuse.com/sharedarraybuffer

これは多くの一般的な ffmpeg タスクにはうまく機能することがわかりましたが、大きなビデオ ファイルには敏感です。HLS からファイルへの変換は試していないので、次のような場合に機能するかどうかを実験する必要があります。あなたの要望。ユースケースをテストできるデモは次のとおりです: https://ffmpegwasm.netlify。アプリケーション/#demo

使用する ffmpeg コマンドはオーディオによって異なりますが、おそらく次のとおりです:

(詳細については、この質問と回答を参照してください: HLS (m3u8) を MP4 に変換する)

チェックアウトできるオープンソースの既製ソリューションもいくつかあります - 例:

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート