ホームページ  >  記事  >  php教程  >  PHPを使用して任意の形式のビデオをFLVに変換するコード

PHPを使用して任意の形式のビデオをFLVに変換するコード

WBOY
WBOYオリジナル
2016-06-13 12:22:001103ブラウズ

コードコードコードは次のとおりです。

class EcodeFlv {

var $fromFile; // アップロードされたファイル
var $toFilePath; // 画像の保存パス
var $mpeg; ffmpeg .exe ファイルへのパス
var $mencode; //mencode.exe ファイルへのパス
var $cmdToFile; //画像を変換するコマンド
var $ toFileName ; //変換されたファイル名
var $mpegComm; //ffmpeg.exe の変換コマンド
var $mencodeType;
var $midi; //The path of mdi.exe
var $cmdMidi; //The command of mdi.exe
//Initialization class
function EcodeFlv($fromFile,$toFilePath,$ toPicPath ,$mpeg,$mencode,$midi) {
$this->mpegComm = false;
$this->mencodeComm = false;
$this->fromFile = $fromFile; $ this-> $ tofilepath;これ - > mencode = root_dir。$ mencode; ; ".mp3"、
"video/mpeg" => "。mpeg"、
"video/3gpp" => "。 = >".asf",
"video/x-msvideo"=>".avi"
);
$this->mencodeType = array(
"application/vnd. rn -realmedia"=>".rm"、
"audio/x-pn-realaudio"=>".rmvb"、
"audio/x-ms-wmv"=>".wmv " ,
);
}

//Check file type

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;
}
}
}

//Set file and image size
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;
}

//Start conversion
function toEcode() {
set_time_limit(0);
exec($this->cmdToFile,$flvStatus)
exec($this->cmdToPic,$picStatus);
exec($this->cmdMidi,$mStatus);
}

}
?>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。