У меня нет одного урла с мастер манифестом, есть отдельно 3 урла с разными разрешениями
https://example.com/mvsz1vqpyxdh52eogfucnxape5pjnj7b/video/video.mp4/640x480.m3u8
https://example.com/mvsz1vqpyxdh52eogfucnxape5pjnj7b/video/video.mp4/1280x720.m3u8
https://example.com/mvsz1vqpyxdh52eogfucnxape5pjnj7b/video/video.mp4/1920x1080.m3u8
Я пытался создать искуственно мастер манифест, но это не работает
const manifestString = [
'#EXTM3U',
'#EXT-X-VERSION:4',
'#EXT-X-STREAM-INF:BANDWIDTH=500,RESOLUTION=640x480',
'https://example.com/mvsz1vqpyxdh52eogfucnxape5pjnj7b/video/video.mp4/640x480.m3u8',
'#EXT-X-STREAM-INF:BANDWIDTH=1000,RESOLUTION=1280x720',
'https://example.com/mvsz1vqpyxdh52eogfucnxape5pjnj7b/video/video.mp4/1280x720.m3u8',
'#EXT-X-STREAM-INF:BANDWIDTH=2000,RESOLUTION=1920x1080',
'https://example.com/mvsz1vqpyxdh52eogfucnxape5pjnj7b/video/video.mp4/1920x1080.m3u8'
].join('\n');
const parser = new m3u8Parser.Parser();
parser.push(manifestString);
parser.end();
const url = `data:application/vnd.videojs.vhs+json,${JSON.stringify(parser.manifest)}`;
const type = 'application/vnd.videojs.vhs+json';
const options = {
html5: {
hls: {
smoothQualityChange: true,
overrideNative: true
}
}
};
try {
window.player = videojs('videoId', options);
window.player.src({
src: url,
type: type
});
} catch(err) {
console.log("caught an error trying to create and add src to player:", err);
}
Как мне это заставить работать?