laravel — Сжатие видео с помощью ffmpeg при загрузке с использованием формы php?

Я использую laravel famework и использую библиотеку PHP ffmpeg. Если не нашли хороших ссылок для сжатия видео с помощью ffmpeg. Есть два случая сжатия.

1) Video Already exists in folder - this i have done already
2) Video Upload through Form - this i am not able to do :(

Позвольте мне поделиться 1-й код дела: —

Suppose my video is 13Mb and below code compressed to 4.5Mb (running fine)
$inputVideo = public_path('input/airplane_flight_airport_panorama_1080.mp4');
$outputVideo = public_path('uploads/output.mp4');
exec("ffmpeg -i $inputVideo -b 1000000 $outputVideo"); // this compressing or resize the video

Теперь второй случай загружается с помощью формы: —

<form method="post" action="{{url('/api/upload-test-video')}}" enctype="multipart/form-data">
<input name="video" type="file"><br>
<input type="submit" value="Submit">
</form>

Теперь, когда я иду на работу: —

public function uploadTestVideo(Request $request){
echo "<pre>"; print_r($_FILES);
// now in this function i wnat to compress the video
}

Примечание: — Я не хочу загружать видео в какую-то папку, а после этого получать видео и сжимать видео. Пожалуйста, помогите, как я могу решить эту проблему. Заранее спасибо 🙂

0

Решение

Какие делать ты хочешь сделать? Сжать видео на стороне пользователей? Или во время загрузки? Вам нужно видео в файловой системе, чтобы «сжать» его с помощью ffmpeg. Обойти это невозможно, поскольку ffmpeg необходим физический доступ к видеофайлу на компьютере, на котором он работает.

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]