使用AJAX调用的文件中的shell_exec运行ffmpeg

时间:2012-12-20 13:26:05

标签: php ajax ffmpeg shell-exec

早上好,

我将尽力为所有关于使用AJAX调用的文件中的shell_exec运行FFMPEG的问题提出一个“深思熟虑”和“有用”的问题。首先,我将从列出我当前的代码开始。

AJAX脚本

        <script>
            var xmlhttp;
            if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
            }else{// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function(){
              if (xmlhttp.readyState==4 && xmlhttp.status==200){
                  //Do something
              }
            }
            xmlhttp.open("GET","video_convert.php",true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xmlhttp.send(id=<?php echo $video_upload_result; ?>);
        </script>

PHP代码

$destination = "files/videos/";
$ffmpeg = '/ffmpeg/ffmpeg';
$videoid = mysql_clean($_GET['id']);

$sql = "SELECT file_name FROM cb_video WHERE videoid = '$videoid' ";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);

$file_old = glob('files/videos/'.$file_name.'.*');

shell_exec($ffmpeg." -i '/var/www/html/".$file_old[0]."' -ar 44100 /var/www/html/".$destination.$file_name.".flv");

FFMPEG已安装并正常工作,因为我在网站的其他地方使用过它并尝试使用PuTTY进行文件转换。我可以运行一个由AJAX调用的PHP文件,因为我在这个站点上的一个单独的实例中完成了它。我唯一能想到的是shell_exec运行不正常,我在其他地方使用过,因为它位于ajax调用的单独文件中,或者它已经过早关闭了。我还在主文件中测试了这段代码,它正常工作,直到我尝试用它来调用单独的文件。

所以,我的问题是这段代码实际上是否可行,如果是这样,我应采取哪些步骤才能使其正常工作?

另外,我非常感谢如果在结束我的问题之前我有机会捍卫或改写他们,以便在我以某种方式以某种方式失败的情况下正确地适应这个董事会的高标准问题。

谢谢。

0 个答案:

没有答案