Você está na página 1de 16

Manual traduzido FFMPEG

verso rev-14736, agosto de 2008.

1. Introduo O programa FFMPEG um conversor de arquivos de vdeo e udio muito rpido. Ele tambm consegue capturar de uma fonte ao vivo de udio/vdeo. A interface de linha de comando foi pensada para ser intuitiva, no sentido de que o FFMPEG tenta entender todos os parmetros que possam ser derivados automaticamente. Normalmente, voc s precisa especificar a taxa de bits ("bitrate") desejada. O FFMPEG tambm pode converter de qualquer taxa de amostragem ("sample rate") para qualquer outra e redimensionar o vdeo em tempo real com um filtro polifsico de alta qualidade.

2. Incio rpido

2.1 Captura de udio e vdeo O FFmpeg pode capturar vdeo e udio a partir de dispositivos desde que voc informe o formato de entrada e o dispositivo.
ffmpegfossi/dev/dspfvideo4linux2i/dev/video0/tmp/sada.mpg

Note que voc deve ativar a fonte de vdeo correta e o canal antes de iniciar o FFmpeg com qualquer visor de tv, como o xawtv (http://bytesex.org/xawtv/) de Gerd Knorr. Voc tambm pode configurar os nveis de gravao corretamente com um mixer padro.

2.2 Captura do X11 FFmpeg pode capturar a reproduo do X11.


ffmpegfx11grabscifi:0.0/tmp/sada.mpg

0.0 o nmero de reproduo.tela de seu servidor X11, o mesmo da varivel de ambiente DISPLAY .
ffmpegfx11grabscifi:0.0+10,20/tmp/sada.mpg

0.0 o nmero de reproduo.tela de seu servidor X11, o mesmo da varivel de ambiente DISPLAY 10 o deslocamento-x e 20 o deslocamento-y para a captura. .

2.3 Converso de formatos para vdeo e udio * O FFMPEG consegue usar qualquer protocolo e formato de arquivo suportado como entrada: Exemplos:

* Voc pode usar arquivos YUV como entrada:


ffmpegi/tmp/teste%d.Y/tmp/sada.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 resoluo duas vezes maior do que arquivos U e V. Eles so arquivos brutos, sem cabealhos ("headers"). Podem ser gerados por todos os decodificadores de vdeo decentes. Voc deve especificar o tamanho da imagem com a opo '-s' caso o FFMPEG no consiga adivinh-la. * Voc pode usar como entrada um arquivo bruto YUV420P:
ffmpegi/tmp/teste.yuv/tmp/sada.avi

teste.yuv um arquivo contendo informaes brutas YUV planar. Cada quadro composto de um plano Y, seguido dos planos U e V metade das resolues verticais e horizontais. * Voc pode dar sada a um arquivo bruto YUV420P:
ffmpegimeudivx.aviarquivobruto.yuv

* Voc pode marcar vrios arquivos de entrada e de sada:


ffmpegi/tmp/a.wavs640x480i/tmp/a.yuv/tmp/a.mpg

Converte o arquivo de udio (a.wav) e o arquivo bruto de vdeo YUV (a.yuv) para um arquivo MPEG (a.mpg). * Voc tambm pode fazer converses de udio e vdeo ao mesmo tempo:
ffmpegi/tmp/a.wavar22050/tmp/a.mp2

Converte a.wav para udio MPEG a uma taxa de amostragem ("sample rate") de 22050Hz. * Voc pode codificar vrios formatos ao mesmo tempo e definir um mapeamento da faixa de entrada para as faixas de sada:
ffmpegi/tmp/a.wavab64k/tmp/a.mp2ab128k/tmp/b.mp2map0:0map0:0

Converter a.wav para a.mp2 a 64 kbits e para b.mp2 a 128 kbits. A funo '-map file:index' especifica qual faixa de entrada usada para qual faixa de sada, na ordem de definio das faixas de sada. * Voc pode transcodificar VOBs desencriptados:
ffmpegiafanado_1.vobfavivcodecmpeg4b800kg300bf2acodeclibmp3lame ab128kafanado.avi

Este um exemplo tpico de extrao de contedos de DVD; o arquivo de entrada um arquivo VOB, o de sada um arquivo AVI com vdeo em MPEG-4 e udio em MP3. Repare que neste comando estamos usando quadros B ("B frames") para que a faixa em MPEG-4 seja compatvel com DivX5, e o tamanho do Grupo de Imagens (GOP size) 300, o que significa um quadro intra ("intra frame") a cada 10 segundos para um vdeo com entrada a 29.97fps. Outra coisa: a faixa de udio est codificada em MP3, ento voc precisa habilitar o suporte a LAME, dando o comando -enable-libmp3lame para configur-la. Este tipo de mapeamento particularmente interessante para a transcodificao de DVDs para pegar o udio na lngua desejada. OBSERVAO: Para ver os formatos de entrada suportados, use ffmpeg -formats. * Voc pode extrair imagens de um vdeo:

ffmpegiteste.avir1sLxAfimagem2teste%03d.jpeg

Isso extrair um quadro do vdeo por segundo e os gravar em arquivos chamados @file{teste001.jpeg}, @file{teste-002.jpeg}, etc. As imagens sero redimensionadas para se adequarem aos novos valores de LxA. A sintaxe @code{teste-%03d.jpeg} especifica que um nmero decimal composto de trs dgitos ladeados por zeros ser usado para expressar a seqncia numrica. Esta a mesma sintaxe suportada pela funo C printf, mas apenas formatos que aceitem um integrador normal so adequados. Caso voc queira extrair apenas um nmero limitado de quadros, voc pode usar o comando acima em combinao com as opes -vframes ou -t, ou em combinao com -ss para iniciar a extrao a partir de um determinado ponto no tempo.

3. Chamada 3.1 Sintaxe genrica A sintaxe genrica : ffmpeg[[opesparaarquivodeentrada][iarquivodeentrada]]... {[opesparaarquivodesada]arquivodesada}... Como regra geral, as opes so aplicadas ao arquivo seguinte especificado. Portanto, a ordem importante, e voc pode ter a mesma opo na linha de comando vrias vezes. Cada ocorrncia ento aplicada ao prximo arquivo de entrada ou sada. * Para configurar a taxa de bits do arquivo de sada para 64kbit/s:
ffmpegientrada.avib64ksada.avi

* Para forar a taxa de quadros do arquivo de sada para 24 fps:


ffmpegientrada.avir24sada.avi

* Para forar a taxa de quadros do arquivo de entrada (vlido apenas para formatos brutos) para 1 fps e a taxa de quadros do arquivo de sada para 24 fps:
ffmpegr1ientrada.m2vr24sada.avi

A opo de formato pode ser necessria para arquivos de entrada brutos. Por padro, o FFMPEG tenta converter os arquivos com a menor perda de qualidade possvel: ele usa os mesmos parmetros de udio e vdeo especificados nos arquivos de entrada como sada.

3.2 Opes principais

-L Mostra a licena de uso.

-h Mostra o arquivo de ajuda (em ingls). -version Mostra a verso do programa. -formats Mostra os formatos, codecs, protocolos, etc, suportados. -f formato Fora o uso de um formato. -i nomedoarquivo Nome do arquivo de entrada -y Sobrescreve os arquivos de sada (caso exista um arquivo de mesmo nome na pasta-destino). -t durao Restringe a sequncia de transcodificao/captura de vdeo para a durao especificada, em segundos. A sintaxe [hh:mm:ss.xxx] tambm suportada. -fs tamanho_limite Define o tamanho limite do arquivo. -ss posio Busca dada posio no tempo, em segundos. A sintaxe [hh:mm:ss.xxx] tambm suportada. -itsoffset deslocamento Define o deslocamento de tempo de entrada, em segundos. A sintaxe [hh:mm:ss.xxx] tambm suportada. Esta opo afeta todos os arquivos de entrada que a seguirem. O deslocamento adicionado aos cdigos de marcao de tempo dos arquivos de entrada. Especificar um deslocamento positivo significa que as faixas correspondentes sero atrasadas por 'deslocamento' segundos. -title cadeiadecaracteres Define o ttulo. -timestamp tempo Define a marcao de tempo. -author cadeiadecaracteres Define o autor. -copyright cadeiadecaracteres Define os direitos autorais ('copyright'). -comment cadeiadecaracteres Define o comentrio. -album cadeiadecaracteres Define o lbum. -track nmero Define a trilha -year nmero Define o ano. -v nmero Configura o nvel de verbosidade do registro (log).

-target tipo Especifica o tipo de arquivo a ser usado como sada ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ... ). Todas as opes do formato (taxa de bits, codecs, tamanhos de buffer) so ento configurados automaticamente. Voc pode simplesmente digitar:
ffmpegimeuarquivo.avitargetvcd/tmp/vcd.mpg

