Команда 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>