問題タブ [whatwg-streams-api]
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 - 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 があるため、簡単に何かを見落としてしまう可能性があります。
stream - リクエストボディとして ReadableStream を使用してフェッチする
ReadableStreamでfetchを使用しようとしています。この例では、ReadableStream は単純に "Some data..." を無期限に繰り返す必要があります。
これはうまくいきません。が 1 回実行される間pull
、要求本文でデータは送信されません。
ReadableStream (または動的データを書き込むことができる任意の種類のストリーム) をフェッチで使用できるようにするにはどうすればよいですか?
あるいは、これがまだ可能でない場合は、これを示していただけますか? ありがとうございました。
注: これは、 HTTP 経由でブラウザーからサーバーにデータをストリーミングする方法からの、より具体的なスピンオフの質問です。