ffmpeg处理视频

ffmpeg扩展安装

在网上看了很多文章,安装之后,重启php,总是报错,结合网上文章,自己测试发现一套可以使用的方法
注:服务器上必须安装ffmpeg,然后在安装php ffmpeg扩展(这里服务器的ffmpeg和php扩展不是同一个包)
安装步骤:
一、服务器安装ffmpeg
自带的yum源没有ffmpeg软件包,需要下载rpmforge
rpm -ivh http://www.mirrorservice.org/sites/apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum -y install ffmpeg ffmpeg-devel
安装好之后可以用ffmpeg -version 看一下安装版本
二、安装php ffmpeg扩展
fmpeg-php-0.6.0.tbz2
tar -xvf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config &&make && make install

报错:
make: *** [ffmpeg_movie.lo] Error 1
解决:
vim ffmpeg_movie.c

row 311: list_entry *le; 改为zend_rsrc_list_entry *le;
row 346: list_entry new_le;改为 zend_rsrc_list_entry new_le;
row 360: hashkey_length+1, (void *)&new_le, sizeof(list_entry),改为hashkey_length+1, (void *)&new_le,sizeof(zend_rsrc_list_entry),

更改之后,重新编译php ffmpeg扩展
三、添加扩展到php.ini文件,重启PHP即可,
extension=ffmpeg.so
原文地址:https://blog.csdn.net/Jonnter/article/details/59527245

ffmpeg截取视频截图

//获取上传视频缩略图
function getVideoCover($file) {
  $path = 'Upload/setting/' . date("Ymd") .'/'.date('His').'/';
  if (!file_exists($path)) {
    mkdir($path, 0777, true);
  }
  $license = $path .rand(10000,99999).'.png';

  $str = "/usr/local/ffmpeg/bin/ffmpeg -i ".$_SERVER['DOCUMENT_ROOT'].$file." -y -f image2 -ss 00:00:03 -s 295x196 -vframes 1 ".$license;
  $result = shell_exec($str);
  return $license;

}

截取视频第三秒尺寸为295x196的视频截图

原文地址:https://blog.csdn.net/xiaochawan/article/details/8804789     ffmpeg截取速度优化

posted @ 2019-05-30 10:29  那年我们二十七八岁丶  阅读(332)  评论(0)    收藏  举报