php - 如何为 CentOS 6.5 版服务器设置 ffmpeg

标签 php video ffmpeg centos screenshot

我需要从视频创建屏幕截图,

我关注了this在窗口 8,php 5.3 中进行初始设置的教程

1)我从这里下载了ffmpeg - [
http://ffmpeg.zeranoe.com/builds/ ] 用于 64 位操作系统。

2)我关注了https://www.youtube.com/watch?v=gU49GiWGGAI ,视频并成功完成所有配置和phpinfo()显示 ffmpeg已安装。

3) 然后我尝试了this找出它是否工作,

它工作成功

4)接下来我跟着这个视频教程here并成功创建缩略图。

下面是我的代码

/**
 * FFMPEG-PHP Test Script
 *
 * Special thanks to http://www.sajithmr.me/ffmpeg-sample-code for this code example!
 * See the tutorial at http://myownhomeserver.com on how to install ffmpeg-php.
 */
error_reporting(1);
error_reporting(E_ALL ^ E_NOTICE);
// Check if the ffmpeg-php extension is loaded first
extension_loaded('ffmpeg') or die('Error in loading ffmpeg');

// Determine the full path for our video
$vid = realpath('./videos/myvideo.mp4');
$videosize = filesize($vid);
$remoteVideo = 'http://video-js.zencoder.com/oceans-clip.mp4';

//ffmpeg

$ffmpeg = dirname(__FILE__) . "\\ffmpeg\\bin\\ffmpeg";
$imageFile = "1.png";
$image2 = "2.png";
$size = "120x90";
$getfromsecond = 7;
$cmd = "$ffmpeg -i $vid -an -ss $getfromsecond -s $size $imageFile";
$cmd2 = "$ffmpeg -i $remoteVideo -an -ss $getfromsecond -s $size $image2";
if(!shell_exec($cmd)){
    echo "Thumbnail created";
}else{
    echo "Error Creating thumbnail";
}

if(!shell_exec($cmd2)){
    echo "Thumbnail for remote url was created";
}else{
    echo "Error Creating thumbnail for remote url ";
}
  OUTPUT
    Thumbnail created
    Thumbnail for remote url was created

现在,上面的代码在我的本地窗口机器中按预期工作,我需要在我的服务器环境(Linux 服务器)中使用 php 5.5 执行此操作。如何使用 php 5.5 在 CentOS 6.5 版服务器中配置 ffmpeg。

我已按照本教程将其安装在服务器中

1. http://supportlobby.com/blog/ffmpeg-installation-on-centos-6-5/

2. http://tecadmin.net/install-ffmpeg-on-linux/

OUTPUT IN CONSOLE


[root@BRANDWEB01D ~]# ffmpeg -version
ffmpeg version 2.2.1
built on Apr 13 2014 13:00:18 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libopencv --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --disable-stripping
libavutil      52. 66.100 / 52. 66.100
libavcodec     55. 52.102 / 55. 52.102
libavformat    55. 33.100 / 55. 33.100
libavdevice    55. 10.100 / 55. 10.100
libavfilter     4.  2.100 /  4.  2.100
libswscale      2.  5.102 /  2.  5.102
libswresample   0. 18.100 /  0. 18.100
libpostproc    52.  3.100 / 52.  3.100
[root@BRANDWEB01D ~]# which ffmpeg
/usr/bin/ffmpeg
[root@BRANDWEB01D ~]# ffmpeg -formats
ffmpeg version 2.2.1 Copyright (coffee) 2000-2014 the FFmpeg developers
  built on Apr 13 2014 13:00:18 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libopencv --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --disable-stripping
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
File formats:
 D. = Demuxing supported
 .E = Muxing supported

但是在服务器中,当我打开我的 php 文件时,我收到了这个错误 Error in loading ffmpeg

我还检查了 phpinfo(),它显示 ffmpeg 安装在我的本地而不是服务器中。

我还需要做什么才能在 Cent Os 6.5 php 5.5 中配置 ffmpeg。

最佳答案

我找不到你的安装步骤或命令,你需要用ffmpeg-php配置,

#  git clone https://github.com/tony2001/ffmpeg-php.git
#  cd ffmpeg-php
#  make clean
#  phpize 
#  ./configure 
#  make
#  make install

# vim /usr/lib/php.ini 
[ffmpeg]
extension=ffmpeg.so

# pkill -9 httpd
#  /etc/init.d/httpd start

# php -i|grep ffmpeg

ffmpeg
ffmpeg-php version => 0.7.0

关于php - 如何为 CentOS 6.5 版服务器设置 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27226157/

相关文章:

javascript - 如何将变量从 php 插入到 p 标签(html)中?

php - 如何在 Firefox 中使用 php curl 发送推送消息

php - 从源代码编译 PHP 后还需要开发库吗?

android - 删除时未删除的文件仍显示在 ListView 中

openCV - ffmpeg H264 和 Webm 错误

ffmpeg - 使用 FFMPEG 将 mp4 转换为最大移动支持的 MP4

php - 从回发获取汽车的问题

video - 在iframe中循环播放youtube视频

flash - 通过 Flash 提供最高质量视频体验的主要技巧/最佳实践是什么?

file - Ubuntu 12.04 重定向命令不起作用