問題タブ [media-source]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Websocket 経由でビデオを Firefox にストリーミングできない
sourcebuffer
Chrome と Edge で動作するように、websocket を介していくつかのコード ストリーム ビデオを作成しました。
ただし、これを Firefox で実行すると、ビデオが再生されず、糸車のアニメーションが表示されるだけです。<video>
統計を確認するHAVE_METADATA
と、準備完了状態とNETWORK_LOADING
ネットワーク状態として表示されます。
コードは次のようになります。
ios - iOS 上の HTML5 MSE
Chrome Mobile を使用して iOS で hls.js を動作させようとしていますが、Chrome Mobile は必ず必要な MediaSourceExtensions をサポートしていないことに気付きました。
MSE は iOS でサポートされていますか? (Chrome Mobile、Firefox Mobile .. ?) そうでない場合、実装する予定はありますか?
javascript - PCM データを MediaSource に追加する
だから私は、ビデオの再生にGoogle のShaka プレーヤーを使用する Web アプリを持っています。MediaSource API を使用して、オーディオ セグメントとビデオ セグメントをストリーミングします。
オーディオ トラックの生の PCM データに対してオーディオ処理を行いたいと考えています。オーディオ セグメントを .mp4 形式で取得し、これらを ArrayBuffer の形式で SourceBuffer に追加し、それを MediaSource に追加して再生することがわかります。このフローをハイジャックし、データを PCM にデコードし、何らかの処理を行ってから、処理した PCM を SourceBuffer に戻す方法はありますか? .mp4 から PCM へのセグメントを取得するためのAudioContext.decodeAudioData API があるようですが、これはAudioBufferSourceNodeと AudioBuffer を返しますが、これは通常の SourceBuffer に追加できません。これを回避する方法はありますか?
PCM データを .mp4 に再エンコードできると思いますが、それは大きな無駄のようです。
javascript - Chrome: fetch/XHR 経由でダウンロードされているビデオを再生するには
私が達成しようとしているのは、Chromeにビデオファイルをデータとして(Fetch API、XHRなどを介して)ロード<video>
させ、同じURLに対して2つの別々のリクエストを発行せずに、ダウンロード中に使用して再生することです。ファイルが完全にダウンロードされます。
ReadableStream
Fetch API ( ) から取得するのは簡単ですが、それを要素response.body
にフィードする方法が見つかりません。これには、オブジェクトを使用して作成できる URL がvideo
必要であることがわかりました。ただし、必要なように聞こえるメソッドは Chrome に実装されていないため、ストリームをオブジェクトに直接接続することはできません。blob
MediaSource
SourceBuffer#appendStream
MediaSource
おそらく、ストリームをチャンクで読み取り、Uint8Array
それらから を作成し、 を使用できますSourceBuffer#appendBuffer
が、これは、チャンク サイズが非常に小さい場合を除き、再生がすぐに開始されないことを意味します。また、これらすべての API がすぐに実行できるはずのことを、手動で実行しているようにも感じます。他に解決策がなく、この方法を使用する場合、どのような注意が必要ですか?
のブロブ URL を作成する他の方法はおそらくありますReadableStream
か? または、リクエストを作成fetch
して<video>
共有する方法はありますか? 非常に多くの新しい API があるため、簡単に何かを見落としてしまう可能性があります。
mpeg-dash - 独自のライブ ダッシュ プレーヤーを作成する
メディアソースを使用してライブ MPEG-DASH を再生する独自のコードを作成しようとしています。データの取得には成功しましたが、プレーヤーで表示できません。
このコードは、ライブではないソースを使用しているときに機能しましたが、ライブ コードでは機能しませんでした。私は何が欠けていますか?