Преобразовать из файла avi в файл mp4 с помощью команды ffmpeg в php - PullRequest
0 голосов
/ 12 сентября 2018

Команда ffmpeg в php ниже создает файл mp4 из файла avi без удаления исходного файла avi, что означает, например, что в директории в конце концов есть два файла, 1221222.avi и 1221222.mp4.

('для i в /xxxxx/xxxxxx/*.avi; сделать ffmpeg -i "$ i" -фреймы: v 1 "/ xxxxx / xxxxxx / $ (базовое имя" $ i ".avi) .mp4"; выполнено')

Я хотел бы удалить этот файл 1221222.avi сразу после того, как команда создала файл 1221222.mp4.

Существует ли какая-либо команда, которая преобразует файл из avi в mp4, заменив его?Или я должен добавить команду удаления после команды выше?

Буду признателен, если кто-нибудь поможет мне с этой командой.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Несмотря на то, что приведенный ниже скрипт php может загружать avi-файл с локального диска в приложение, которое я сейчас разрабатываю,AVI не будет играть в HTML.Итак, я пытаюсь преобразовать AVI-файл в MP4-файл, который работает нормально с помощью команды ffmpeg в php.Эта команда ffmpeg создает mp4, но HTML по-прежнему не воспроизводит его.Это потому, что оригинальный файл avi все еще существует в каталоге?

//php
case "video/x-msvideo":

if($header){
    header("Content-Type: video/x-msvideo");

 $dst_im = copy($path, $dst_file);
 return "";
 }else{ 

 $dst_file = $dst_file . ".avi";
 shell_exec('for i in  /xxxxxx/xxxxxx/*.avi; do ffmpeg -i "$i" - frames:v 1 "/xxxxxx/xxxxxx/$(basename "$i"  .avi).mp4"; done');      

 $dst_im = copy($path, $dst_file);
 }
 unlink($dst_im);
 break; 


//html
<video width="500"  height="250"  id="bgvid" poster="video.jpg"    controls="controls" preload="auto" autoplay>
<source type="video/mp4" src="xxxxxxxxxxxxxxxxxxxxx.mp4" />
</video>

1 Ответ

0 голосов
/ 12 сентября 2018

Нет такой операции, вы можете просто добавить команду bash, как

rm filename.mp4

к скрипту или удалите файл через php с помощью

unlink($filepath);
...