2016-02-21 2 views
0

У меня возник вопрос о том, как я могу передавать большое видео по частям. Допустим, у меня есть видео размером 1G, и я хочу разбить 10 равных частей (~ 100 МБ каждый). Теперь я хочу сделать видеоплеер (желательно HTML5/JS, а не Flash Player), который воспроизводит эти 10 видеороликов от начала до конца без каких-либо заметных пробелов между ними.Потоковое видео в деталях

Целью этого является обеспечение того, чтобы все видео НЕ загружалось в случаях, когда пользователь не просматривает все видео.

Разве это бессмысленное упражнение? Действительно ли вы сохраняете пропускную способность, рассматривая эту реализацию? Есть ли такие решения уже сейчас?

Спасибо!

+3

Существуют такие решения, как это - проверенные отраслевые решения, используемые всеми крупнейшими игроками в отрасли (YouTube, Netflix и т. Д.). Посмотрите на HLS и MPEG-Dash, оба из которых разбивают видео на гораздо меньшие сегменты, чем вы себе представляете. Оба решения имеют несколько реализаций HTML5. И да, вы можете сохранить большую пропускную способность таким образом. – jlmcdonald

+0

Спасибо jlmcdonald, это действительно полезно. Существуют ли серверные реализации HLS или MPEG-Dash уже, например, в Apache? Я предполагаю, что я пытаюсь выяснить, есть ли клиентская сторона, а также серверные решения, которые разбивают ваши видео в сегментах, не делая этого вручную. – timhysniu

+0

Как HLS, так и MPEG-Dash предназначены для работы с файлами, обслуживаемыми обычным HTTP-протоколом, поэтому требования к потоковому серверу вообще отсутствуют. Но с точки зрения вашего вопроса о сегментировании вы можете выбрать либо A) пользователь потокового сервера, который сегментирует «на лету» (например, Wowza), либо B) предварительно сегментирует все, используя такой инструмент, как ffmpeg, медиадиагностик Apple и т. Д. См. эта ссылка поможет вам в правильном направлении: http://hlsbook.net/segmenting-video-with-ffmpeg/ – jlmcdonald

ответ

1

Как упоминалось выше, описанный способ использования видеороликов называется адаптивной потоковой передачей. В этом контексте есть несколько аналогичных технологий, таких как MPEG-DASH, HLS, Smooth Streaming ... Где можно увидеть переход к MPEG-DASH в индустрии потокового видео - такие платформы, как Youtube и Netflix, используют DASH, например.

Вы можете найти несколько разных поставщиков для кодирования, а также игроков, таких как Wowza, Bitmovin и многие другие. Хорошей отправной точкой для ознакомления с адаптивной потоковой передачей можно найти here и here.