PHP中使用php5-ffmpeg撷取视频图片实例

这篇文章主要介绍了PHP中使用php5-ffmpeg撷取视频图片实例,本文使用一个AVI格式视频为例,讲解了如何撷取视频画面为图片,需要的朋友可以参考下

前几天在玩 FFmpeg 的时后,突然发现 Ubuntu 上多了 php5-ffmpeg 这个扩充套件,就想来玩玩看,看好不好用,有两个结论:

读取影片取决于 FFmpeg 的支援性,如果想要什么格式都支援的话,建议自己重新编译 FFmpeg。

效率并没有我想像中的快,两分钟的影片取十张图,大约 30 秒。

安装方法:

sudo apt-get install ffmpeg php5-ffmpeg php5-gd

撷图测试范例:

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