FFMPEG não funciona após atualizar a versão do php de 5.2 para 5.3.28

0

Após atualizar a versão do php, a função DL () não está funcionando.

Eu tentei com extension = extension.so no php.ini, mas abaixo do comando

ffmpeg -y -i input.m4v -vcodec libx264 -vpre ipod640 -bt 50k -acodec libfaac -ac 2 -ar 48000 -ab 64k -s 480x320 output.mp4

Dá erro

Codificador desconhecido 'libx264'

Abaixo está a descrição completa

root@server [~]# ffmpeg -y -i input.m4v -vcodec libx264 -vpre ipod640 -bt 50k -acodec libfaac -ac 2 -ar 48000 -ab 64k -s 480x320 output.mp4
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 30 2012 00:00:18 with gcc 3.4.6 20060404 (Red Hat 3.4.6-11)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --disable-indev=v4l2 --extra-cflags='-O2 -g -pipe -m64 -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libschroedinger --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-version3 --enable-x11grab
  WARNING: library configuration mismatch
  libavutil   configuration: --enable-shared --enable-libmp3lame --disable-yasm
  libavcodec  configuration: --enable-shared --enable-libmp3lame --disable-yasm
  libavformat configuration: --enable-shared --enable-libmp3lame --disable-yasm
  libavdevice configuration: --enable-shared --enable-libmp3lame --disable-yasm
  libavfilter configuration: --enable-shared --enable-libmp3lame --disable-yasm
  libswscale  configuration: --enable-shared --enable-libmp3lame --disable-yasm
  libavutil     50.15. 1 / 50.36. 0
  libavcodec    52.72. 2 / 52.108. 0
  libavformat   52.64. 2 / 52.93. 0
  libavdevice   52. 2. 0 / 52. 2. 3
  libavfilter    1.19. 0 /  1.74. 0
  libswscale     0.11. 0 /  0.12. 0
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: 60000.00 (60000/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/machine/public_html/sterlingadmin/files/video_1402351414.m4v':
  Metadata:
    major_brand     : M4V 
    minor_version   : 1
    compatible_brands: M4V M4A mp42isom
    creation_time   : 2014-05-16 22:20:14
    title           : a3343_Spanish
  Duration: 00:07:11.59, start: 0.000000, bitrate: 4488 kb/s
    Stream #0.0(und): Audio: aac, 48000 Hz, stereo, s16, 114 kb/s
    Metadata:
      creation_time   : 2014-05-16 22:20:14
    Stream #0.1(und): Video: h264, yuv420p, 960x540 [PAR 1:1 DAR 16:9], 4369 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc
    Metadata:
      creation_time   : 2014-05-16 22:20:14
Unknown encoder 'libx264'
    
por Pradeep Singh 13.06.2014 / 11:15

1 resposta

2

Existem compilações estáticas do ffmpeg hospedadas aqui que são executadas em sistemas legados (kernels 2.6.32 e posteriores). Você pode baixá-lo e colocar o binário ffmpeg em algum lugar no seu sistema de arquivos, por exemplo. /usr/local/bin .

Então, do PHP, chame /usr/local/bin/ffmpeg ao invés do ffmpeg do seu sistema. A vantagem é que agora você executa uma versão recente com menos bugs e mais funcionalidades.

Você precisa atualizar sua linha de comando, já que a opção -vpre não existe mais.

/usr/local/bin/ffmpeg -y -i input.m4v -c:v libx264 -s:v 480x320 -profile:v baseline -c:a aac -strict experimental -ac 2 -ar 48000 -b:a 64k output.mp4

Como parece que você está segmentando dispositivos com menos recursos de processamento, use o perfil baseline .

    
por 13.06.2014 / 13:44

Tags