質問: window.URL.createObjectURL(xhr.response); $("video").attr("src", blob_url); }else { *** エラー処理 *** } }; xhr.open('GET', 'https://www.*****'); xhr.setRequestHeader('Range', 'bytes=0-*****'); xhr.send(); ```
回答: 「moov atom(MP4のメタデータ)」の位置が原因でした。 MP4は通常、この「moov atom」がファイルの最後に記載されているようです。 よって、rangeリクエストでファイルの先頭(bytes=0-*****)だけをダウンロードした場合は、「moov atom」が含まれていないために再生できなかったのです。 ffmpegやHandBrakeなどのツールで先頭に移動させたことで、rangeリクエストによる部分ダウンロードでも再生できるようになりました。