PHP使用ffmpeg实现视频随机截图并转成图片
发布:smiling 来源: PHP粉丝网 添加日期:2026-04-14 10:28:53 浏览: 评论:0
这篇文章主要介绍了在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');
Tags: PHP视频随机截图 PHP视频随机截图
- 上一篇:使用PHP Imagick扩展将PDF转换为图片功能的完整方案
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)
