Home  >  Article  >  Backend Development  >  How to install ffmpeg-php extension on linux

How to install ffmpeg-php extension on linux

青灯夜游
青灯夜游Original
2021-04-01 18:12:303060browse

Installation method: 1. Download the ffmpeg installation package and use the tar command to decompress it; 2. Use the make command to compile and install ffmpeg; 3. 3. Download the ffmpeg-php installation package and use the tar command to decompress it; 4. Use the make command to compile and install ffmpeg-php.

How to install ffmpeg-php extension on linux

The operating environment of this tutorial: Red Hat Enterprise Linux 6.1 system, PHP7.1, Dell G3 computer.

1. Install ffmpeg

(1) Obtain the installation package

wget -c wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2

(2) Unzip

tar -xvf ffmpeg-0.4.9-p20051120.tar.bz2

(3) Compile and install

./configure --prefix=/usr/local/ffmpeg --enable-shared
make
make install

(4) Test

Direct input: ffmpeg

ffmpeg version CVS, build 3277056, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --prefix=/usr/local/ffmpeg --enable-shared
built on Oct 16 2013 17:05:16, gcc: 4.4.7 20120313 (Red Hat 4.4.7-3)
usage: ffmpeg [[infile options] -i infile]... {[outfile options] outfile}...
Hyper fast Audio and Video encoder
Main options:
-L show license
-h show help
................................省略

If the compilation reports the following error

yasm not found, use --disable-yasm for a crippled build error, you need to compile and install it first yasm

Yasm download address: http://yasm.tortall.net/Download.html

After downloading and decompressing the source code package, compile and install

./configure
make
make install

If the test reports the following error

ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory”

Solution

vi /etc/ld.so.conf

Join

/usr/local/ffmpeg/lib

Then execute

ldconfig

2. Install ffmpeg- php

(1) Download the installation package

wget http://jaist.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.5.3.1/ffmpeg-php-0.5.3.1.tbz2

(2) Unzip

tar -xvf ffmpeg-php-0.5.3.1.tbz2

(3) Compile and install

cd ffmpeg-php-0.5.3.1
./configure --with-php-config=/usr/local/php/bin/php-config --with-ffmpeg=/usr/local/ffmpeg
make
make install

(4) Test

In the php configuration php.ini file, add the following content

extension=ffmpeg.so

Restart apache or php-fpm, use php to test

/usr/local/php/bin/php -r 'phpinfo();' | grep ffmpeg
ffmpeg
ffmpeg support (ffmpeg-php) => enabled
ffmpeg-php version => 0.5.3.1
ffmpeg-php gd support => enabled
ffmpeg.allow_persistent => 0 => 0
ffmpeg.show_warnings => 0 => 0
............................省略

3. The errors encountered are solved as follows

(1) If in An error message is found when making: make: *** [ffmpeg_frame.lo] Error 1 Then:

mv ffmpeg_frame.loT ffmpeg_frame.lo

Then make again; make install

(2) If the ffmepg-php module is called, an error message is displayed :

php: symbol lookup error: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so: undefined symbol: register_ffmpeg_frame_class

Then modify ffmpeg_frame.c and change PIX_FMT_RGBA32 at 3 places to PIX_FMT_RGB32.

vi ffmpeg_frame.c
:%s/PIX_FMT_RGBA32/PIX_FMT_RGB32
:wq!

Then reconfigure;make;make install

(3) If make times

make: *** [ffmpeg-php.lo] Error 1

Need to add ./configure --with-php-config=/usr/local/php/bin/php-config when compiling

If it still doesn’t work, please replace ffmpeg and ffmpeg-php Try different versions, it may be incompatible between versions.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to install ffmpeg-php extension on linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn