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


Posted in PHP onJanuary 07, 2015

前几天在玩 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 相关文章推荐
PHP 5.0对象模型深度探索之绑定
Sep 05 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
php用户登录之cookie信息安全分析
May 13 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 #PHP
PHP实现的简易版图片相似度比较
Jan 07 #PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 #PHP
php中$_POST与php://input的区别实例分析
Jan 07 #PHP
php静态文件返回304技巧分享
Jan 06 #PHP
php判断当前用户已在别处登录的方法
Jan 06 #PHP
php实现utf-8转unicode函数分享
Jan 06 #PHP
You might like
PHP中实现Bloom Filter算法
2015/03/30 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
webpack3之loader全解析
2017/10/26 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
python中函数总结之装饰器闭包详解
2016/06/12 Python
Python编程之序列操作实例详解
2017/07/22 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
什么是Assembly(程序集)
2014/09/14 面试题
安全承诺书格式
2014/05/21 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
如何书写邀请函?
2019/06/24 职场文书
SpringBoot详解执行过程
2022/07/15 Java/Android