PHP使用ffmpeg实现视频随机截图并转成图片

 更新时间:2025年11月24日 09:05:44   作者:chjqxxxx  
这篇文章主要介绍了在CentOS7上安装FFmpeg并使用php-ffmpeg扩展实现视频随机截图的功能,包括安装FFmpeg、PHP扩展、配置PHP以启用`proc_open`函数,并最终验证截图功能是否正常工作,需要的朋友可以参考下

安装FFmpeg软件

在CentOS 7系统上安装FFmpeg需要添加第三方仓库并执行安装命令:

sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel -y

验证安装是否成功:

ffmpeg -version 

安装PHP扩展

通过Composer安装php-ffmpeg扩展:

composer require php-ffmpeg/php-ffmpeg 

检查并启用proc_open函数:

定位PHP配置文件路径:

php -i | grep 'php.ini' 

编辑php.ini文件,找到disable_functions配置项,删除proc_open和proc_get_status。重启PHP服务:

service php-fpm restart 

验证proc_open是否可用:

php -r "var_dump(function_exists('proc_open'));" 

实现视频截图功能

使用php-ffmpeg扩展从视频中随机截取一帧:

require 'vendor/autoload.php';
 
use FFMpeg\FFMpeg;
use FFMpeg\Coordinate\TimeCode;
 
$ffmpeg = FFMpeg::create();
$video = $ffmpeg->open('input.mp4');
 
$duration = $video->getFormat()->get('duration');
$randomTime = mt_rand(1, $duration - 1);
 
$frame = $video->frame(TimeCode::fromSeconds($randomTime));
$frame->save('random_screenshot.jpg');

到此这篇关于PHP使用ffmpeg实现视频随机截图并转成图片的文章就介绍到这了,更多相关PHP ffmpeg视频截图并转图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php实现简单的语法高亮函数实例分析

    php实现简单的语法高亮函数实例分析

    这篇文章主要介绍了php实现简单的语法高亮函数,实例分析了php通过正则表达式实现语法高亮的相关技巧,需要的朋友可以参考下
    2015-04-04
  • php 结果集的分页实现代码

    php 结果集的分页实现代码

    php结果集的分页,后面都有详细的说明。最近的php将会让你学到更多。
    2009-03-03
  • 使用ltrace工具跟踪PHP库函数调用的方法

    使用ltrace工具跟踪PHP库函数调用的方法

    这篇文章主要介绍了使用ltrace工具跟踪PHP库函数调用的方法,结合实例形式分析了ltrace工具用来跟踪PHP库函数运行时间的相关技巧,需要的朋友可以参考下
    2016-04-04
  • 分享3个php获取日历的函数

    分享3个php获取日历的函数

    本文给大家汇总了3个php获取日历的函数,分别是php获取指定日期的月份的日历、获取指定日期所在月的开始日期与结束日期、获取当前星期的日期范围,都是比较常用的方法,有需要的小伙伴可以参考下。
    2015-09-09
  • 使用PHP的日期与时间函数技巧

    使用PHP的日期与时间函数技巧

    任何一种语言,日期和时间函数都是我们常使用的,下面就教你PHP下的日期和时间的技巧
    2008-04-04
  • PHP实现基于回溯法求解迷宫问题的方法详解

    PHP实现基于回溯法求解迷宫问题的方法详解

    这篇文章主要介绍了PHP实现基于回溯法求解迷宫问题的方法,结合实例形式详细分析了回溯法的原理、实现步骤与解决迷宫问题的相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • php有道翻译api调用方法实例

    php有道翻译api调用方法实例

    这篇文章主要介绍了php有道翻译api调用方法,实例分析了有道翻译API接口的调用方法与相关技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • php从数组中随机选择若干不重复元素的方法

    php从数组中随机选择若干不重复元素的方法

    这篇文章主要介绍了php从数组中随机选择若干不重复元素的方法,涉及php数组操作的相关常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • PHP中unset,array_splice删除数组中元素的区别

    PHP中unset,array_splice删除数组中元素的区别

    php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧
    2014-07-07
  • 基于header的一些常用指令详解

    基于header的一些常用指令详解

    本篇文章是对header的一些常用指令进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论