Ainda assim, voc pode especificar opes adicionais desde que voc certifique-se de que elas no entrem em conflito com a padro, como em: ffmpegi meuarquivo. avitarget vcdbf2 /tmp/vcd.mp g -dframes nmero Define o nmero de quadros de informaes a serem gravados. -scodec codec Fora o codec de legendas (use 'copy' para copiar a faixa). -newsubtitle Adiciona uma nova faixa de legendas faixa de sada atual. -slang cdigo Define o cdigo de lngua ISO 639 (3 letras) da faixa de legendas atual.

3.3 Opes de vdeo

-b taxadebits Fixa a taxa de bits do vdeo em kbit/s (padro = 200 kb/s). -vframes nmero Define o nmero de quadros de vdeo a serem gravados. -r fps Fixa a taxa de quadros por segundo (valor em Hz, frao ou abreviao) (padro = 25). -s tamanho Fixa o tamanho de quadro. O formato 'LxA', isto , Largura x Altura (padro do ffserver = 160x128, padro do ffmpeg = mesmo que arquivo de origem). As abreviaturas a seguir so reconhecidas: sqcif 128x96 qcif 176x144 cif 352x288 4cif 704x576 qqvga 160x120 qvga 320x240

vga 640x480 svga 800x600 xga 1024x768 uxga 1600x1200 qxga 2048x1536 sxga 1280x1024 qsxga 2560x2048 hsxga 5120x4096 wvga 852x480 wxga 1366x768 wsxga 1600x1024 wuxga 1920x1200 woxga 2560x1600 wqsxga 3200x2048 wquxga 3840x2400 whsxga 6400x4096 whuxga 7680x4800 cga 320x200 ega 640x350 hd480 852x480

