Может ли кто-нибудь помочь мне с PHP-кодом для FFMPEG, чтобы объединить два видео mp4 и сохранить конкатенированные файлы как mp4 в любой папке на сервере?
Для части FFMPEG см. Здесь: Объединение двух файлов mp4 с использованием ffmpeg
Для части PHP вы можете вызывать любую команду, используя: http://php.net/function.exec
Мне не удается с mp4-видео, но мне удается использовать два видео в Интернете. Я работал с Windows 8.1.
Что я сделал? шаги:
Установите локальный веб-сервер, например XAMPP или EasyPHP: я использовал EasyPHP DevServer 14.1 VC11. Доступно: http://www.easyphp.org/easyphp-devserver.php
Перейдите в папку «путь \ EasyPHP-DevServer-14.1VC11 \ data \ localweb» и создайте новую папку, например FFMPEG_PHP
Загрузите FFMPEG для Windows: загрузите 32-разрядные загрузочные файлы или версию для 64-разрядных версий Static. Я использовал «Скачать FFMPEG git-013498b» 32-бит Static. Доступно: http://ffmpeg.zeranoe.com/builds/
Скопируйте файл "ffmpeg.exe" в папку "FFMPEG_PHP"
Храните 2 или более видео в Интернете в папке «FFMPEG_PHP». Я загружаю видео с youtube. Смотреть 1:48 минут это видео как скачать видео с youtube:
Создайте "joinVideos.php" в "FFMPEG_PHP"
Смотрите код, который я сделал в «join Videos.php» ниже:
<?php $joinVideosTXT="joinVideos.txt"; $joinVideos=fopen($joinVideosTXT,"w+"); //Writes "joinVideos.txt" $video="nameVideo1"; $video2="nameVideo2"; $pathVideo=$video.".webm"; $pathVideo2=$video2.".webm"; $strVideo="file '".$pathVideo."'"."\r\n"; $strVideo2="file '".$pathVideo2."'"."\r\n"; fwrite($joinVideos, $strVideo); fwrite($joinVideos, $strVideo2); fclose($joinVideos); $ffmpeg="ffmpeg.exe"; $videoFinal="videoFinal.webm"; unlink($videoFinal);//remove previous $videoFinal $cmd="$ffmpeg -f concat -i " .$joinVideosTXT." -c copy ".$videoFinal; system($cmd); ?> <video controls="controls"> <source src="videoFinal.webm" type="video/webm"> </video> </body>