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

2021-12-21 00:00:00 ffmpeg screenshot centos php video

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

I need to create a screen shot from video,

我已关注 本教程在window 8,php 5.3

I have followed this tutorial to do the intial setup in window 8, php 5.3

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

1) I downloaded the ffmpeg from here -[ http://ffmpeg.zeranoe.com/builds/ ] for 64 bit operating system.

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

2) I followed the https://www.youtube.com/watch?v=gU49GiWGGAI , video and did all configuration successfully and phpinfo() shows that ffmpeg has been installed.

3) 然后我尝试了 this 以了解它是否有效,

3) Then I tried this to find out whether it is working or not,

成功了

4) 接下来我按照这个视频教程这里 并成功创建了缩略图.

4) Next I followed this video tutorial here and thumbnails were created successfully.

下面是我的代码

/**
 * 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 执行此操作.如何在 CentOS 6.5 版服务器中使用 php 5.5 配置 ffmpeg.

Now above code works as expected in my local, in window machine , I need to do it in my server environment(Linux server) with php 5.5. How do I do the configuration for ffmpeg in CentOS release 6.5 server with php 5.5.

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

I have followed this tutorial to install it in server

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

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

控制台输出

[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 安装在我的本地但没有安装在服务器中.

But in server when I open my php file I am getting this error Error in loading ffmpeg

Also I have checked phpinfo(), It shows ffmpeg installed in my local but not in server.

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

What else I need to do to configure ffmpeg in Cent Os 6.5 php 5.5.

推荐答案

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

I could not find your installation steps or commands, You need to configure with 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

相关文章