hd720 1280x720 hd1080 1920x1080 -aspect aspecto Define a proporo de aspecto (4:3, 16:9 ou 1.3333, 1.7777). -croptop tamanho Define o tamanho do corte (em pixels) a ser feito na parte de cima. -cropbottom tamanho Define o tamanho do corte (em pixels) a ser feito na parte de baixo. -cropleft tamanho Define o tamanho do corte (em pixels) a ser feito na parte da esquerda. -cropright tamanho Define o tamanho do corte (em pixels) a ser feito na parte da direita. -padtop tamanho Define o tamanho do enchimento (em pixels) a ser feito na parte de cima. -padbottom tamanho Define o tamanho do enchimento (em pixels) a ser feito na parte de baixo. -padleft tamanho Define o tamanho do enchimento (em pixels) a ser feito na parte da esquerda. -padright tamanho Define o tamanho do enchimento (em pixels) a ser feito na parte da direita. -padcolor cor_hexadecimal Define a cor das faixas de preenchimento. O valor da funo 'padcolor' expresso por meio de um nmero hexadecimal de seis dgitos, no qual os dois primeiros dgitos representam a cor vermelha, os dois dgitos intermedirios representam a cor verde e os dois ltimos representam a tonalidade de azul (padro = 000000 (preto)). -vn Desabilita a gravao de vdeo. -bt tolerncia Define a tolerncia da taxa de bits (em bits, padro 4000k). Possui um valor mnimo de: (taxa_de_bits_alvo/taxa_de_quadros_alvo). No modo 1-passagem (1-pass), a tolerncia da taxa de bits especifica o quo longe o controle da taxa permitir que ela se afaste do valor mdio da taxaalvo. Isto no est relacionado taxa de bits mn/mx. Baixar a tolerncia demais possui um efeito adverso na qualidade. -maxrate taxadebits Define a taxa de bits mxima (em bit/s). Requere que a opo -bufsize seja configurada. -minrate taxadebits Define a taxa de bits mnima (em bit/s). Mais til quando se faz uma codificao a uma taxa de bits constante (CBR):
ffmpegimeuarquivo.avib4000kminrate4000kmaxrate4000k bufsize1835ksada.m2v

Esta opo de pouco uso em outros modos. -bufsize tamanho Define o tamanho do buffer do verificador de buffer de vdeo (em bits).

