以下php中的ffmpeg命令可从avi文件创建mp4文件,而不会删除原始的avi文件,例如, 指令中毕竟存在两个文件,分别是1221222.avi和1221222.mp4。
((对于/xxxxx/xxxxxx/*.avi中的i;执行ffmpeg -i“ $ i” -frames:v 1“ / xxxxx / xxxxxx / $(基本名称” $ i“ .avi).mp4”;完成”)
在命令创建1221222.mp4文件后,我想立即删除此1221222.avi文件。
是否有任何命令通过替换将文件从avi转换为mp4?还是我必须在上述命令后添加delete命令?
如果有人可以帮助我完成命令,我将不胜感激。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
即使下面的php脚本可以将avi文件从本地驱动器上传到我当前正在开发的应用程序中,该avi也不会在html上播放。 因此,我正在尝试从avi文件转换为mp4文件,通过在php中使用ffmpeg命令可以正常工作。此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>
答案 0 :(得分:2)
没有这样的操作,您可以追加一个
之类的bash命令。 rm filename.mp4
添加到脚本中,或使用
通过php删除文件unlink($filepath);