2016-12-17 1 views
0

Предполагая, что пользователь только что загрузил 10mb MP4 видео под названием video.mp4 через форму ввода с именем video.сращивание загруженного видео в куски 1mb в php

Можно ли «объединить» видео в 10 фрагментов 1mb, или есть ли доступные библиотеки, которые могли бы это сделать?

Таким образом, когда видео выбрано для загрузки внутри тега <video>, он будет использовать первый из этих фрагментов видео, чтобы играть первым, а затем загружать остальные, пока другой играет и по существу складывает их на концах каждого клипа.

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

Спасибо.

ответ

0

Вы можете использовать https://github.com/PHP-FFMpeg/PHP-FFMpeg, который довольно зрелый и хорошо документирован.

В вашем случае, что вы заинтересованы в метод клипа:

$video->filters()->clip(FFMpeg\Coordinate\TimeCode::fromSeconds(30), FFMpeg\Coordinate\TimeCode::fromSeconds(15)); 
+0

Да, у меня было взглянуть на это заранее. Однако это казалось немного лишней хлопот. любая идея о том, как установить систему в Windows? Или любая другая необработанная альтернатива? Спасибо :) –

+0

Как это хлопот? Он делает то, что он должен делать, он упрощает работу с видео в php, без необходимости напрямую работать с ffmpeg (или другими инструментами) с помощью команд sys_pipe. – TigOldBitties

+0

не является его общим использованием, просто установка. :/Я никогда раньше не устанавливал стороннюю библиотеку, так что это немного запутанно. –

0

Вы не должны действительно нужно сделать это так долго, как ваш сервер поддерживает запросы диапазона:

Это позволит клиенту, то есть браузеру, запрашивать фрагменты файла в одно время с сервера и начать воспроизведение, как только он было достаточно, чтобы показать видео.

Если вас беспокоит пользовательский опыт, вы, вероятно, захотите пойти немного дальше и поддерживать несколько битовых скоростей и протокол потоковой передачи, поддерживающий такие изменения скорости передачи, как HLS или MPEG-DASH. Это позволит сохранить качество видеокубков в зависимости от условий сети.

На данный момент вы, как правило, лучше используете выделенный видеосервер или услугу видеохостинга, поскольку функциональность является относительно сложной и специализированной, а ее вообще проще, чем ее повторное создание. Открытый исходный потоковый сервер существуют такие, как:

Смежные вопросы