Não é possível obter o ffmpeg para usar o frei0r no OSX (através de homebrew)

3

Estou tentando fazer com que o ffmpeg use o plugin frei0r e, apesar de ter conseguido exibir o frei0r na lista de filtros, recebo o erro:

 [frei0r @ 0x10331c1c0] Could not find module 'glow'
 Error initializing filter 'frei0r' with args 'glow:0.5'

Eu uso o homebrew. Eu tenho ffmpeg para construir com --enable-frei0r --enable-filter = frei0r a instrução deste git:

link

Mas não é possível usar o frei0r.

EDIT: Aqui está a saída completa:

$ ffmpeg -i 1.mp4 -vf -vf frei0r=glow:0.5 output.mpg
 ffmpeg version 0.10 Copyright (c) 2000-2012 the FFmpeg developers  built on Mar  4 2012       11:47:02 with clang 3.0 (tags/Apple/clang-211.10.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/0.10 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/clang --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --disable-ffplay --enable-frei0r --enable-filter=frei0r --enable-filter=frei0r_src --enable-libopencv
  libavutil      51. 34.101 / 51. 34.101
  libavcodec     53. 60.100 / 53. 60.100
  libavformat    53. 31.100 / 53. 31.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 60.100 /  2. 60.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2011-12-15 10:24:56
    encoder         : Lavf53.24.0
  Duration: 00:00:15.44, start: 0.000000, bitrate: 2736 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2604 kb/s, 23.98 fps, 23.98 tbr, 48k tbn, 47.95 tbc
    Metadata:
      creation_time   : 2011-12-15 10:24:56
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 128 kb/s
    Metadata:
      creation_time   : 2011-12-15 10:24:56
      handler_name    : 
[NULL @ 0x7fcb9184a400] Unable to find a suitable output format for 'frei0r=glow:0.5'
frei0r=glow:0.5: Invalid argument
    
por stpn 04.03.2012 / 19:31

2 respostas

6

tente o seguinte:

ffmpeg -v debug -i 1.mp4 -vf frei0r=glow:0.5 output.mpg

e você provavelmente verá algo assim:

[Parsed_frei0r_0 @ 0x7fe7834196a0] Looking for frei0r effect in '/Users/user/.frei0r-1/lib/glow.dylib' [Parsed_frei0r_0 @ 0x7fe7834196a0] Looking for frei0r effect in '/usr/local/lib/frei0r-1/glow.dylib' [Parsed_frei0r_0 @ 0x7fe7834196a0] Looking for frei0r effect in '/usr/lib/frei0r-1/glow.dylib'

e o ffmpeg provavelmente está certo. Se você ls -l /usr/local/lib/frei0r-1/ verá o plug-in instalado com a extensão .so .

Na minha máquina (OSX 10.7.3, ffmpeg 1.0 & frei0r-1.3), eu fiz algo parecido com:

for file in /usr/local/lib/frei0r-1/*.so ; do cp $file "${file%.*}.dylib" ; done

que resolveu o problema, porque a biblioteca .so tinha 2 arquiteturas, i386 e x86_64.

Tenho certeza de que não é uma solução genérica, mas funcionou para mim.

    
por 20.10.2012 / 13:33
3

Eu também tive esse problema e descobri essa variável de ambiente na fonte ffmpeg vf_frei0r.c na linha 229:

if ((path = av_strdup(getenv("FREI0R_PATH")))) {
...

Consequentemente, definir isso usando

export FREI0R_PATH=/path/to/.so-files

funcionou para mim. Substitua este caminho por onde seus arquivos .so para libfrei0r estiverem armazenados.

    
por 17.01.2013 / 12:31