Могу ли я играть в BLOB-объекты, созданные с помощью createobjecturl, с помощью m3u8? - PullRequest
0 голосов
/ 16 апреля 2020

Я получаю видеоданные с помощью веб-сокета.

Затем создайте URL-адрес, используя window.URL.createObjectURL

Сгенерированный URL-адрес работает нормально, если 'type = video / mp4'

Однако я хочу использовать 'type = application / x-mpegURL'.

Т.е. хочу воспроизвести URL-адрес блоба с m3u8

Это мой исходный код

var media = this.media = data.media; // media is video tag
var ms = this.mediaSource = new MediaSource();

this.onmso = this.onMediaSourceOpen.bind(this);
this.onmse = this.onMediaSourceEnded.bind(this);
this.onmsc = this.onMediaSourceClose.bind(this);
ms.addEventListener('sourceopen', this.onmso);
ms.addEventListener('sourceended', this.onmse);
ms.addEventListener('sourceclose', this.onmsc);

var videojs = require('video.js');

var source = document.createElement('source');
source.src = window.URL.createObjectURL(ms);
source.type = "application/x-mpegURL"

var element = document.getElementById(media.id)
element.classList.add('video-js', 'vjs-default-skin');
element.classList.add('playsinline', 'controls')

this.media.appendChild(source)
var player = videojs(this.media);
player.play();

  1. Можно ли воспроизвести URL-адрес BLOB-объекта в m3u8?

  2. Можно ли создать m3u8 с использованием URL-адреса BLOB-объекта?

1 Ответ

0 голосов
/ 16 апреля 2020

Вы не можете играть в нее напрямую. m3u8 - это просто текстовый файл, который ссылается на видео объекты. Эти видеообъекты должны быть загружены и добавлены в BLOB-объект. Если видео ts, его также нужно будет сменить на fmp4.

...