通过php中的ffmpeg命令将avi文件转换为mp4文件

问题描述 投票:0回答:1

下面php中的ffmpeg命令从avi文件创建mp4文件而不删除原始avi文件,这意味着,例如,有两个文件,1221222.avi和1221222.mp4毕竟存在于directry中。

('for i in /xxxxx/xxxxxx/*.avi; do ffmpeg -i“$ i”-frames:v 1“/ xxxxx / xxxxxx / $(basename”$ i“.avi).mp4”; done')

我想在命令创建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>
php video ffmpeg mime
1个回答
2
投票

没有这样的操作,你可以只添加一个bash命令

rm filename.mp4

到脚本或您通过PHP删除文件

unlink($filepath);
© www.soinside.com 2019 - 2024. All rights reserved.