Manual traduzido do FFMPEG

Transcrição

Manual traduzido do FFMPEG
Manual traduzido do FFMPEG
Introdução
O programa FFMPEG é um conversor de arquivos de vídeo e áudio muito rápido. Ele também
consegue capturar de uma fonte ao vivo de áudio/vídeo. A interface de linha de comando foi
pensada para ser intuitiva, no sentido de que o FFMPEG tenta 'entender' todos os parâmetros que
possam ser derivados automaticamente. Normalmente, você só precisa especificar a taxa de bits
("bitrate") desejada. O FMPEG também pode converter de qualquer taxa de amostragem ("sample
rate") para qualquer outra e redimensionar o vídeo em tempo real com um filtro polifásico de alta
qualidade.
Nota sobre esta versão do manual
A tradução do manual foi focada na utilização do software para fins multimídia, buscando
especialmente um público de usuários-finais do sistema operacional Linux. Desta forma, informações
relacionadas à sua instalação/compilação em outros sistemas operacionais não foram traduzidas, assim
como as notas relacionadas a desenvolvedores, política de desenvolvimento no CVS, etc. Todos estes
itens
fazem
parte
das
seções
e
subseções
6
e
7
do
manual
original,
em
inglês.
Você é livre para usar, copiar e distribuir esta versão do manual desde que para fins não-comerciais.
A tradução deste manual foi feita por Flavio Freitas (qazav.wordpress.com).
Começo rápido (para os apressados)
Captura de áudio e vídeo
FFMPEG pode usar uma fonte de vídeo compatível com o video4linux e qualquer fonte de áudio Open
Sound System:
ffmpeg /tmp/out.mpg
Note que você deve ativar a fonte de vídeo correta e o canal antes de usar o FFMPEG com qualquer
visor de televisão, como o xawtv de Gerd Knorr. Você também tem que ajustar corretamente o nível
de gravação do áudio com um mixer padrão.
Conversão de formatos para vídeo e áudio
O FFMPEG consegue usar qualquer protocolo e formato de arquivo suportado como entrada:
Exemplos:
Você pode usar arquivos YUV como entrada:
ffmpeg -i /tmp/teste%d.Y /tmp/saída.mpg
Ele usará os arquivos:
/tmp/teste0.Y, /tmp/teste0.U, /tmp/teste0.V,
/tmp/teste1.Y, /tmp/teste1.U, /tmp/teste1.V, etc...
Arquivos Y usam uma resolução duas vezes maior do que arquivos U e V. Eles são arquivos brutos,
sem chamadas ("header"). Podem ser gerados por todos os decodificadores de vídeo decentes. Você
deve especificar o tamanho da imagem com a opção '-s' caso o FFMPEG não consiga 'adivinhá-la'.
Você pode usar como entrada ("input") um arquivo bruto YUV420P:
ffmpeg -i /tmp/teste.yuv /tmp/saída.avi
teste.yuv é um arquivo contendo informações brutas YUV planar. Cada frame é composto de um
plano Y, seguido dos planos U e V a metade das resoluções verticais e horizontais.
Você pode dar saída ("output to") a um arquivo bruto YUV420P:
ffmpeg -i meudivx.avi arquivobruto.yuv
Você pode marcar vários arquivos de entrada e de saída:
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
Converter o arquivo de áudio (a.wav) e o arquivo bruto de vídeo YUV (a.yuv) para um arquivo MPEG
(a.mpg).
Você também pode fazer conversões de áudio e vídeo ao mesmo tempo:
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
Converter a.wav para áudio MPEG a uma taxa de amostragem ("sample rate") de 22050Hz.
Você pode codificar vários formatos ao mesmo tempo e definir um mapeamento da faixa de entrada
("input stream") para as faixas de saída ("output streams"):
ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0
Converter a.wav para a.mp2 a 64 kbits e para b.mp2 a 128 kbits. A função '-map file:index'
especifica qual faixa de entrada ("input stream") é usada para qual faixa de saída ("output stream"),
na ordem de definição das faixas de saída.
Você pode transcodificar VOBs desencriptados:
ffmpeg -i afanado_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp3 -ab
128 afanado.avi
Este é um exemplo típico de extração de conteúdos de DVD; o arquivo de entrada é um arquivo
VOB, o de saída é um arquivo AVI com vídeo em MPEG-4 e áudio em MP3. Repare que neste
comando estamos usando frames B ("B frames") para que a faixa em MPEG-4 seja compatível com
DivX5, e o tamanho do Grupo de Imagens (GOP size) é 300, o que significa um frame intra ("intra
frame") a cada 10 segundos para um vídeo com entrada a 29.97fps (FramesperSecond). Outra coisa:
a faixa de áudio está codificada em MP3, então você precisa habilitar o suporte a LAME, dando o
comando --enable-mp3lame para configurá-la. Este tipo de mapeamento é particularmente interessante
para a transcodificação de DVDs para pegar o áudio na língua desejada.
OBSERVAÇÃO: Para ver os formatos de entrada suportados, use:
ffmpeg -formats
Chamada
Sintaxe
A sintaxe genérica é:
ffmpeg [[opções para arquivodeentrada]['-i' arquivodeentrada]]... {[opções para
arquivodesaída] arquivodesaída}...
Se nenhum arquivo de entrada for informado, o programa faz captura de áudio/vídeo. Como regra
geral, as opções são aplicadas ao arquivo seguinte especificado. Por exemplo, se você chamar a
função -b 64, ela fixará a taxa de bits ("bitrate") para o próximo arquivo de vídeo. A opção de
formato pode ser necessária para arquivos de entrada brutos. Como padrão, o FFMPEG tenta
converter os arquivos com a menor perda de qualidade possível: ele usa os mesmos parâmetros de
áudio e vídeo especificados nos arquivos de entrada como saída.
Opções principais
-L
Mostra a licença de uso.
-h
Mostra o arquivo de ajuda (em inglês).
-formats
Mostra os formatos, codecs, protocolos, etc, suportados.
-f formato
Força o uso de um formato.
-i nomedoarquivo
Nome do arquivo de entrada
-y
Sobrescreve os arquivos de saída (caso exista um arquivo de mesmo nome na pasta-destino).
-t duração
Fixa o tempo de gravação em segundos. hh:mm:ss.xxx sintaxe também é suportada.
-ss posição
Busca dada posição no tempo, em segundos. hh:mm:ss.xxx sintaxe também é suportada.
-title cadeiadecaracteres
Faz a marcação do título.
-author cadeiadecaracteres
Faz a marcação do autor.
-copyright cadeiadecaracteres
Faz a marcação dos direitos autorais ("copyright").
-comment cadeiadecaracteres
Faz a marcação de um comentário.
-target tipo
Especifica o tipo de arquivo a ser usado como saída ("vcd", "svcd", "dvd", "dv", "pal-vcd", "ntscsvcd", ... ). Todas as opções do formato (taxa de bits ("bitrate"), codecs, tamanhos de buffer) são
então fixados automaticamente. Você pode simplesmente digitar:
ffmpeg -i meuarquivo.avi -target vcd /tmp/vcd.mpg
Ainda assim, você pode especificar opções adicionais desde que você certifique-se de que elas não
entrem em conflito com a padrão, como em:
ffmpeg -i meuarquivo.avi -target vcd -bf 2 /tmp/vcd.mpg
-hq
Ativa as marcações para alta qualidade.
-itsoffset deslocamento
Marca o tempo de deslocamento do arquivo de entrada ("input time offset") em segundos. -hh:
mm:ss[.xxx] sintaxe também é suportada. Esta opção afeta todos os arquivos de entrada que o
seguirem. O deslocamento ("offset") é adicionado às marcações de tempo ("timestamps") dos
arquivos
de
entrada.
Especificar
um
deslocamento
("offset")
positivo
significa
que
correspondentes serão atrasadas pelos segundos especificados no parâmetro 'deslocamento'.
as
faixas
Opções de vídeo
-b taxadebits
Fixa a taxa de bits ("bitrate") do vídeo em kbit/s (padrão = 200 kb/s).
-r fps
Fixa a taxa de frames por segundo (fps) (padrão = 25).
-s tamanho
Fixa as dimensões do frame. O formato é 'LxA', isto é, Largura x Altura ("width x high") (padrão =
160x128). As abreviaturas a seguir são reconhecidas:
•
sqcif
128x96
•
qcif
176x144
•
cif
352x288
•
4cif
704x576
-aspect aspecto
Fixa a proporção de aspecto (4:3, 16:9 ou 1.3333, 1.7777).
-croptop tamanho
Faz a marcação do tamanho da faixa de corte (em pixels) a ser feito na parte de cima.
-cropbottom tamanho
Faz a marcação do tamanho da faixa de corte (em pixels) a ser feito na parte de baixo.
-cropleft tamanho
Faz a marcação do tamanho da faixa de corte (em pixels) a ser feito na lateral esquerda.
-cropright tamanho
Faz a marcação do tamanho da faixa de corte (em pixels) a ser feito na lateral direita.
-padtop tamanho
Faz a marcação do tamanho da faixa de 'enchimento' ("pad size") (em pixels) a ser feito na parte de
cima.
-padbottom tamanho
Faz a marcação do tamanho da faixa de 'enchimento' ("pad size") (em pixels) a ser feito na parte de
baixo.
-padleft tamanho
Faz a marcação do tamanho da faixa de 'enchimento' ("pad size") (em pixels) a ser feito na lateral
esquerda.
-padright tamanho
Faz a marcação do tamanho da faixa de 'enchimento' ("pad size") (em pixels) a ser feito na lateral
direita.
-padcolor (cor hexadecimal)
Faz a marcação de cor das faixas de preenchimento ("padded bands"). O valor da função 'padcolor' é
expresso por meio de um número hexadecimal de seis dígitos, no qual os dois primeiros dígitos
representam a cor vermelha, os dois dígitos intermediários representam a cor verde e os dois últimos
representam a tonalidade de azul (em um sistema de cores RGB) (padrão = 000000 (preto)).
-vn
Desabilita a gravação de vídeo.
-bt tolerância
Fixa a tolerância da taxa de bits ("bitrate") (em kbit/s).
-maxrate taxadebits
Fixa a tolerância máxima da taxa de bits ("bitrate") (em kbit/s).
-minrate taxadebits
Fixa a tolerância mínima da taxa de bits ("bitrate") (em kbit/s).
-bufsize tamanho
Controla o tamanho do buffer ("buffer size") (em kbit).
-vcodec codec
Força o codec de vídeo para o especificado no parâmetro codec. Use o parâmetro especial copy para
informar que a informação bruta do codec deve ser copiada como está.
-sameq
Usa a mesma qualidade do arquivo-fonte (implica VBR).
-pass n
Para codificação em 'caminhos' ("pass"). Selecione o número de 'caminhos' (1 ou 2). Á aconselhável
usar o método conhecido como "two pass encoding" (valor: 2). As estatísticas do vídeo são gravadas
no primeiro 'caminho' ("first pass") e o vídeo é gerado na exata faixa de bits especificada no
segundo 'caminho' ("second pass").
-passlogfile arquivo
Marca o nome do arquivo de log da codificação em 'dois caminhos' ("two pass") para arquivo.
Opções avançadas de vídeo
-g tamanhodoGOP
Fixa o tamanho do Grupo de Imagens (GOP, do inglês, "group of pictures").
-intra
Usa apenas frames 'intra'.
-qscale q
Usa uma escala fixa de quantizador de vídeo (VBR).
-qmin q
Valor mínimo da escala de quantizador de vídeo (VBR)
-qmax q
Valor máximo da escala de quantizador de vídeo (VBR)
-qdiff q
Diferença máxima entre as escalas de 'quantizadores' (VBR)
-qblur obscurecência
Escala de obscurecência ("blur") do quantizador de vídeo (VBR)
-qcomp compressão
Escala de compressão do quantizador de vídeo (VBR)
-pix_fmt formato
Formato do pixel a ser utilizado no vídeo
-rc_init_cplx complexidade
Grau de complexidade inicial para codificação em 'passagem única' ("single pass encoding")
-b_qfactor fator
Fator qp entre frames P e B
-i_qfactor fator
Fator qp entre frames P e I
-b_qoffset deslocamento
Deslocamento qp entre frames P e B
-i_qoffset deslocamento
Deslocamento qp entre frames P e I
-rc_eq equação
Marca a equação de controle de razão (ver seção Calculadora FFMPEG) (padrão = tex^qComp).
-rc_override sobreposição
Controle de razão de sobreposição ("override") para intervalos específicos
-me método
Marca o método de estimativa de movimentação ("motion estimation method") para o valor
especificado em método. Métodos disponíveis são (da qualidade mais baixa para a melhor qualidade):
•
zero
Tenta apenas o vetor (0, 0).
•
phods
•
log
•
x1
•
epzs
(método padrão)
•
full
busca exaustiva (lenta e levemente melhor do que epzs)
-dct_algo algoritmo
Marca o algoritmo DCT para o valor especificado em algoritmo. Valores disponíveis são:
•
0
FF_DCT_AUTO (automático) (padrão)
•
1
FF_DCT_FASTINT (intermediário rápido?)
•
2
FF_DCT_INT (intermediário?)
•
3
FF_DCT_MMX (MMX)
•
4
FF_DCT_MLIB
•
5
FF_DCT_ALTIVEC
-idct_algo algoritmo
Marca o algoritmo IDCT para o valor especificado em algoritmo. Valores disponíveis são:
•
0
FF_IDCT_AUTO (automático) (padrão)
•
1
FF_IDCT_INT (intermediário?)
•
2
FF_IDCT_SIMPLE (simples)
•
3
FF_IDCT_SIMPLEMMX (MMX simples)
•
4
FF_IDCT_LIBMPEG2MMX (MMX com libmpeg2)
•
5
FF_IDCT_PS2 (playstation 2?)
•
6
FF_IDCT_MLIB
•
7
FF_IDCT_ARM
•
8
FF_IDCT_ALTIVEC
•
9
FF_IDCT_SH4
•
10
FF_IDCT_SIMPLEARM
-er n
Marca a margem de erro ("error resilience") para o valor especificado em n.
•
1
FF_ER_CAREFUL (cuidadoso) (padrão)
•
2
FF_ER_COMPLIANT (condescendente)
•
3
FF_ER_AGGRESSIVE (agressivo)
•
4
FF_ER_VERY_AGGRESSIVE (muito agressivo)
-ec máscaraembits
Marca
o
quanto
de
erro
será
'escondido'
("error
concealment")
para
o
valor
definido
em
máscaraembits. máscaraembits é uma máscara de bits nos seguintes valores:
•
1
FF_EC_GUESS_MVS (adivinha_MVS) (padrão = habilitado)
•
2
FF_EC_DEBLOCK (desbloqueia) (padrão = habilitado)
-bf frames
Usa os frames de frame B ("'frames' B-frames") (suportado para MPEG-1, MPEG-2 e MPEG-4).
-mbd modo
Decisão de macroblocos ("macroblock")
•
0
FF_MB_DECISION_SIMPLE (decisão simples): Usa mb_cmp (ainda não consegue mudar no
FFMPEG).
•
1
FF_MB_DECISION_BITS (decisão_bits): Escolhe qual precisa de menos bits.
•
2
FF_MB_DECISION_RD (decisão: distorção de razão): Distorção de razão ("rate distortion")
-4mv
Usa quatro vetores de movimentos por macrobloco (apenas MPEG-4).
-part
Usa particionamento de informações (apenas MPEG-4).
-bug parâmetro
Trabalha erros de codificação que não são auto-detectados.
-strict rigidez
Quão estrito/rígido o programa seguirá os padrões.
-aic
Habilita codificação 'intra' avançada (h263+).
-umv
Habilita vetor de movimentação ilimitado ("Unlimited Motion Vector") (h263+)
-deinterlace
Desentrelaça as imagens.
-interlace
Força suporte a entrelaçamento durante a codificação (MPEG-2 e MPEG-4 apenas). Use esta opção
caso seu arquivo de entrada é entrelaçado e você quer deixá-lo entrelaçado para haver perdas
mínimas.
A
alternativa
é
desentrelaçar
o
arquivo
de
entrada
usando
desentrelaçamento gera perdas.
'-deinterlace',
mas
o
-psnr
Calcula o valor PSNR ("Peak signal-to-noise ratio", razão máxima entre sinal-e-ruído) de frames
comprimidos.
-vstats
Escreve as estatísticas da codificação do vídeo no arquivo 'vstats_HHMMSS.log'.
-vhook módulo
Insere o módulo de processamento do vídeo, de acordo com o especificado na função módulo.
Módulo contém o nome do módulo e seus parâmetros, separados por espaços.
Opções de áudio
-ar freqüência
Marca a freqüência da amostragem de áudio ("audio sampling frequency") (padrão = 44100 Hz).
-ab taxadebits
Marca a taxa de bits ("bitrate") de áudio em kbit/s (padrão = 64).
-ac canais
Marca o número de canais de áudio (padrão = 1).
-an
Desabilita a gravação de áudio.
-acodec codec
Força determinado codec de áudio de acordo com o especificado na função codec. Use o parâmetro
especial copy para especificar que a informação bruta do codec deve ser copiada como está.
Opções de captura para áudio e vídeo
-vd dispositivo
Marca o dispositivo ("device") de captura de vídeo (exemplo: '/dev/video0').
-vc canal
Marca o canal ("channel") de captura de áudio (DV1394 apenas).
-tvstd padrão
Escolhe o padrão de televisão (NTSC, PAL (SECAM)).
-dv1394
Captura pelo dispositivo DV1394.
-ad dispositivo
Escolhe o dispositivo ("device") de áudio (exemplo: '/dev/dsp').
Opções avançadas
-map arquivo:faixa
Marca mapeamento da faixa de entrada ("input stream mapping").
-debug
Imprime informação específica de de depuração ("debug").
-benchmark
Adiciona tempos para o teste de performance ("benchmarking").
-hex
Esvazia ("dump") cada pacote de entrada.
-bitexact
Usar apenas algoritmos de bit exato (para teste de codec).
-ps tamanho
Marca o tamanho do pacote em bits.
-re
Lê arquivo de entrada com a razão de frames nativa. Usado principalmente para simular um
dispositivo de captura.
-loop
Faz um 'loop' da faixa de entrada. Atualmente, funciona apenas para faixas de imagens (não de
áudio). Esta opção é usada para teste automático do servidor FF ("FFserver").
-loop_output númerodevezes
Faz um 'loop' repetido do arquivo de saída para formatos que suportam 'loops', como o GIF animado
(o valor 0 fará um 'loop' infinito do arquivo de saída).
Calculadora FFMPEG
Quando calculando uma cadeia de controle de proporção ("rate control string"), o FFMPEG usa uma
calculadora de fórmulas interna.
As seguintes operações binárias estão disponíveis:
+, -, *, /, ^
As seguintes operações unárias estão disponíveis:
+, -, (...)
As seguintes funções estão disponíveis:
sinh(x)
cosh(x)
tanh(x)
sin(x)
cos(x)
tan(x)
exp(x)
log(x)
squish(x)
gauss(x)
abs(x)
max(x, y)
min(x, y)
gt(x, y)
lt(x, y)
eq(x, y)
bits2qp(bits)
qp2bits(qp)
As seguintes constantes estão disponíveis:
PI
E
iTex
pTex
tex
mv
fCode
iCount
mcVar
var
isI
isP
isB
avgQP
qComp
avgIITex
avgPITex
avgPPTex
avgBPTex
avgTex
Protocolos
O nome do arquivo pode ser '-' para ser lido na entrada padrão ou para ser escrito para saída
padrão. O FFMPEG também comporta vários protocolos especificados com uma sintaxe URL. Use
'ffmpeg -formats' para ver uma lista dos protocolos suportados.
O protocolo http: atualmente é usado somente para se comunicar com o servidor FF ("FFserver")
(veja a documentação do FFserver). Quando o FFMPEG for um tocador de vídeo, ele também será
usado para fazer transmissão ("streaming") :-)
Dicas
•
Para transmissão ("streaming") a aplicações com taxas de bits ("bitrate") muito baixas, use
uma proporção de frames baixa e um tamanho pequeno para o Grupo de Imagens ("GOP
size"). Isso é especialmente verdade para RealVideo, com o qual o tocador de Linux parece
não ser muito rápido, então pode haver perda de frames. Um exemplo é:
ffmpeg -g 3 -r 3 -t 10 -b 50 -s qcif -f rv10 /tmp/b.rm
•
O parâmetro 'q' que é exibido enquanto acontece a codificação é o 'quantizador' atual. O valor
1 indica que uma qualidade muito boa pode ser alcançada. O valor 31 indica a pior qualidade.
Se q=31 aparecer com muita freqüência, significa que o codificador não consegue comprimir o
suficiente para chegar à taxa de bits ("bitrate") que você fixou. Você deve ou aumentar a
taxa de bits, abaixar a proporção de frames ("frame rate") ou diminuir o tamanho do frame.
•
Se seu computador não é rápido o suficiente, você pode acelerar a compressão perdendo um
pouco da proporção de compressão. Você pode usar '-me zero' para acelerar a estimativa de
movimentação, e '-intra' para desabilitar completamente a estimativa de movimento (você terá
apenas frames-I, o que significa que é uma compressão tão boa quanto uma compressão
JPEG).
•
Para ter taxas de bits ("bitrates") muito baixas, reduza a freqüência de amostragem
("sampling frequency") (para até 22050 kHz para áudio em MPEG, 22050 ou 11025 para
áudio em AC3).
•
Para ter uma qualidade constante (mas não uma taxa de bits variável ("variable bitrate")),
use a opção '-qscale n', na qual o valor 'n' deve estar entre 1 (qualidade excelente) e 31 (pior
qualidade).
•
Ao converter arquivos de vídeo, você pode usar a função '-sameq', que usa o mesmo fator de
qualidade tanto no codificador quanto no decodificador. Ele também permite codificação sem
perdas ("lossless encoding").
Formatos de arquivos suportados e Codecs
Você pode usar a função -formats para ver uma extensa lista.
Formatos de arquivos
O FFMPEG suporta os seguintes formatos de arquivo por meio da biblioteca libavformat:
Formato de Arquivo
Suportado
Codificação Decodificação
MPEG Áudio
X
X
MPEG-1 systems (sistemas)
X
X
MPEG-2 PS
X
X
MPEG-2 TS
X
ASF
X
X
AVI
X
X
WAV
X
X
Macromedia Flash
X
X
FLV
X
X
Real Áudio e Vídeo
X
X
Raw AC3 (AC3 bruto)
X
X
Raw MJPEG (MJPEG bruto)
X
X
X
X
X
X
X
X
Raw MPEG vídeo (MPEG
bruto " vídeo)
Raw PCM8/16 bits,
mulaw/Alaw (PCM bruto)
Raw CRI ADX áudio (CRI
ADX bruto)
Raw Shorten áudio
Comentários
áudio e vídeo comprimidos juntos
("muxed")
também conhecido como arquivo VOB
também conhecido como DVB Transport
Stream
Somente áudio embutido ("embedded") é
decodificado.
arquivos de vídeo Macromedia Flash
X
(Shorten bruto)
SUN AU format
X
X
NUT
X
X
Quick Time
X
X
Formato de Container Aberto NUT
MPEG-4
Raw MPEG4 vídeo (MPEG4
bruto)
DV
X
X
X
X
X
X
4xm
X
Playstation STR
X
Id RoQ
X
Formato de Arquivo
X
Suportado Interplay MVE
WC3 Movie (WC3 filme)
X
Sega FILM/CPK
X
Westwood Studios
X
VQA/AUD
MPEG-4 é uma variante do Quick Time.
Formato da 4X Technologies, usado em
alguns jogos.
Usado no Quake III, Jedi Knight 2,
outros jogos de computador.
Formato usado em vários jogos de
computador da Interplay.
Formato multimídia usado no jogo de
computador Origin's Wing Commander III.
Usado em vários jogos do console Sega
Saturn.
Formatos multimídia usados nos jogos da
Westwood Studios.
Id Cinematic (.cin)
X
Usado no Quake II.
FLIC format
X
arquivos .fli/.flc
Sierra VMD
X
Usado nos jogos de CD-ROM da Sierra.
Sierra Online
X
Matroska
X
Electronic Arts Multimedia
X
Nullsoft Video (NSV)
arquivos .sol usados nos jogos online da
Sierra.
Usado em vários jogos da EA; os
arquivos têm extensões tipo WVE e UV2.
X
format
X significa que a codificação (e respectiva decodificação) é suportada.
Formatos de imagens
O FFMPEG pode ler e escrever imagens para cada frame de uma seqüência de vídeo. Os seguintes
formatos de imagem são suportados:
Formato
Suportado
de
Imagem
Codificação Decodificação Comentários
PGM, PPM
X
X
PAM
X
X
PGMYUV
X
X
JPEG
X
X
JPEG progressivo não é suportado.
.Y.U.V
X
X
um arquivo bruto por componente
GIF animado
X
X
PNG
X
X
SGI
X
X
PAM é uma extensão PNM com suporte a
camada alfa.
PGM com componentes U e V em YUV
4:2:0
Somente GIFs não comprimidos são
gerados.
2 bits e 4 bits/pixel ainda não são
suportados.
formato de imagem SGI RGB
X significa que a codificação (e respectiva decodificação) é suportada.
Codecs de vídeo
Codec suportado
Codificação Decodificação Comentários
MPEG-1 video
X
X
MPEG-2 video
X
X
MPEG-4
X
X
MSMPEG4 V1
X
X
MSMPEG4 V2
X
X
MSMPEG4 V3
X
X
WMV7
X
X
WMV8
X
X
H.261
X
X
H.263(+)
X
X
H.264
X
RealVideo 1.0
X
X
RealVideo 2.0
X
X
MJPEG
X
X
X
X
lossless MJPEG (MJPEG
sem perdas)
também conhecido como DivX4/5
também conhecido como DivX3
não está funcionando completamente
também conhecido como RealVideo 1.0
Apple MJPEG-B
X
Sunplus MJPEG
X
fourcc: SP5X
DV
X
X
HuffYUV
X
X
FFMPEG Video 1
X
X
FFMPEG Snow
X
X
codec wavelet experimental (fourcc: SNOW)
Asus v1
X
X
fourcc: ASV1
Asus v2
X
X
fourcc: ASV2
X
fourcc: CYUV
X
fourcc: SVQ1
Sorenson Video 3
X
fourcc: SVQ3
On2 VP3
X
ainda experimental
Theora
X
ainda experimental
Intel Indeo 3
X
Creative YUV
Sorenson Video 1
X
codec
sem
perdas
experimental
(fourcc:
FFV1)
X
Sorenson H.263 usado em Flash
ATI VCR1
X
fourcc: VCR1
ATI VCR2
X
fourcc: VCR2
Cirrus Logic AccuPak
X
fourcc: CLJR
4X Video
X
Usado em certos jogos de computador
Sony Playstation MDEC
X
Id RoQ
X
Xan/WC3
X
Interplay Video
X
Usado nos arquivos .MVE da Interplay.
X
fourcc: 'rle '
X
fourcc: 'smc '
Apple Video
X
fourcc: rpza
Apple QuickDraw
X
fourcc: qdrw
Cinepak
X
FLV
Apple Animation
(Animação Apple)
Apple Graphics (Gráficos
Apple)
X
Usado no Quake III, Jedi Knight 2, outros
jogos de computador.
Usado
nos
arquivos
.MVE
do
Commander III.
Wing
Microsoft RLE
X
Microsoft Video-1
X
Westwood VQA
X
Id Cinematic Video
X
Usado no Quake II.
Planar RGB
X
fourcc: 8BPS
FLIC video
X
Duck TrueMotion v1
X
fourcc: DUCK
Duck TrueMotion v2
X
fourcc: TM20
VMD Video
X
Usado nos arquivos VMD da Sierra.
MSZH
X
Parte do LCL
X
Parte do LCL, codificador experimental
TechSmith Camtasia
X
fourcc: TSCC
IBM Ultimotion
X
fourcc: ULTI
Miro VideoXL
X
fourcc: VIXL
QPEG
X
fourccs: QPEG, Q1.0, Q1.1
LOCO
X
Winnov WNV1
X
ZLIB
X
Autodesk Animator Studio
fourcc: AASC
X
Codec
Fraps FPS1
X
X significa que a codificação (e respectiva decodificação) é suportada.
Veja http://www.mplayerhq.hu/~michael/codec-features.html para ter uma comparação precisa do
codec FFMPEG MPEG-4 comparado a outras implementações.
Codecs de áudio
Codec Suportado
Codificação
MPEG audio layer 2 (MPEG
áudio, camada 2)
MPEG
(MPEG
1/3)
audio
áudio,
layer
Decodificação Comentários
IX
IX
IX
IX
1/3
camadas
Codificação no formato MP3 é suportada
por meio da biblioteca externa LAME.
AC3
IX
IX
Vorbis
X
X
WMA V1/V2
é
usada
internamente
para
decodificação.
Suportado por meio da biblioteca externa
libvorbis.
X
AAC
X
X
Microsoft ADPCM
X
X
MS IMA ADPCM
X
X
QT IMA ADPCM
X
4X IMA ADPCM
X
G.726 ADPCM
X
X
Duck DK4 IMA ADPCM
X
Studios
IMA
X
ADPCM
Suportado por meio da biblioteca externa
libfaac/libfaad.
X
Duck DK3 IMA ADPCM
Westwood
liba52
SMJPEG IMA ADPCM
X
CD-ROM XA ADPCM
X
Usado em alguns jogos de console Sega
Saturn.
Usado em alguns jogos de console Sega
Saturn.
Usado em jogos da Westwood Studios
como Command and Conquer.
Usado em alguns ports de jogos da Loki.
X
Usado em jogos da Sega Dreamcast.
Electronic Arts ADPCM
X
Usado em vários títulos da EA.
Creative ADPCM
X
RA144
X
Codec Real 14400 bit/s
RA288
X
Codec Real 28800 bit/s
CRI ADX ADPCM
X
Codec AC3 com taxa de bits muito baixa,
RADnet
X
IX
AMR-NB
X
X
Suportado por uma biblioteca externa.
AMR-WB
X
X
Suportado por uma biblioteca externa.
DV audio
X
Id RoQ DPCM
X
Interplay MVE DPCM
X
liba52 é usada para decodificação.
Usado
no
Quake
III,
Jedi
Knight
2,
outros jogos de computador.
Usado em vários jogos de computador da
Interplay.
Xan DPCM
X
Sierra Online DPCM
X
Apple MACE 3
X
Apple MACE 6
X
FLAC lossless audio
X
Shorten lossless audio
X
Apple lossless audio
X
FFMPEG Sonic
X
X
Qdesign QDM2
X
Real COOK
X
DSP Group TrueSpeech
X
Usado nos arquivos AVI do Origin's Wing
Commander IV.
Usado nos arquivos de áudio dos jogos
online da Sierra.
Quick Time fourcc 'alac'
codec experimental para compressão com
ou sem perdas ("lossy/lossless")
ainda há algumas distorções
Todas
as
versões,
exceto
5.1
são
suportadas
X significa que a codificação (e respectiva decodificação) é suportada. I significa que uma versão
"integer-only" está disponível, também (garante alta performance em sistemas sem suporte a
'hardware floating point').

Documentos relacionados

Manual traduzido FFMPEG

Manual traduzido FFMPEG Este é um exemplo típico de extração de conteúdos de DVD; o arquivo de entrada é um arquivo VOB, o de saída é um arquivo AVI com vídeo em MPEG-4 e áudio em MP3. Repare que neste comando estamos usa...

Leia mais