Как сделать предпросмотр видео в формате m3u8 в videojs после загрузки через input?

Мне нужно загружать видео в формате m3u8 на сервер через input с устройства, но при этом помещать их в плеер videojs для предпросмотра, как можно это сделать? Сам плеер прекрасно читает этот формат и без проблем проигрывает видео, которые уже есть на сервере.

Рабочий пример на HTML5 теге video (с mp4):

<video class="player" src="url..." controls style="width: 700px;"></video>

<input class="upload" type="file">
<script>
    document.querySelector('.upload').addEventListener('change', function() {
        const video = this.files[0];
        const url = URL.createObjectURL(video);
        document.querySelector(".player").src = url;
    }
</script>

Но подобный способ не работает в моем случае, в консоли вылазит ошибка: "Uncaught TypeError: Failed to construct 'URL': Invalid URL" и видео конечно же не грузится.

Вот какой вид имеет скрипт моего videojs:

const player = videojs('player', {
    aspectRatio: '16:9',
    html5: {
        vhs: {
            withCredentials: true,
        }
    },
    restoreEl: true
});
player.src({type: 'application/x-mpegURL', src: url});
player.hlsQualitySelector({
    displayCurrentQuality: true,
});

После загрузки нового видео через input, я инициализирую плеер и подставляю url, как в примере с HTML5 тегом выше, в src.

Помогите, пожалуйста, с решением этой проблемы!


Ответы (0 шт):