-vcodec codec Fora o codec de vdeo para o especificado no parmetro codec. Use o parmetro especial copy para informar que a informao bruta do codec deve ser copiada como est. -sameq Usa a mesma qualidade do arquivo-fonte (implica codificao a uma taxa varivel de bits, VBR). -pass n Seleciona o nmero da passagem (1 ou 2). til para fazer codificao em duas passagens (two pass encoding). As estatsticas do vdeo so gravadas primeiro, na primeira passagem, e o vdeo gerado na taxa de bits exata informada para a segunda passagem. Na passagem 1, voc pode simplesmente desativar o udio e marcar a sada para null; exemplos para Unix e Windows:
ffmpegiteste.movvcodeclibxvidpass1anfrawvideoyNUL ffmpegiteste.movvcodeclibxvidpass1anfrawvideoy/dev/null

-passlogfile arquivo Define o nome do arquivo de registro da codificao em duas passagens para arquivo. -newvideo Adiciona uma nova faixa de vdeo faixa de sada atual.

3.4 Opes avanadas de vdeo

-pix_fmt formato Define o formato do pixel. Use 'list' como parmetro para mostrar todos os formatos de pixel suportados. -sws_flags marcadores Define os marcadores SwScaler (disponvel apenas quando compilado com suporte a swscale). -g tamanho_do_GOP Define o tamanho do Grupo de Imagens (GOP). -intra Usa apenas quadros 'intra'. -vdt n Descarta a entrada. -qscale q Usa uma escala de quantizador de vdeo fixa (VBR). -qmin q Mnimo da escala de quantizador de vdeo (VBR) -qmax q Mximo da escala de quantizador de vdeo (VBR) -qdiff q Diferena mxima entre as escalas de quantizadores (VBR) -qblur desfoque Desfoque da escala de quantizador de vdeo (VBR) (abrangncia 0.0 - 1.0)

-qcomp compresso Compresso da escala de quantizador de vdeo (VBR) (padro 0.5). Constante da equao da taxa de controle. Abrangncia recomendada por padro rc_eq: 0.0-1.0 -lmin lambda Fator mnimo de abrangncia lag (lagrange) de vdeo (VBR) -lmax lambda Fator mximo de abrangncia lag (lagrange) de vdeo (VBR) -mblmin lambda Escala mnima do quantizador do macrobloco (VBR) -mblmax lambda Escala mxima do quantizador do macrobloco (VBR) Essas quatro opes (lmin, lmax, mblmin, mblmax) usam unidades 'lambda', mas voc pode usar a constante QP2LAMBDA para converter facilmente a partir de unidades 'q':
ffmpegifonte.extlmax21*QP2LAMBDAdst.ext

-rc_init_cplx complexidade Complexidade inicial para codificao em passagem nica -b_qfactor fator Fator qp entre quadros P- e B-i_qfactor fator Fator qp entre quadros P- e I-b_qoffset deslocamento Deslocamento qp entre quadros P- e B-i_qoffset deslocamento Deslocamento qp entre quadros P- e I-rc_eq equao Define a equao da taxa de controle (see section Avaliador de frmula do FFMPEG) (padro = tex^qComp). -rc_override sobrescrio Taxa de controle de sobrescrio para intervalos especficos -me_method mtodo Define o mtodo de estimativa de movimentao para mtodo. Mtodos disponveis so (da qualidade mais baixa para a melhor qualidade): zero Tenta apenas o vetor (0, 0). phods log x1 hex umh epzs (mtodo padro) full busca exaustiva (lenta, levemente melhor do que epzs) -dct_algo algoritmo Define o algoritmo DCT para o valor especificado em algoritmo. Valores disponveis so: 0

FF_DCT_AUTO (padro) 1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5 FF_DCT_ALTIVEC -idct_algo algoritmo Marca o algoritmo IDCT para o valor especificado em algoritmo. Valores disponveis so: 0 FF_IDCT_AUTO (padro) 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 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 para o valor especificado em n. 1 FF_ER_CAREFUL (padro) 2 FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE -ec mscara_em_bits Marca o quanto de erro ser 'escondido' para o valor definido em bit_mask. bit_mask uma mscara de bits com os seguintes valores: 1 FF_EC_GUESS_MVS (padro = habilitado) 2 FF_EC_DEBLOCK (padro = habilitado) -bf quadros Usa 'quadros' B-frames (suportado para MPEG-1, MPEG-2 e MPEG-4).

