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

How to install ffmpeg-php extension on linux

青灯夜游
Release: 2023-03-09 09:50:02
Original
3222 people have browsed it

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
Copy after login

(2) Unzip

tar -xvf ffmpeg-0.4.9-p20051120.tar.bz2
Copy after login

(3) Compile and install

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

(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
................................省略
Copy after login

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
Copy after login

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”
Copy after login

Solution

vi /etc/ld.so.conf
Copy after login

Join

/usr/local/ffmpeg/lib
Copy after login

Then execute

ldconfig
Copy after login

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
Copy after login

(2) Unzip

tar -xvf ffmpeg-php-0.5.3.1.tbz2
Copy after login

(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
Copy after login

(4) Test

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

extension=ffmpeg.so
Copy after login

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
............................省略
Copy after login

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
Copy after login

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
Copy after login

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!
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template