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

yipeiwu_com6年前PHP代码库

前几天在玩 FFmpeg 的时后,突然发现 Ubuntu 上多了 php5-ffmpeg 这个扩充套件,就想来玩玩看,看好不好用,有两个结论:
读取影片取决于 FFmpeg 的支援性,如果想要什么格式都支援的话,建议自己重新编译 FFmpeg。
效率并没有我想像中的快,两分钟的影片取十张图,大约 30 秒。
安装方法:

复制代码 代码如下:

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

撷图测试范例:
复制代码 代码如下:

<?php   
$page = 10;   
$prefix = 'screencap';   
   
$mov = new ffmpeg_movie('gt.avi');   
$count = $mov->getFrameCount();   
$range = (int)round($count/($page+1));   
   
for($i=1; $i<=$page; $i++){   
   $frameNum = $range*$i;   
   $imgFile = $prefix.'_'.$i.'.png';   
   
   $frame = $mov->getFrame($frameNum);   
   if(!$frame){ continue; }   
   
   $gdImage = $frame->toGDImage();   
   if(!$gdImage){ continue; }   
   
   imagepng($gdImage, $imgFile);   
   imagedestroy($gdImage);   
   
   echo '<img src="'.$imgFile.'" border="1" /><br />';   
}  

相关文章

基于PHP编程注意事项的小结

 1、php隐性的三元操作符(?:)优先级问题: 例1:复制代码 代码如下:    $person = $who or $person = "la...

php动态变量定义及使用

本文实例讲述了php动态变量定义及使用方法。分享给大家供大家参考。具体如下: <?php $var_name = "ic"; //定义变量$var_name $$v...

在PHP中输出JS语句以及乱码问题的解决方案

怎样在php中输出js语句? 示例 <?php $classState=""; if($state==0){ $classState="已下课"; } else{ $c...

一键生成各种尺寸Icon的php脚本(实例)

实例如下: <?php /** * @name thumb 缩略图函数 * @param sting $img_name 图片路径 * @param...

php获取后台Job管理的实现代码

复制代码 代码如下: <?php defined('SYSPATH') OR die('No direct access allowed.'); class Controller_...