I use ffmpeg transform mp4 to m3u8; And it keep the same codec value. And when I use fetch to get an ts buffer and append it to MSE instance. So badly. It doesn't work.
Some Code here:
function sourceOpen(e) {
URL.revokeObjectURL(video.src);
// var mime = 'video/mp4; codecs="avc1.42c015, mp4a.40.5"';avc1.42001e"
var mime = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
var mediaSource = e.target;
sourceBuffer = mediaSource.addSourceBuffer(mime);
var videoUrl = './video/' + playManifest.segments[index]['uri'];
log('.js-log-m3u8', 'Fetch Segment ~' + videoUrl);
fetch(videoUrl, {
// headers: { range: 'bytes=0-5671398' }
})
.then(function (response) {
return response.arrayBuffer();
})
.then(function (arrayBuffer) {
sourceBuffer.appendBuffer(arrayBuffer);
sourceBuffer.addEventListener('updateend', updateEnd);
});
}
Online test page: http://events.jackpu.com/media-source/