php合成flv,用php将任何格式视频转为flv

用php将任何格式视频转为flv<?define ("ROOT_DIR",dirname(__FILE__));class EcodeFlv {  var $fromFile;   //上传来的文件  var $toFilePath;  //保存文件路径  var $toPicPath;  //保存图片路径  var $mpeg; //ffmpeg.exe文件的路径  var $mencode; //mencode.exe文件的路径  var $cmdToFile; //转换文件命令  var $cmdToPic;  //转换图片命令  var $toFileName; //转换后的文件名  var $mpegComm; //ffmpeg.exe的转换命令  var $mencodeComm; //mencode.exe的命令  var $mpegType;   var $mencodeType;  var $midi; //mdi.exe的路径  var $cmdMidi; //mdi.exe的命令//初始化类  function EcodeFlv($fromFile,$toFilePath,$toPicPath,$mpeg,$mencode,$midi) {   $this->mpegComm = false;   $this->mencodeComm = false;   $this->fromFile = $fromFile;   $this->toFilePath = $toFilePath;   $this->toPicPath = ROOT_DIR."/".$toPicPath;   $this->mpeg = ROOT_DIR.$mpeg;   $this->mencode = ROOT_DIR.$mencode;   $this->midi = ROOT_DIR.$midi;   $this->mpegType=array (       "audio/x-mpeg"=>".mp3",       "video/mpeg"=>".mpeg",       "video/3gpp"=>".3gp",       "video/x-ms-asf"=>".asf",       "video/x-msvideo"=>".avi"   );   $this->mencodeType = array(       "application/vnd.rn-realmedia"=>".rm",       "audio/x-pn-realaudio"=>".rmvb",       "audio/x-ms-wmv"=>".wmv",   );  } //检查文件类型   function checkType() {    if(function_exists(mime_content_type)){     return false;    }else{     //$contentType = mime_content_type($this->fromFile);     $exe = "D:/server/php/extras/magic";     $handel = new finfo(FILEINFO_MIME, $exe);      $contentType =  $handel->file($this->fromFile);     }    foreach($this->mpegType as $index=>$key){     if($contentType == $index){      $name = md5(date("Ymd").tiime());      $this->toFileName = $name;      $this->$mpegComm = true;      return true;     }    }    foreach($this->mencodeType as $index=>$key){      if($contentType == $index){      $name = md5(date("Ymd").time());      $this->toFileName = $name;      $this->mencodeComm = true;      return true;         }else{       return false;      }    }  } //设置文件,图片大小  function setSize($flvSize,$picSize) {    $flvWidth = $flvSize[0];    $flvHeight = $flvSize[1];    $picWidth = $picSize[0];    $picHeight = $picSize[1];    $picName = $this->toPicPath.$this->toFileName.".jpg";    $flvName = $this->toFilePath.$this->toFileName.".flv";    $toMdi = ROOT_DIR."/".$flvName;    $size = $picWidth."x".$picHeight;    if($this->mpegComm){      $this->cmdToFile= "$this->mpeg -i $this->fromFile -y -ab 56 -ar 22050 -b 500 -r 15 -s $flvWith*$flvHeight $flvName";    }    elseif($this->mencodeComm){      $this->cmdToFile = "$this->mencode $this->fromFile  -vf scale=$flvWidth:$flvHeight -ffourcc FLV1 -of lavf -ovc lavc -lavcopts vcodec=flv:vbitrate=70:acodec=mp3:abitrate=56:dia=-1 -ofps 25 -srate 22050 -oac mp3lame -o $flvName";    }    $this->cmdToPic = "$this->mpeg -i $toMdi -y -f image2 -ss 8 -t 0.003 -s $size $picName";    $this->cmdMidi = "$this->midi $toMdi /k";    echo $this->cmdToPic;  } //开始转换  function toEcode() {    set_time_limit(0);    exec($this->cmdToFile,$flvStatus)    exec($this->cmdToPic,$picStatus);    exec($this->cmdMidi,$mStatus);  }  }?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值