Как для потоковой передачи файла MKV, используя HTML / Javascript?

Есть ли способ для потоковой передачи файлов MKV на веб-странице, используя javascript / html или любые другие технологии? Я нашел много вопросов по этому поводу, но я действительно хочу знать ответ - возможно ли это в любом случае? Может быть, ajax, javascript, php, html? Может быть, какие-то внешние библиотеки? Что-нибудь?

Мне было интересно, как работает YouTube. Можно ли загрузить файл MKV? Так ли это, как видео передается конечному пользователю?

Я знаю, что браузер изначально не поддерживает mkv, но, может быть, есть какой-то способ заставить html сделать это?

Любая помощь будет оценена.

1 ответ

YouTube, скорее всего, работает в формате протокола DASH. На стороне сервера исходное аудио и исходное видео раздельно разделены на сегменты с разным битрейтом / качеством. В манифесте хранится индекс всех возможных значений сегментов и их расположения. Это позволяет переключать качество во время воспроизведения в плеере.

На стороне клиента манифест DASH (должен быть таким же, как и другая основная технология: HLS) используется проигрывателем для определения местоположения сегментов для загрузки, чтобы передать контент в два отдельных SourceBuffer, один для аудио и один для видео. и оба синхронно воспроизводятся вместе в MediaSource. В качестве примера проигрывателя, который справляется с этим, см. Shaka Player, разработанный Google.

В заключение, нет необходимости использовать контейнер, такой как mkv, но каждый канал (видео, аудио) должен указывать на сегменты, кодированные кодеком, поддерживаемые браузером.

Вам не нужно ничего особенного для потоковой передачи предварительно записанных медиафайлов. Обычный сервер HTTP/1.1 или HTTP/2 будет работать просто отлично. Браузер, как правило, способен искать в файле с помощью запросов диапазона.

Matroska (MKV) - это контейнерный формат, и он на самом деле широко поддерживается, потому что он в основном такой же, как WebM. WebM - это подмножество Matroska... ключевые отличия заключаются в том, что существуют предлагаемые кодеки для использования. (Матроска сама поддерживает почти все.)

Ваши аудио- и видеодорожки в файле могут использовать различные кодеки... ключ в том, чтобы использовать кодеки, совместимые с браузерами. Опус для аудио и VP8 для видео унесут вас далеко.

Оттуда, просто сослаться на ваш видео файл в <video> тег.

Другие вопросы по тегам