ホームページ  >  記事  >  バックエンド開発  >  ffmpeg-php でビデオ形式を flv 形式に変換する実装コード_PHP チュートリアル

ffmpeg-php でビデオ形式を flv 形式に変換する実装コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:10:44997ブラウズ

この記事では、ffmpeg-php を使用してビデオ形式を flv 形式に変換するプラグインを紹介します。このプラグインを使用してさまざまな形式のビデオを変換できるようになります。

以下は参照クラスであり、プラットフォームはWindowsを使用します。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444712​​.html技術記事この記事では、ffmpeg-php を使用してビデオ形式を flv 形式に変換するプラグインを紹介します。このプラグインを使用してさまざまな形式のビデオを変換できるようになります。 以下参考になります...
コードは次のとおりです コードをコピーします
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);
}

}


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