codificação VP9 usando FFmpeg

5

Eu quero perguntar se ffmpeg suporta a codificação VP9 e, se não: como posso codificar vídeos do VP9? Eu tento usar o comando:

./ffmpeg-vp9 -y -i /home/mc/test.mkv -t 00:00:30 -c:v libvpx-vp9 -strict -2 -quality good -b:v 600k -speed 16 -rc_lookahead 25 -pass 1 2.webm

mas mostra um erro ao dividir o comando apareceu (por vp9 ). Esta é a saída de ffmpeg -codecs | grep vpx :

 ./ffmpeg -codecs|grep vpx
ffmpeg version N-51352-g81e85bc Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar 27 2013 19:22:53 with gcc 4.8.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 22.101 / 52. 22.101
  libavcodec     55.  2.100 / 55.  2.100
  libavformat    55.  0.100 / 55.  0.100
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 48.105 /  3. 48.105
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
 DEV.L. vp8                  On2 VP8 (decoders: vp8 libvpx ) (encoders: libvpx )

Eu tentei usar vpxenc , mas não sei exatamente o significado de seus parâmetros.

Obrigado antecipadamente.

    
por Computer_Engineer 20.05.2013 / 14:25

3 respostas

6

Basicamente ffmpeg suporta codificação e decodificação VP9. Parece que sua versão do libvpx não suporta o VP9. Para suporte ao VP9, você deve usar o ramo experimental:

$ git clone -b experimental http://git.chromium.org/webm/libvpx.git
$ cd libvpx
$ ./configure --enable-vp9 --enable-shared
$ make && make install

Isso deve habilitar o VP9 para ffmpeg , que você deve compilar normalmente, com a opção de configuração --enable-libvpx .

    
por 21.05.2013 / 23:27
2

Com relação ao comentário do OP sobre velocidade. Use a codificação de duas passagens. É significativamente mais rápido que o single pass e também a qualidade da imagem é notavelmente melhor.

Com minha versão do ffmpeg,

$ ffmpeg -version
ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers

o comando que estou usando é

ffmpeg -y -i input.mkv -c:v libvpx-vp9 -b:v 2000k -pass 1 -c:a opus -b:a 64k -f webm /dev/null
ffmpeg    -i input.mkv -c:v libvpx-vp9 -b:v 2000k -pass 2 -c:a opus -b:a 64k -f webm output.webm

O passe único é / foi quebrado, de acordo com o link

    
por 10.09.2014 / 18:46
1

O FFMPEG suporta o VP9 desde que a libvpx vinculada tenha sido compilada com o VP9 ativado. Mas, a codificação é terrivelmente lenta, mesmo para um curto clipe de 1080p levaria uma eternidade para terminar.

    
por 21.09.2014 / 08:51

Tags