Codificador desconhecido libx264

2

Estou tentando transmitir o arquivo mp4 com ffmpeg :

ffmpeg -re -i '/home/alex/test.mp4' \
-vcodec libx264 -ab 128k -ac 2 -ar 44100 \
-r 25 -s 320x240 -vb 660k -f \
flv 'rtmp://192.168.1.24/live/stream0'

Mas recebo este erro:

Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/alex/test.mp4':
  Duration: 00:02:28.79, start: 0.000000, bitrate: 1143 kb/s
    Stream #0.0(und): Video: mpeg4, yuv420p, 856x368 [PAR 1:1 DAR 107:46], 23.98 tbr, 23.98 tbn, 2997 tbc
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16
Unknown encoder 'libx264'

Estou instalando ffmpeg do repositório da Debian:

$ cat /etc/debian_version 
6.0.7

Saída completa do console:

alex@alex:~$ ffmpeg -re -i '/home/alex/test.mp4' -vcodec libx264 -ab 128k -ac 2 -ar 44100 -r 25 -s 320x240 -vb 660k -f flv 'rtmp://192.168.1.24/live/stream0'
FFmpeg version SVN-r0.5.10-4:0.5.10-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.10-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Feb 16 2013 09:22:58, gcc: 4.4.5

Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/alex/test.mp4':
  Duration: 00:02:28.79, start: 0.000000, bitrate: 1143 kb/s
    Stream #0.0(und): Video: mpeg4, yuv420p, 856x368 [PAR 1:1 DAR 107:46], 23.98 tbr, 23.98 tbn, 2997 tbc
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16
Unknown encoder 'libx264'

Como posso especificar ffmpeg para usar libx264 decoder?

    
por ymn 12.04.2013 / 06:27

1 resposta

3

Sua compilação ffmpeg está faltando --enable-libx264 da configuração; o que significa que não foi compilado para suportar a biblioteca de codificação externa libx264. Além disso, a versão 0.5 do ffmpeg é considerada antiga, então eu recomendo que você compile o ffmpeg ou use uma versão estática recente. construir. Os builds estão disponíveis para Linux, OS X e Windows por meio de links na página Download do FFmpeg . É recomendável usar a versão mais recente disponível porque eles são geralmente estáveis e o desenvolvimento é muito ativo.

Você está dimensionando de 856x368 para 320x240, mas isso aumentará seu vídeo verticalmente. O uso de 320 x 138 preservará sua proporção, mas, para calcular automaticamente um valor, você pode usar o filtro scale em vez de -s :

-vf scale=320:-1

O -1 dirá a scale para fornecer automaticamente um valor que preservará o aspecto.

    
por 12.04.2013 / 07:17