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 Class SoapClient not found解决方法
这篇文章主要介绍了PHP Class SoapClient not found解决方法,需要的朋友可以参考下2018-01-01
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
作为一名非专业的PHP开发者,想要较方便地读懂并搞清楚一个PHP功能模块的运行细节,搭建一个PHP调试环境,然后单步调试程序,以掌握程序的整个运行过程显的尤为重要2014-01-01


最新评论