ffmpeg-php: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function) make: *** [ffmpeg_frame.lo] Error 1


FFMPEG to wieloplatformowy projekt, którego celem jest dostarczenie kompletnej platformy do nagrywania, konwertowania i przesyłania strumieniowego treści audiowizualnych. Głównym komponentem jest biblioteka libavcodec, która odpowiada za obsługę wielu popularnych kodeków. Projekt stanowi w praktyce podstawę dla odtwarzaczy multimediów w wielu dystrybucjach Linuksa (źródło: Wikipedia) .
Przy kompilacji rozszerzenia ffmpeg-php można spotkać się z następującym błędem:

/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c: In function ‘zim_ffmpeg_frame_toGDImage’:
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function)
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: (Each undeclared identifier is reported only once
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: for each function it appears in.)
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c: In function ‘zim_ffmpeg_frame_ffmpeg_frame’:
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function)
make: *** [ffmpeg_frame.lo] Error 1

Jak sobie z tym poradzić?

Wystarczy wedytować plik ffmpeg_frame.c odnaleźć wpisy PIX_FMT_RGBA32 i zastąpić je PIX_FMT_RGB32. Za pomocą edytora vi można to wykonać w następujący sposób:

vi ffmpeg_frame.c
:%s/PIX_FMT_RGBA32/PIX_FMT_RGB32
:w
:q!

Następnie wydajemy polecenia:

./configure && make && make install

Kompilacja powinna wykonać się już bez problemów. Teraz wystarczy dodać wpis: extension = ffmpeg.so do php.ini i za pomocą phpinfo można sprawdzić czy rozszerzenie jest już dostępne.

Tags: , ,

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Comments are closed.