php FFMPEG
在視頻處理和轉換中,FFMPEG是一款很出色的工具,自然而然在php應用上,也需要使用他來支持視頻的處理。php FFMPEG包含了FFMEG的可執行文件和一些封裝的接口函數,可以通過php腳本控制FFMEG進行任務處理,這種處理方式極大的節省了客戶端資源消耗。
在Windows系統中安裝FFMPEG
首先進入FFMPEG的下載地址:http://www.ffmpeg.org/download.html#build-windows
選擇當前最新版本的FFMPEG和對應的Windows版本進行下載,下載完成后解壓縮,可以看到很多文件和目錄,其中bin目錄下面就是存放FFMEG的可執行文件。
然后把FFMPEG的bin目錄加入到系統的環境變量中,這樣就可以通過系統命令行或者php腳本來調用FFMPEG了。
php FFMPEG使用
下面我們就演示下php如何使用FFMPEG來實現視頻的處理和轉換。
require_once 'vendor/autoload.php'; use \FFMpeg\FFMpeg; use \FFMpeg\Format\Video\WMV; //創建FFMPEG實例 $ffmpeg = FFMpeg::create(); //打開視頻文件 $video = $ffmpeg->open('video/test.mp4'); //輸出視頻格式,比如here是輸出WMV $format = new WMV(); //把視頻進行規格轉換 $video->filters()->resize(new \FFMpeg\Coordinate\Dimension(320, 240))->synchronize(); //進行變換 $video->frame(new \FFMpeg\Coordinate\TimeCode(10))->save('video/test_thumbnail.jpg'); //將視頻轉換成另外一個格式 $video->save($format, 'video/test_converted.wmv');
以上是一個簡單的php FFMPEG使用的代碼示例,主要實現了打開視頻文件,規格轉換,變換和轉換到另外一個格式四個任務。其中open()方法可以把視頻文件加載到內存中,而filters()方法可以執行一系列的類型轉換,比如設定視頻的寬高,幀率,馬賽克等等,frame()方法是選取視頻中的特定范圍生成一張靜態圖片,最后save()方法完成輸出。
結論
FFMPEG是很多視頻處理系統的核心工具,php FFMPEG提供了非常強大和方便的api來實現視頻的處理,建議在開發中積極使用他。同時需要注意,FFMPEG內存耗費比較高,大視頻文件處理可能需要大量的內存進行支持。