-mbd modo Deciso de macroblocos 0 FF_MB_DECISION_SIMPLE: Usa mb_cmp (ainda no consegue mudar no FFMPEG). 1 FF_MB_DECISION_BITS: Escolhe qual precisa de menos bits. 2 FF_MB_DECISION_RD: Distoro de razo. -4mv Usa quatro vetores de movimentos por macrobloco (apenas MPEG-4). -part Usa particionamento de informaes (apenas MPEG-4). -bug parmetro Trabalha erros de codificao que no so auto-detectados. -strict rigidez Quo estritamente o programa seguir os padres. -aic Habilita codificao 'intra' avanada (h263+). -umv Habilita vetor de movimentao ilimitado (h263+). -deinterlace Desentrelaa as imagens. -ilme Fora o suporte a entrelaamento no codificador (MPEG-2 e MPEG-4 somente). Use esta opo se seu arquivo de entrada for entrelaado e voc quer mant-lo entrelaado para que haja perdas mnimas. A alternativa seria desentrlaar a faixa de entrada com '-deinterlace', mas o desentrelaamento introduz perdas. -psnr Calcula o valor PSNR ("Peak signal-to-noise ratio", razo mxima entre sinal-e-rudo) de quadros comprimidos. -vstats Escreve as estatsticas da codificao do vdeo no arquivo 'vstats_HHMMSS.log'. -vstats_file arquivo Escreve as estatsticas da codificao do vdeo em arquivo. -vhook mdulo Insere o mdulo de processamento do vdeo. O mdulo contm o nome do mdulo e seus parmetros, separados por espaos. -top n Campo topo=1/base=0/auto=-1 primeiro. -dc preciso Preciso intra_dc_precision. -vtag fourcc/tag Fora o tag/fourcc no vdeo.

-qphist Mostra o histograma QP. -vbsf filtro_de_faixa_de_bit Filtros de faixas de bits disponveis so "dump_extra", "remove_extra", "noise", "h264_mp4toannexb", "imxdump", "mjpegadump".
ffmpegih264.mp4vcodeccopyvbsfh264_mp4toannexbansada.h264

3.5 Opes de udio

-aframes nmero Define o nmero de quadros de udio a serem gravados. -ar freqncia Define a freqncia da amostragem de udio (padro = 44100 Hz). -ab taxa_de_bits Define a taxa de bits de udio em bit/s (padro = 64k). -ac canais Define o nmero de canais de udio (padro = 1). -an Desabilita a gravao de udio. -acodec codec Fora o codec de udio para codec. Use o parmetro especial copy para especificar que a informao bruta do codec deve ser copiada como est. -newaudio Adiciona uma nova trilha de udio no arquivo de sada. Se voc quiser especificar os parmetros, informe-os antes do -newaudio (-acodec, -ab, etc..). O mapeamento ser feito automaticamente, caso o nmero de faixas de sada for igual ao nmero de faixas de entrada. De outro modo, o programa pegar a primeira que estiver de acordo. Voc pode sobrescrever o mapeamento usando a opo -map. Exemplo:
ffmpegiarquivo.mpgvcodeccopyacodecac3ab384kteste.mpg acodecmp2ab192knewaudio

-alang cdigo Define o cdigo de lngua ISO 639 (3 letras) da faixa de udio atual.

3.6 Opes avanadas de udio: -atag fourcc/tag Fora o tag/fourcc no udio. -absf filtro_de_faixa_de_bit Filtros de faixas de bits disponveis so "dump_extra", "remove_extra", "noise", "mp3comp", "mp3decomp".

3.7 Opes de legendas:

-scodec codec Fora o codec de legenda (use o parmetro 'copy' para copiar a faixa). -newsubtitle Adiciona uma nova faixa de legendas para a faixa de sada atual. -slang cdigo Define o cdigo de lngua ISO 639 (3 letras) da faixa de legenda atual. -sbsf filtro_de_faixa_de_bit Filtros de faixas de bits disponveis so "mov2textsub", "text2movsub".
ffmpegiarquivo.movanvnsbsfmov2textsubscodeccopy frawvideolegenda.txt

3.8 Opes de captura para udio e vdeo

-vc canal Define o canal de captura de udio (DV1394 apenas). -tvstd padro Escolhe o padro de televiso (NTSC, PAL (SECAM)). -isync Sincroniza a leitura na entrada.

3.9 Opes avanadas

-map id_da_faixa_de_entrada [:id_da_faixa_de_sincronia] Define o mapeamento de faixas das faixas de entrada para as de sada. Apenas enumere as faixas de entrada na ordem que voc as quer como sada. [id da faixa de entrada] define a faixa (de entrada) a ser sincronizada. -map_meta_data arquivo_de_sada:arquivo_de_entrada Define a meta informao do arquivo_de_sada a partir do arquivo_de_entrada. -debug Imprime informao especfica de de depurao. -benchmark Adiciona tempos para o teste de performance ("benchmarking"). -dump Esvazia ("dump") cada pacote de entrada. -hex Quando esvaziando ("dumping") os pacotes, tambm esvazia o payload.

