php ffmpeg avi flv,ffmpeg-php将视频格式转为flv格式实现代码

本文章介绍了一个插件利用ffmpeg-php将视频格式转为flv格式,这样很多格式的视频我们都可以利用这个插件来实现格式转换哦。

以下是一个参考类,平台使用windows。

代码如下复制代码

define("ROOT_DIR",dirname(__FILE__));

class EcodeFlv {

var $fromFile;   //上传来的文件

var $toFilePath;  //保存文件路径

var $toPicPath;  //保存图片路径

var $mpeg; //ffmpeg程序文件的路径

var $mencode; //mencode程序文件的路径

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:serverphpextrasmagic";

$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、付费专栏及课程。

余额充值