·您当前的位置:首页 > 技术教程 > FFmpeg技术 >

[FFmpeg]ffmpeg基于phpcms程序的在线转换视频exec函数版

时间:2014-07-11 09:11化蝶自在飞
程序为phpcms,你可以修改下做到你的项目中.此为在线转换,非上一版本的bat批处理版

[FFmpeg]ffmpeg基于phpcms程序的在线转换视频exec函数版

程序为phpcms,你可以修改下做到你的项目中.此为在线转换,非上一版本的bat批处理版

  1. <?php 
  2. require dirname(__FILE__).'/include/common.inc.php'; 
  3. if($PHPSESSID)  
  4.     session_id($PHPSESSID); 
  5.     session_start(); 
  6. if($auth) set_cookie('auth', $auth); 
  7. if(!get_cookie('cookietime') && $cookietime) set_cookie('cookietime', $cookietime); 
  8. require_once 'admin/model_field.class.php'; 
  9. $field = new model_field($modelid); 
  10. $info = $field->get($fieldid); 
  11. if(!$info) showmessage('指定的字段不存在!'); 
  12. $upload_allowext = $info['upload_allowext']; 
  13. $upload_maxsize = $info['upload_maxsize']*1024; 
  14.  
  15. require_once 'attachment.class.php'; 
  16. $attachment = new attachment(); 
  17.  
  18. if($dosubmit) 
  19.     $aid = $attachment->upload('Filedata', $upload_allowext, $upload_maxsize); 
  20.     if($aid) 
  21.     { 
  22.     $filename = $attachment->uploadedfiles[0]['filename']; 
  23.         $fileurl = UPLOAD_URL.$attachment->uploadedfiles[0]['filepath']; 
  24.         $houzhui = $attachment->uploadedfiles[0]['fileext']; 
  25. /*      if($houzhui == 'rmvb' || $houzhui == 'rm'){ 
  26.         exit($filename.'|'.$fileurl); 
  27.         }*/ 
  28.         if($houzhui != 'flv') 
  29.         { 
  30.         $mpeg = PHPCMS_ROOT."FFmpeg/ffmpeg.exe"; 
  31.         $fromFile = PHPCMS_ROOT.$fileurl; 
  32.         //$time = date("Y",TIME).'/'.date("md",TIME).'/'; 
  33.         $file = $attachment->uploadedfiles[0]['filepath']; 
  34.         $name = explode('.',$file); 
  35.         $filename1 = $name[0]; 
  36.         $flvName = PHPCMS_ROOT.UPLOAD_URL.$filename1.".flv"; 
  37.         $flvWith = 320;  
  38.         $flvHeight = 240
  39. set_time_limit(0); 
  40.         exec("$mpeg -i $fromFile -y -ab 28 -ar 22050 -b 200000 -r 24 -s $flvWith*$flvHeight $flvName",$mStatus,$status); 
  41. $image =  PHPCMS_ROOT.UPLOAD_URL.$filename1.".jpg"; 
  42. exec("$mpeg -i $fromFile -y -ss 00:00:01 -t 00:00:02 -f image2 -vframes 10 $image"); 
  43.         if($status == 0){ 
  44.          unlink(PHPCMS_ROOT.$fileurl); 
  45.          exit($filename.'|'.UPLOAD_URL.$filename1.".flv$".UPLOAD_URL.$filename1.".jpg"); 
  46.          } 
  47.          else{ 
  48.          exit("sorry!Conversion failed!!"); 
  49.          } 
  50.          } 
  51.         else{ 
  52.         exit($filename.'|'.$fileurl); 
  53.         } 
  54.     } 
  55.     else 
  56.     { 
  57.         if (isset($_FILES["Filedata"])) { 
  58.             echo $_FILES["Filedata"]["error"]; 
  59.             exit; 
  60.         } 
  61.     }    
  62. else  
  63.     include template('phpcms','flash_upload'); 
  64. ?> 

 主要看思路哈.说实话,php的exec相当难用,涉及到系统权限等一大堆乱七八糟的东西.有时候真是让人崩溃,最近严重崩溃中,把以前一个项目的代码拷贝来,防止电脑挂了或者电脑没在身边的时候看看.也给大家参考下,有不对的地方还望斧正.

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器