ffmpeg-php 環境の構築
2010-07-25 01:33
表題の件につきまして、質問いたします。
現在、お名前.comのVPSサービス内で、PHPスクリプトからffmpegを利用する為にffmpeg-phpのインストールをしようとしたところエラーが発生してしまう為、解決できません。
以下、サーバー環境及びエラー内容です。
■サーバー環境
VPS情報
ホスト名: example.com
メモリ: 基本512MB 最大1GB
OS: CentOS release 5.3 (Final)
■ffmpeg-php ダウンロード→解答後、./configure→makeを実行した際のエラー内容
/bin/sh /usr/local/src/ffmpeg-php-0.5.3.1/libtool --mode=compile gcc -I. -I/usr/local/src/ffmpeg-php-0.5.3.1 -DPHP_ATOM_INC -I/usr/local/src/ffmpeg-php-0.5.3.1/include -I/usr/local/src/ffmpeg-php-0.5.3.1/main -I/usr/local/src/ffmpeg-php-0.5.3.1 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/libavcodec/ -I/usr/include/libavformat/ -I/usr/include/libavutil/ -I/usr/include/libswscale/ -I/usr/include/libavfilter/ -I/usr/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c -o ffmpeg_frame.lo
gcc -I. -I/usr/local/src/ffmpeg-php-0.5.3.1 -DPHP_ATOM_INC -I/usr/local/src/ffmpeg-php-0.5.3.1/include -I/usr/local/src/ffmpeg-php-0.5.3.1/main -I/usr/local/src/ffmpeg-php-0.5.3.1 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/libavcodec/ -I/usr/include/libavformat/ -I/usr/include/libavutil/ -I/usr/include/libswscale/ -I/usr/include/libavfilter/ -I/usr/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c -fPIC -DPIC -o .libs/ffmpeg_frame.o
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_convert_frame':
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:202: warning: implicit declaration of function 'img_convert'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_crop_frame':
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:260: warning: implicit declaration of function 'img_copy'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_resample_frame':
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: 'ImgReSampleContext' undeclared (first use in this function)
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: (Each undeclared identifier is reported only once
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: for each function it appears in.)
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: 'img_resample_ctx' undeclared (first use in this function)
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:308: warning: implicit declaration of function 'img_resample_full_init'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:321: warning: implicit declaration of function 'img_resample'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:326: warning: implicit declaration of function 'img_resample_close'
make: *** [ffmpeg_frame.lo] エラー 1
情報をお持ちの方がおりましたら、何卒ご教授の程、宜しくお願いいたします。
現在、お名前.comのVPSサービス内で、PHPスクリプトからffmpegを利用する為にffmpeg-phpのインストールをしようとしたところエラーが発生してしまう為、解決できません。
以下、サーバー環境及びエラー内容です。
■サーバー環境
VPS情報
ホスト名: example.com
メモリ: 基本512MB 最大1GB
OS: CentOS release 5.3 (Final)
■ffmpeg-php ダウンロード→解答後、./configure→makeを実行した際のエラー内容
/bin/sh /usr/local/src/ffmpeg-php-0.5.3.1/libtool --mode=compile gcc -I. -I/usr/local/src/ffmpeg-php-0.5.3.1 -DPHP_ATOM_INC -I/usr/local/src/ffmpeg-php-0.5.3.1/include -I/usr/local/src/ffmpeg-php-0.5.3.1/main -I/usr/local/src/ffmpeg-php-0.5.3.1 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/libavcodec/ -I/usr/include/libavformat/ -I/usr/include/libavutil/ -I/usr/include/libswscale/ -I/usr/include/libavfilter/ -I/usr/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c -o ffmpeg_frame.lo
gcc -I. -I/usr/local/src/ffmpeg-php-0.5.3.1 -DPHP_ATOM_INC -I/usr/local/src/ffmpeg-php-0.5.3.1/include -I/usr/local/src/ffmpeg-php-0.5.3.1/main -I/usr/local/src/ffmpeg-php-0.5.3.1 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/libavcodec/ -I/usr/include/libavformat/ -I/usr/include/libavutil/ -I/usr/include/libswscale/ -I/usr/include/libavfilter/ -I/usr/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c -fPIC -DPIC -o .libs/ffmpeg_frame.o
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_convert_frame':
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:202: warning: implicit declaration of function 'img_convert'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_crop_frame':
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:260: warning: implicit declaration of function 'img_copy'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c: In function '_php_resample_frame':
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: 'ImgReSampleContext' undeclared (first use in this function)
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: (Each undeclared identifier is reported only once
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: for each function it appears in.)
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:282: error: 'img_resample_ctx' undeclared (first use in this function)
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:308: warning: implicit declaration of function 'img_resample_full_init'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:321: warning: implicit declaration of function 'img_resample'
/usr/local/src/ffmpeg-php-0.5.3.1/ffmpeg_frame.c:326: warning: implicit declaration of function 'img_resample_close'
make: *** [ffmpeg_frame.lo] エラー 1
情報をお持ちの方がおりましたら、何卒ご教授の程、宜しくお願いいたします。
コメント
私も同じエラーで悩みました。
以下、その時の対処方法です。
ffmpeg_frame.c の中で「RGBA32」を全部「RGBA」に置換してください。
[root@hogehoge ffmpeg-php-x.x.x]# diff ffmpeg_frame.c*
336c336
< _php_convert_frame(ff_frame, PIX_FMT_RGBA);
---
> _php_convert_frame(ff_frame, PIX_FMT_RGBA32);
421c421
< avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA, width, height);
---
> avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA32, width, height);
432c432
< ff_frame->pixel_format = PIX_FMT_RGBA;
—
> ff_frame->pixel_format = PIX_FMT_RGBA32;
その後、make、make install するとインストール出来ました。
以下、その時の対処方法です。
ffmpeg_frame.c の中で「RGBA32」を全部「RGBA」に置換してください。
[root@hogehoge ffmpeg-php-x.x.x]# diff ffmpeg_frame.c*
336c336
< _php_convert_frame(ff_frame, PIX_FMT_RGBA);
---
> _php_convert_frame(ff_frame, PIX_FMT_RGBA32);
421c421
< avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA, width, height);
---
> avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA32, width, height);
432c432
< ff_frame->pixel_format = PIX_FMT_RGBA;
—
> ff_frame->pixel_format = PIX_FMT_RGBA32;
その後、make、make install するとインストール出来ました。
