define("ROOT_DIR",dirname(__FILE__)); class EcodeFlv { var $fromFile //アップロードされたファイル var $toFilePath;ファイルの保存パス var $toPicPath; //画像の保存パス var $mencode; //ファイルの変換コマンド var cmdToPic ; //画像の変換コマンド var $toFileName; //変換後のファイル名 var $mencodeComm; //mencode.exeのコマンド var $mpegType; var mencodeType; var $midi; //mdi.exeのパス var $cmdMidi; //mdi.exeのコマンド //初期化クラス function EcodeFlv($fromFile,$toFilePath,$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]; $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スケール = $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); }
}
|
http://www.bkjia.com/PHPjc/444712.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444712.html技術記事この記事では、ffmpeg-php を使用してビデオ形式を flv 形式に変換するプラグインを紹介します。このプラグインを使用してさまざまな形式のビデオを変換できるようになります。 以下参考になります...