У меня возник вопрос о том, как я могу передавать большое видео по частям. Допустим, у меня есть видео размером 1G, и я хочу разбить 10 равных частей (~ 100 МБ каждый). Теперь я хочу сделать видеоплеер (желательно HTML5/JS, а не Flash Player), который воспроизводит эти 10 видеороликов от начала до конца без каких-либо заметных пробелов между ними.Потоковое видео в деталях
Целью этого является обеспечение того, чтобы все видео НЕ загружалось в случаях, когда пользователь не просматривает все видео.
Разве это бессмысленное упражнение? Действительно ли вы сохраняете пропускную способность, рассматривая эту реализацию? Есть ли такие решения уже сейчас?
Спасибо!
Существуют такие решения, как это - проверенные отраслевые решения, используемые всеми крупнейшими игроками в отрасли (YouTube, Netflix и т. Д.). Посмотрите на HLS и MPEG-Dash, оба из которых разбивают видео на гораздо меньшие сегменты, чем вы себе представляете. Оба решения имеют несколько реализаций HTML5. И да, вы можете сохранить большую пропускную способность таким образом. – jlmcdonald
Спасибо jlmcdonald, это действительно полезно. Существуют ли серверные реализации HLS или MPEG-Dash уже, например, в Apache? Я предполагаю, что я пытаюсь выяснить, есть ли клиентская сторона, а также серверные решения, которые разбивают ваши видео в сегментах, не делая этого вручную. – timhysniu
Как HLS, так и MPEG-Dash предназначены для работы с файлами, обслуживаемыми обычным HTTP-протоколом, поэтому требования к потоковому серверу вообще отсутствуют. Но с точки зрения вашего вопроса о сегментировании вы можете выбрать либо A) пользователь потокового сервера, который сегментирует «на лету» (например, Wowza), либо B) предварительно сегментирует все, используя такой инструмент, как ffmpeg, медиадиагностик Apple и т. Д. См. эта ссылка поможет вам в правильном направлении: http://hlsbook.net/segmenting-video-with-ffmpeg/ – jlmcdonald