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面向对象之旅:深入理解static变量与方法

static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。 如果访问控制权限允许,可不必创建该类对象而直接使用类...

PHP学习笔记(二) 了解PHP的基本语法以及目录结构

PHP学习笔记(二) 了解PHP的基本语法以及目录结构

通过这节课, 1.了解AppServ的目录结构 2.我们可以了解PHP的基本语法结构 1 我的AppServ安装目录是E盘: ①运用命令行的方式去操作apache服务器 apache服...

PHP中读取文件的几个方法总结(推荐)

1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节。该函数...

PHP中echo,print_r与var_dump区别分析

本文较为详细的分析了PHP中echo,print_r与var_dump区别。分享给大家供大家参考。具体分析如下: 三者都是具有输出功能的php语句,但print_r(expression...

PHP面向对象程序设计之命名空间与自动加载类详解

本文实例讲述了PHP面向对象程序设计之命名空间与自动加载类。分享给大家供大家参考,具体如下: 命名空间 避免类名重复,而产生错误。 <?php require_once...