2016-02-12 1 views
0

Как я могу управлять видео, которое сделано из множества небольших частей видео? Например, исходное видео разбивается на 1-е видео, каждый из которых доступен с разной скоростью передачи, так что я могу выбрать каждую часть в соответствии с текущей полосой пропускания. Или исходное видео представляет собой видео 360 и разделено на 1 сек., Которые доступны с лучшим качеством в разных регионах, так что я могу передать поток, соответствующий тому, где сейчас смотрит пользователь.html воспроизводит видео, сделанное из большого количества небольших небольших видеофайлов

Кажется, что игроки MPEG-DASH решают эту проблему для адаптации скорости передачи по байтам, хотя они, вероятно, делают больше.

Похоже, что это не сложно сделать с кучей html5 видео + javascript на рабочем столе, с осторожностью с тем, что передается при обработке и переходе на них. Однако на мобильном устройстве мне нужно взаимодействие с пользователем для загрузки видео и воспроизведения. Но я не хочу, чтобы пользователь каждый раз нажимал свой телефон ...

В идеале, последние вещи имели бы api, очень похожий на видео html5, с дополнительной возможностью выбора источника потоковой передачи через равные промежутки времени , Для меня очень важно, что он работает на мобильных устройствах.

Большое спасибо!

ответ

1

Да, MPEG-DASH и HLS решают эту проблему среди других.

Игроки DASH и HLS используют новый HTML5 Media Source Extensions API (MSE) для воспроизведения нескольких видеофрагментов, как если бы они были всего лишь одним файлом.

Мобильный телефон является проблемой. MSE работает в Chrome для Android, но имейте в виду встроенные браузеры, которые поставляются с большинством телефонов Android. Они, как известно, ошибочны и не имеют функциональности.

К сожалению, MSE не работает на iOS. Единственное, что работает на iOS - это HLS.

Большинство людей идут с HLS, потому что он настолько широко распространен и хорошо поддерживается на устройствах iOS. HLS также поддерживается на Android, хотя на некоторых устройствах это может быть особенно затруднительно (поскольку вы знаете, что практически все производители оборудования также производят телефоны Android, и кто знает, какое оборудование они вкладывают в свои телефоны. И когда дело доходит до приставки, все еще хуже). Для настольных браузеров используется плеер HLS для JavaScript, например hls.js (с открытым исходным кодом) или Viblast (коммерческий).

Некоторые потоковые серверы упаковывают видеопоток в нескольких форматах - HLS, MPEG-DASH, rtmp, поэтому может быть реализован резервный механизм: если HLS поддерживается, используйте HLS, а затем используйте MPEG-DASH, если поддерживается, или rtmp для действительно старых браузеров ,

Решение DIY - забава, но вы должны быть готовы инвестировать, возможно, много времени, прежде чем заставить работать на большинстве платформ (мобильных и настольных).