-bitexact Usar apenas algoritmos de bit exato (para teste de codec). -ps tamanho Define o tamanho do pacote em bits. -re L o arquivo de entrada com a razo de quadros nativa. Usado principalmente para simular um dispositivo de captura. -loop_input Faz um 'loop' da faixa de entrada. Atualmente, funciona apenas para faixas de imagens. Esta opo usada para teste automtico do servidor FFserver. -loop_output nmero_de_vezes Faz um 'loop' repetido do arquivo de sada para formatos que suportam 'loops', como o GIF animado (0 far um 'loop' infinito do arquivo de sada). -threads contagem Contagem de threads. -vsync parmetro Mtodo de sincronia do vdeo. O vdeo ser esticado/diminudo para ficar de acordo com os cdigos de marcao de tempo. Isto feito duplicando ou descartando quadros. Com -map, voc pode selecionar a partir de qual faixa as marcaes de tempo sero consideradas. Voc pode deixar tanto o vdeo quanto o udio sem modificaes e sincronizar a(s) faixa(s) restante(s). -async amostras_por_segundo Mtodo de sincronia do udio. "Estica/diminui" a faixa de udio para ficar de acordo com os cdigos de marcao de tempo. O parmetro o mximo de amostras por segundo pela qual o udio transformado. -async 1 um caso especial onde apenas o incio do udio corrigido sem qualquer correo posterior. -copyts Copia as marcaes de tempo da entrada para a sada. -shortest Termina a codificao quando a faixa de entrada menor acabar. -dts_delta_threshold Delta de entrada de descontinuidade da marcao de tempo. -muxdelay segundos Define o atraso mximo de decodificao-demux. -muxpreload segundos Define o atraso inicial da decodificao-demux.

3.10 Avaliador de frmula do FFMPEG Quando calcula uma cadeia de controle de taxa, o FFMPEG usa um avaliador interno de frmulas. As seguintes operaes binrias esto disponveis: +, -, *, /, ^. As seguintes operaes unrias esto disponveis: +, -, (...). As seguintes funes esto disponveis: 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 esto disponveis: PI E iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex

3.11 Protocolos O nome do arquivo pode ser '-' para ser lido na entrada padro ou para ser escrito para sada padro. O FFMPEG tambm comporta vrios 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 FFserver (veja a documentao do FFserver). Quando o FFMPEG for um reprodutor de vdeo, ele tambm ser usado para fazer transmisso ("streaming") :-)

4. Dicas

Para transmitir ("streaming") em programas com taxas de bits muito baixas, use uma taxa de quadros baixa e um tamanho pequeno para o Grupo de Imagens (GOP). Isso especialmente verdade para o RealVideo, com o qual o tocador de Linux parece no ser muito rpido, ento pode haver perda de quadros. Um exemplo :

ffmpegg3r3t10b50ksqciffrv10/tmp/b.rm

O parmetro 'q' que exibido enquanto acontece a codificao o quantizador atual. O valor 1 indica que uma qualidade muito boa pode ser alcanada. O valor 31 indica a pior qualidade. Se q=31 aparecer com muita freqncia, isso significa que o codificador no consegue comprimir o suficiente para chegar taxa de bits que voc fixou. Voc deve ou aumentar a taxa de bits, baixar a taxa de quadros ou diminuir o tamanho do quadro. Se seu computador no rpido o suficiente, voc pode acelerar a compresso perdendo um pouco da proporo de compresso. Voc pode usar '-me zero' para acelerar a estimativa de movimentao, e '-intra' para desabilitar completamente a estimativa de movimento (voc ter apenas quadros-I, o que significa que uma compresso to boa quanto uma compresso JPEG). Para ter taxas de bits muito baixas, reduza a freqncia de amostragem (para at 22050 kHz para udio em MPEG, 22050 ou 11025 para udio em AC3). Para obter uma qualidade constante (mas no uma taxa de bits varivel), use a opo '-qscale n', na qual o valor 'n' deve estar entre 1 (qualidade excelente) e 31 (pior qualidade). Ao converter arquivos de vdeo, voc pode usar a funo '-sameq', que usa o mesmo fator de qualidade tanto no codificador quanto no decodificador. Esta opo permite uma codificao quase sem perdas.