
Estou usando ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
. Preciso converter um arquivo .mp4 para o formato .ogg. Estou no Mac OS X e tentei isso até agora:
ffmpeg -i sample_mpeg4.mp4 -acodec vorbis -vcodec libtheora -f ogg output.ogv
Estou obtendo:Unknown encoder 'libtheora'
ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec --enable-libtheora output.ogv
Estou obtendo:Unknown encoder '--enable-libtheora'
ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec libtheora -f ogv output.ogv
Estou obtendo:
[NULL @ 0x7f81bb00f800] Requested output format 'ogv' is not a suitable output format
output.ogv: Invalid argument
ffmpegtheora
não é uma opção, pois não pode ser instalado no servidor.
Responder1
Sua versão FFmpeg não possui os codificadores necessários, libtheora
para vídeo Theora e libvorbis
para áudio Vorbis.
Você só pode adicionar esses codificadores por
- compilando-os com FFmpeg, ou
- instalando um executável que já os agrupa.
Para você, a escolha mais fácil seria baixar uma versão estática dea página de download do FFmpeg. Todos eles vêm com libtheora
e libvorbis
, independentemente do sistema operacional para o qual foram criados.
O que você precisa fazer é extrair o arquivo de download e simplesmente executar o ffmpeg
binário que foi incluído. A sintaxe correta seria:
ffmpeg -i in.mp4 -c:v libtheora -c:a libvorbis out.ogv
Se quiser alterar a qualidade do áudio ou do vídeo, você pode alterar a taxa de bits, por exemplo, com -b:v 1M
ou -b:a 192k
. Brinque com esses valores e use uma taxa de bits mais alta ou mais baixa, dependendo das restrições de qualidade ou tamanho do arquivo que você possui.
Você também pode usar VBR (qualidade constante) com -q:v
, onde os valores variam de 0 a 10 (quanto maior, melhor), sendo 7 o recomendado. A qualidade do áudio pode ser definida com -q:a
, novamente com valores de 0 a 10, onde 4 é recomendado e corresponde a aproximadamente 128 kBit/s.
Observe que --enable-libtheora
é uma opção de configuração e não funciona ao chamar ffmpeg
.
Responder2
UsarCerveja caseiragerenciador de pacotes
Instale o Homebrew na linha de comando
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Instale o ffmpeg com suporte libtheora
$ brew install ffmpeg --with-theora --with-libvorbis
Outras opções estão listadas aqui
$ brew options ffmpeg
Espero que ajude outras pessoas ou a mim no futuro;)
Responder3
--enable-libtheora deve ser usado ao construir o ffmpeg a partir do código-fonte, não ao tentar executar o programa. Você deve tentar reconstruir o ffmpeg (usandoa fonte mais recente, é claro) e adicionando suporte para libtheora durante a configuração (./configure --enable-libtheora etc....)
Se precisar de ajuda para construir a partir do código-fonte, há muitas coisas no Google, mas tudo se resume (para você) a habilitar as bibliotecas que você precisa, você pode veraquie _http://jungels.net/articles/ffmpeg-howto.html para começar.