【发布时间】:2019-02-17 08:18:57
【问题描述】:
下面 php 中的 ffmpeg 命令从 avi 文件创建 mp4 文件,而不删除原始 avi 文件,这意味着,例如, 目录下毕竟有1221222.avi和1221222.mp4这两个文件。
('for i in /xxxxx/xxxxxx/*.avi; do ffmpeg -i "$i" -frames:v 1 "/xxxxx/xxxxxx/$(basename "$i" .avi).mp4";完成')
我想在命令创建 1221222.mp4 文件后立即删除这个 1221222.avi 文件。
是否有任何命令可以通过替换将文件从 avi 转换为 mp4?还是我必须在上面的命令之后添加删除命令?
如果有人可以帮助我完成命令,我将不胜感激。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
尽管下面的 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>
【问题讨论】: