ffmpeg vídeo codificado - busca é "quantizado" em VLC

3

Estou executando o seguinte comando para converter um vídeo mp4 no formato VP8 / Webm:

ffmpeg -y -i lists.mp4 -f webm -vcodec libvpx -vb 600k -r 20 -acodec libvorbis -ab 64k -ac 1 lists.webm

Quando abro em VLC e tento procurar diferentes pontos no vídeo, a busca é "quantizada". Com isso, quero dizer que há 3 ou 4 pontos no vídeo em que o candidato "se encaixa", por exemplo se eu clicar em qualquer coisa de 06:30 to 10:30 , ele procurará 06:30

Tenho certeza que o problema é algo relacionado à maneira como o ffmpeg é compilado. O Miro Video Converter no Windows, que vem com o ffmpeg, usa o comando:

ffmpeg -y -i lists.mp4 -f webm -vcodec libvpx -acodec libvorbis -crf lists.webm

A saída do Miro não é quantificada no VLC, mas o mesmo comando na minha instalação do Linux faz. Portanto, deve ser algo para as versões do ffmpeg ou a maneira como ele foi compilado.

Alguém sabe alguma coisa sobre isso? Saída de depuração segue

Informações de depuração para o ffmpeg do Linux:

ffmpeg version N-35110-g0b9a69f, Copyright (c) 2000-2011 the FFmpeg developers
  built on Nov 23 2011 12:51:56 with gcc 4.6.2


configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx
--enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab
--enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp
--enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static

  libavutil    51. 26. 0 / 51. 26. 0
  libavcodec   53. 37. 0 / 53. 37. 0
  libavformat  53. 21. 0 / 53. 21. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 49. 0 /  2. 49. 0
  libswscale    2.  1. 0 /  2.  1. 0    
  libpostproc  51.  2. 0 / 51.  2. 0

Para o Windows (Miro video converter):

    FFmpeg version SVN-r25762, Copyright (c) 2000-2010 the FFmpeg developers
      built on Nov 18 2010 04:07:17 with gcc 4.4.2
      configuration: --enable-gpl --enable-version3 --enable-libgsm
--enable-pthreads --enable-libvorbis --enable-libtheora --enable-libspeex 
--enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger
--enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx
--disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid
--enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp
--extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32
--enable-avisynth --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc'
--enable-memalign-hack
      libavutil     50.33. 0 / 50.33. 0
      libavcore      0.13. 0 /  0.13. 0
      libavcodec    52.96. 0 / 52.96. 0
      libavformat   52.84. 0 / 52.84. 0
      libavdevice   52. 2. 2 / 52. 2. 2
      libavfilter    1.62. 0 /  1.62. 0
      libswscale     0.12. 0 /  0.12. 0
    
por waitinforatrain 26.11.2011 / 23:32

1 resposta

5

Eu não sei nada sobre a codificação do VP8 em particular, mas em geral ffmpeg refere-se a quadros-chave em termos do tamanho do "grupo de imagens".

Passe a opção -g com um número para usar como o tamanho máximo do grupo de imagens em quadros; este será o número máximo de quadros entre quadros-chave (incluindo o quadro-chave).

É possível que diferentes versões de ffmpeg / codec tenham padrões diferentes para isso; no entanto, você provavelmente pode substituí-lo para o que você quiser.

Antecedentes:

Os formatos de vídeo compactados geralmente não armazenam os dados completos de cada quadro de vídeo, armazenando a maioria dos quadros como uma descrição de como construir quadros a partir de quadros antigos (e em sistemas mais modernos, partes de futuro próximo) quadros). Para poder rapidamente procurar e começar a jogar, o software reprodutor de vídeo geralmente só permite que você salte para quadros que possuem os dados completos armazenados, que são chamados de "quadros-chave" ou quadros-I.

Você geralmente pode dizer ao codificador com que frequência deseja colocá-lo no quadro-chave. Mais quadros-chave permitem mais flexibilidade para busca e edição, mas tornam a compactação de vídeo menos eficiente.

    
por 27.11.2011 / 07:59