2012-05-05 01:27

[PHP] 使用 php5-ffmpeg 擷取影片圖片

前幾天在玩 FFmpeg 的時後,突然發現 Ubuntu 上多了 php5-ffmpeg 這個擴充套件,就想來玩玩看,看好不好用,有兩個結論:
  1. 讀取影片取決於 FFmpeg 的支援性,如果想要什麼格式都支援的話,建議自己重新編譯 FFmpeg。
  2. 效率並沒有我想像中的快,兩分鐘的影片取十張圖,大約 30 秒。
安裝方法:
sudo apt-get install ffmpeg php5-ffmpeg php5-gd

擷圖測試範例:
  1. <?php 
  2. $page = 10; 
  3. $prefix = 'screencap'; 
  4.  
  5. $mov = new ffmpeg_movie('gt.avi'); 
  6. $count = $mov->getFrameCount(); 
  7. $range = (int)round($count/($page+1)); 
  8.  
  9. for($i=1; $i<=$page; $i++){ 
  10.    $frameNum = $range*$i; 
  11.    $imgFile = $prefix.'_'.$i.'.png'; 
  12.  
  13.    $frame = $mov->getFrame($frameNum); 
  14.    if(!$frame){ continue; } 
  15.  
  16.    $gdImage = $frame->toGDImage(); 
  17.    if(!$gdImage){ continue; } 
  18.  
  19.    imagepng($gdImage, $imgFile); 
  20.    imagedestroy($gdImage); 
  21.  
  22.    echo '<img src="'.$imgFile.'" border="1" /><br />'; 
  23. } 

參考文件:
ffmpeg_movie object methods
FFmpeg and PHP

0 回應: