首页 > 解决方案 > 为什么使用 exec 函数在 php 中从 avi 到 mp4 的视频转换不起作用?

问题描述

我试图在服务器上将任何视频类型转换为 mp4,因为 html 视频标签不支持除 mp4 之外的任何类型。所以我使用 exec 函数来转换服务器上的视频,但它不起作用。注意:exec 函数不在 php.ini 中的禁用函数中

我的代码:

    <?php
      if(isset($_POST['submit']))
      {
      $vidname=$_FILES["vid"]["name"];
      $videotype=$_FILES["vid"]["type"];
      $time = time();
      $vidname2=$time.$_FILES["vid"]["name"];

      move_uploaded_file($_FILES["vid"]["tmp_name"], 'videos/' . $time.$_FILES["vid"]["name"]);
      if($videotype!="video/mp4")
      {
          exec("ffmpeg -i videos/$vidname2 -an videos/$vidname2.mp4"); // Convert .avi to mp4
          unlink("videos/$vidname2");
      }
    }
    else
    {
        ?>
            <form method="post" action="" enctype="multipart/form-data">
                <input type="file" name="vid">
                <input type="submit" name="submit" value="upload">
            </form>
        <?php
    }
?>

代码截图

标签: phpffmpeg

解决方案


推荐阅读