PHP 调取视频第一帧 - Go语言中文社区

PHP 调取视频第一帧


背景:

  小程序项目中,需要使用到获取上传视频的第一帧作为封面图。查阅资料大部分介绍使用 ffmpeg 这个第三方应用。

centos下安装ffmpeg 是比较容易,这里不再赘述。

结合php 的系统函数调用来完成获取第一帧图片的方法。

  由于这个项目是给多客户安装使用,当时设想是否能用php扩展来解决这个问题。注:即使使用扩展,也依然需要依赖服务器环境中有ffmpeg .

一查ffmpeg就傻眼了,扩展已经多年没有更新了。尝试装了官网上多个php_ffmpeg 都在编译的时候出现错误。

尝试了两天后放弃此方法。

https://www.cnblogs.com/jkklearn/p/6737467.html

这有一篇教程,讲述安装php_ffmpeg 扩展的文章,题主也再多个版本安装才安装成功。想了想以后客户没错使用程序都得如此麻烦的安装,立马抛弃。

 

回到使用php系统命令调取shell语句来实现第一帧图片的方法。很多朋友遇到这个问题是 php系统命令调用shell语句失败,无返回。phpinfo中查看并没有警用系统调用函数。这里涉及到一个linux用户权限的问题。nginx 或者apache的用户组,并不是root。为了安全考虑,我们也不能使用root来运行nginx或者apche. 尝试使用程序的安装目录下bing/ffmpeg 来调用,发现是允许的。

以下贴出代码,供大家查阅。

$str = "/sbin/ffmpeg/bin/ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t 1 -s 200x200 ffmpeg.jpg";                  
ob_start();         
passthru($str);         
$info = ob_get_contents();        
 ob_end_clean();

大家一起讨论,还原讨论,以上仅是个人愚见,一起学习。起步可能比别人低,前进的步伐可不能再慢。下一篇内容再会。

 

个人公众号(欢迎订阅~学习探讨日常项目经验):

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/a353399459/article/details/84756747
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-19 17:05:15
  • 阅读 ( 1307 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