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

yipeiwu_com5年前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中mb_convert_encoding与iconv函数的深入解析

mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。不过英文一般不会存在编码问题,只有中文数据才会有这个问题。比如你...

WordPress中给文章添加自定义字段及后台编辑功能区域

WordPress中给文章添加自定义字段及后台编辑功能区域

add_post_meta add_post_meta 函数是 WordPress 中用来给文章或页面添加自定义字段值的一个函数, 其用法与在编写文章时在文章编写界面中利用自定义栏目面...

php include加载文件两种方式效率比较

先来说说两种方式: 1)定义一个字符串变量,里面保存要加载的文件列表。然后foreach加载。 复制代码 代码如下: $a = '/a.class.php;/Util/b.class.p...

PHP面向对象程序设计组合模式与装饰模式详解

本文实例讲述了PHP面向对象程序设计组合模式与装饰模式。分享给大家供大家参考,具体如下: 组合模式 定义:组合模式定义了一个单根继承体系,使具有截然不同职责的集合可以并肩工作。 一个军队...

谷歌音乐搜索栏的提示功能php修正代码

谷歌音乐搜索栏的提示功能php修正代码

问题描述 在加载页面的时候, 将光标快速定位到搜索栏上, 待页面加载完成, 搜索栏进行初始化后会显示搜索提示. 此时输入的任何内容将成为搜索提示的一部分而不是搜索关键字. 截图如下:...