代码之家  ›  专栏  ›  技术社区  ›  user27240

用php中的ffmpeg命令实现avi文件到mp4文件的转换

  •  0
  • user27240  · 技术社区  · 7 年前

    下面php中的ffmpeg命令从avi文件创建mp4文件,而不删除原始avi文件,例如,

    ('for i in/xxxxx/xxxxxx/*.avi;do ffmpeg-i“$i”-帧:v 1“/xxxxx/xxxxxx/$(基本名称“$i”.avi).mp4”;完成')

    我想在命令创建1222.mp4文件之后立即删除这个1222.avi文件。

    如果有人能帮我指挥我会很感激的。

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

    所以,我正在尝试将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>
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   BlackNetworkBit    7 年前

    没有这样的操作,只需附加bash命令,如

    rm filename.mp4

    或者通过php删除文件

    unlink($filepath);