Manual online do FFMPEG (parte 2) | DeServ – Info
Lomadee, uma nova espcie na web. A maior plataforma de afiliados da Amrica Latina.

Manual online do FFMPEG (parte 2)

By Flávio Silva

Versão desatualizada. A tradução mais atual pode ser encontrada no site do mantenedor
dividido em duas partes: parte 1; parte 2.

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 ‘quantizer’ 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 Comentários
MPEG Áudio X X
MPEG-1 systems (sistemas) X X áudio e vídeo comprimidos juntos (“muxed”)
MPEG-2 PS X X também conhecido como arquivo VOB
MPEG-2 TS X também conhecido como DVB Transport Stream
ASF X X
AVI X X
WAV X X
Macromedia Flash X X Somente áudio embutido (“embedded”) é decodificado.
FLV X X arquivos de vídeo Macromedia Flash
Real Áudio e Vídeo X X
Raw AC3 (AC3 bruto) X X
Raw MJPEG (MJPEG bruto) X X
Raw MPEG vídeo (MPEG bruto ” vídeo) X X
Raw PCM8/16 bits, mulaw/Alaw (PCM bruto) X X
Raw CRI ADX áudio (CRI ADX bruto) X X
Raw Shorten áudio (Shorten bruto) X
SUN AU format X X
NUT X X Formato de Container Aberto NUT
Quick Time X X
MPEG-4 X X MPEG-4 é uma variante do Quick Time.
Raw MPEG4 vídeo (MPEG4 bruto) X X
DV X X
4xm X Formato da 4X Technologies, usado em alguns jogos.
Playstation STR X
Id RoQ X Usado no Quake III, Jedi Knight 2, outros jogos de computador.
Formato de Arquivo Suportado Interplay MVE X Formato usado em vários jogos de computador da Interplay.
WC3 Movie (WC3 filme) X Formato multimídia usado no jogo de computador Origin’s Wing Commander III.
Sega FILM/CPK X Usado em vários jogos do console Sega Saturn.
Westwood Studios VQA/AUD X 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 arquivos .sol usados nos jogos online da Sierra.
Matroska X
Electronic Arts Multimedia X Usado em vários jogos da EA; os arquivos têm extensões tipo WVE e UV2.
Nullsoft Video (NSV) format X

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 de Imagem Suportado Codificação Decodificação Comentários
PGM, PPM X X
PAM X X PAM é uma extensão PNM com suporte a camada alfa.
PGMYUV X X PGM com componentes U e V em YUV 4:2:0
JPEG X X JPEG progressivo não é suportado.
.Y.U.V X X um arquivo bruto por componente
GIF animado X X Somente GIFs não comprimidos são gerados.
PNG X X 2 bits e 4 bits/pixel ainda não são suportados.
SGI X X 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 também conhecido como DivX4/5
MSMPEG4 V1 X X
MSMPEG4 V2 X X
MSMPEG4 V3 X X também conhecido como DivX3
WMV7 X X
WMV8 X X não está funcionando completamente
H.261 X X
H.263(+) X X também conhecido como RealVideo 1.0
H.264 X
RealVideo 1.0 X X
RealVideo 2.0 X X
MJPEG X X
lossless MJPEG (MJPEG sem perdas) X X
Apple MJPEG-B X
Sunplus MJPEG X fourcc: SP5X
DV X X
HuffYUV X X
FFMPEG Video 1 X X codec sem perdas experimental (fourcc: FFV1)
FFMPEG Snow X X codec wavelet experimental (fourcc: SNOW)
Asus v1 X X fourcc: ASV1
Asus v2 X X fourcc: ASV2
Creative YUV X fourcc: CYUV
Sorenson Video 1 X X fourcc: SVQ1
Sorenson Video 3 X fourcc: SVQ3
On2 VP3 X ainda experimental
Theora X ainda experimental
Intel Indeo 3 X
FLV X 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 Usado no Quake III, Jedi Knight 2, outros jogos de computador.
Xan/WC3 X Usado nos arquivos .MVE do Wing Commander III.
Interplay Video X Usado nos arquivos .MVE da Interplay.
Apple Animation (Animação Apple) X fourcc: ‘rle ‘
Apple Graphics (Gráficos Apple) X fourcc: ‘smc ‘
Apple Video X fourcc: rpza
Apple QuickDraw X fourcc: qdrw
Cinepak X
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
ZLIB X 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
Autodesk Animator Studio Codec X fourcc: AASC
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 Decodificação Comentários
MPEG audio layer 2 (MPEG áudio, camada 2) IX IX
MPEG audio layer 1/3 (MPEG áudio, camadas 1/3) IX IX Codificação no formato MP3 é suportada por meio da biblioteca externa LAME.
AC3 IX IX liba52 é usada internamente para decodificação.
Vorbis X X Suportado por meio da biblioteca externa libvorbis.
WMA V1/V2 X
AAC X X Suportado por meio da biblioteca externa libfaac/libfaad.
Microsoft ADPCM X X
MS IMA ADPCM X X
QT IMA ADPCM X
4X IMA ADPCM X
G.726 ADPCM X X
Duck DK3 IMA ADPCM X Usado em alguns jogos de console Sega Saturn.
Duck DK4 IMA ADPCM X Usado em alguns jogos de console Sega Saturn.
Westwood Studios IMA ADPCM X Usado em jogos da Westwood Studios como Command and Conquer.
SMJPEG IMA ADPCM X Usado em alguns ports de jogos da Loki.
CD-ROM XA ADPCM X
CRI ADX ADPCM X 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
RADnet X IX Codec AC3 com taxa de bits muito baixa, liba52 é usada para decodificação.
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 Usado no Quake III, Jedi Knight 2, outros jogos de computador.
Interplay MVE DPCM X Usado em vários jogos de computador da Interplay.
Xan DPCM X Usado nos arquivos AVI do Origin’s Wing Commander IV.
Sierra Online DPCM X Usado nos arquivos de áudio dos jogos online da Sierra.
Apple MACE 3 X
Apple MACE 6 X
FLAC lossless audio X
Shorten lossless audio X
Apple lossless audio X Quick Time fourcc ‘alac’
FFMPEG Sonic X X codec experimental para compressão com ou sem perdas (“lossy/lossless”)
Qdesign QDM2 X ainda há algumas distorções
Real COOK X Todas as versões, exceto 5.1 são suportadas
DSP Group TrueSpeech X

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’).

Tags: , , , , ,

Deixe uma Resposta