⚠️ Este é um site de tradução não oficial, sem relação com o projeto FFmpeg. Para informações oficiais, consulte a página original (https://ffmpeg.org/ffmpeg-resampler.html).

Documentação do reamostrador do FFmpeg

1 Descrição

O reamostrador do FFmpeg oferece uma interface de alto nível para os utilitários de reamostragem de áudio da biblioteca libswresample. Em particular, permite realizar a reamostragem de áudio, a remixagem (rematrix) do layout de canais de áudio e a conversão do formato e do layout de empacotamento do áudio.

2 Opções do reamostrador

O reamostrador de áudio admite as seguintes opções nomeadas.

As opções podem ser definidas indicando -option value nas ferramentas do FFmpeg, option=value no filtro aresample, definindo o valor diretamente nas opções do SwrContext ou usando a API de libavutil/opt.h para uso programático.

uchl, used_chlayout

Define o layout de canais de entrada utilizado. Por padrão, não está definido. Esta opção é usada apenas para remapeamentos especiais.

isr, in_sample_rate

Define a taxa de amostragem de entrada. O valor padrão é 0.

osr, out_sample_rate

Define a taxa de amostragem de saída. O valor padrão é 0.

isf, in_sample_fmt

Especifica o sample format de entrada. Por padrão, é definido como none.

osf, out_sample_fmt

Especifica o sample format de saída. Por padrão, é definido como none.

tsf, internal_sample_fmt

Define o sample format interno. O valor padrão é none. Caso não seja definido explicitamente, ele é escolhido automaticamente.

ichl, in_chlayout ochl, out_chlayout

Define o layout de canais de entrada/saída.

Consulte (ffmpeg-utils) a seção Channel Layout do manual do ffmpeg-utils(1) para conhecer a sintaxe necessária.

clev, center_mix_level

Define o nível de mixagem central. É um valor expresso em decibéis e deve estar no intervalo [-32,32].

slev, surround_mix_level

Define o nível de mixagem surround. É um valor expresso em decibéis e deve estar no intervalo [-32,32].

lfe_mix_level

Define o nível de mixagem do canal LFE nos canais que não são LFE. É usado quando há uma entrada LFE, mas não há saída LFE. É um valor expresso em decibéis e deve estar no intervalo [-32,32].

rmvol, rematrix_volume

Define o volume da remixagem (rematrix). O valor padrão é 1.0.

rematrix_maxval

Define o valor de saída máximo para a remixagem. Pode ser usado para decidir entre evitar o clipping ou evitar a redução de volume. Um valor de 1.0 evita o recorte.

flags, swr_flags

Define as flags usadas pelo conversor. O valor padrão é 0.

Admite as seguintes flags individuais:

res

força a reamostragem; esta flag força o uso da reamostragem mesmo quando as taxas de amostragem de entrada e saída coincidem.

dither_scale

Define a escala do dither. O valor padrão é 1.

dither_method

Define o método de dither. O valor padrão é 0.

Valores aceitos:

‘rectangular’

seleciona o dither retangular.

‘triangular’

seleciona o dither triangular.

‘triangular_hp’

seleciona o dither triangular com passa-alta.

‘lipshitz’

seleciona o dither com modelagem de ruído Lipshitz.

‘shibata’

seleciona o dither com modelagem de ruído Shibata.

‘low_shibata’

seleciona o dither com modelagem de ruído low Shibata.

‘high_shibata’

seleciona o dither com modelagem de ruído high Shibata.

‘f_weighted’

seleciona o dither com modelagem de ruído f-weighted.

‘modified_e_weighted’

seleciona o dither com modelagem de ruído modified-e-weighted.

‘improved_e_weighted’

seleciona o dither com modelagem de ruído improved-e-weighted.

resampler

Define o motor de reamostragem. O valor padrão é swr.

Valores aceitos:

‘swr’

seleciona o SW Resampler nativo; nesse caso, as opções de filtro precision e cheby não se aplicam.

‘soxr’

seleciona o SoX Resampler (quando disponível); nesse caso, não se aplicam a compensação nem as opções de filtro filter_size, phase_shift, exact_rational, filter_type e kaiser_beta.

filter_size

Somente para swr, define o tamanho do filtro de reamostragem. O valor padrão é 32.

phase_shift

Somente para swr, define o deslocamento de fase da reamostragem. O valor padrão é 10 e deve estar no intervalo [0,30].

linear_interp

Utiliza interpolação linear quando habilitado (o padrão). Desative essa opção se preferir priorizar a velocidade em vez da qualidade quando exact_rational falhar.

exact_rational

Somente para swr, quando habilitado, tenta usar um phase_count exato baseado nas taxas de amostragem de entrada e saída. No entanto, se esse valor for maior que 1 << phase_shift, o phase_count será 1 << phase_shift como alternativa. Está habilitado por padrão.

cutoff

Define a proporção da frequência de corte (swr: ponto de 6dB; soxr: ponto de 0dB); deve ser um valor de ponto flutuante entre 0 e 1. O valor padrão é 0.97 no swr e 0.91 no soxr (que, com uma taxa de amostragem de 44100, preserva toda a banda de áudio até 20kHz).

precision

Somente para soxr, a precisão em bits com que o sinal reamostrado será calculado. O valor padrão de 20 (que, com um dithering adequado, é apropriado para uma profundidade de bits de destino de 16) corresponde a ’High Quality’ da SoX; um valor de 28 corresponde a ’Very High Quality’ da SoX.

cheby

Somente para soxr, seleciona nenhum rolloff de banda de passagem (Chebyshev) e uma aproximação de maior precisão para razões ’irrational’. O valor padrão é 0.

async

Somente para swr, sincronização de áudio com marcas de tempo usando um único parâmetro simples, por meio de esticamento, compressão, preenchimento e corte. Definir esse valor como 1 habilita o preenchimento e o corte; valores maiores representam a quantidade máxima, em amostras, que os dados podem ser esticados ou comprimidos a cada segundo. O valor padrão é 0, portanto nenhuma compensação é aplicada para fazer as amostras corresponderem às marcas de tempo de áudio.

first_pts

Somente para swr, presume que o primeiro pts deve ter este valor. A unidade de tempo é 1 / taxa de amostragem. Isso permite preenchimento/corte no início do fluxo. Por padrão, nenhuma suposição é feita sobre o pts esperado do primeiro quadro, portanto nenhum preenchimento ou corte é feito. Por exemplo, isso pode ser definido como 0 para preencher o início com silêncio se um fluxo de áudio começar depois do fluxo de vídeo, ou para cortar quaisquer amostras com pts negativo devido ao atraso do encoder.

min_comp

Somente para swr, define a diferença mínima entre as marcas de tempo e os dados de áudio (em segundos) que aciona o esticamento, a compressão, o preenchimento ou o corte dos dados para que correspondam às marcas de tempo. Por padrão, o esticamento, a compressão, o preenchimento e o corte estão desabilitados (min_comp = FLT_MAX).

min_hard_comp

Somente para swr, define a diferença mínima entre as marcas de tempo e os dados de áudio (em segundos) que aciona a adição ou remoção de amostras para que correspondam às marcas de tempo. Na prática, esta opção é um limiar para escolher entre a compensação rígida (corte/preenchimento) e a suave (compressão/esticamento). Observe que toda a compensação está desabilitada por padrão por meio de min_comp. O valor padrão é 0.1.

comp_duration

Somente para swr, define a duração (em segundos) durante a qual os dados são esticados/comprimidos para corresponder às marcas de tempo. Deve ser um valor de ponto flutuante de precisão dupla não negativo; o valor padrão é 1.0.

max_soft_comp

Somente para swr, define o fator máximo pelo qual os dados são esticados/comprimidos para corresponder às marcas de tempo. Deve ser um valor de ponto flutuante de precisão dupla não negativo; o valor padrão é 0.

matrix_encoding

Seleciona a codificação estéreo matricial.

Aceita os seguintes valores:

‘none’

seleciona nenhuma.

‘dolby’

seleciona Dolby.

‘dplii’

seleciona Dolby Pro Logic II.

O valor padrão é none.

filter_type

Somente para swr, seleciona o tipo de filtro de reamostragem. Isso afeta apenas as operações de reamostragem.

Aceita os seguintes valores:

‘cubic’

seleciona cúbico.

‘blackman_nuttall’

seleciona sinc com janela Blackman Nuttall.

‘kaiser’

seleciona sinc com janela Kaiser.

kaiser_beta

Somente para swr, define o valor beta da janela Kaiser. Deve ser um valor de ponto flutuante de precisão dupla no intervalo [2,16]; o valor padrão é 9.

output_sample_bits

Somente para swr, define o número de bits de amostra de saída usados para dithering. Deve ser um número inteiro no intervalo [0,64]; o valor padrão é 0, o que significa que não é usado.

3 Veja também

ffmpeg, ffplay, ffprobe, libswresample

4 Autores

Os desenvolvedores do FFmpeg.

Para mais detalhes sobre a autoria, consulte o histórico do Git do projeto (https://git.ffmpeg.org/ffmpeg), por exemplo, digitando o comando git log no diretório de fontes do FFmpeg, ou navegando pelo repositório on-line em https://git.ffmpeg.org/ffmpeg.

Os responsáveis por cada componente específico estão listados no arquivo MAINTAINERS na árvore de código-fonte.

Hospedagem fornecida por telepoint.bg