Este é um codificador exigente, então você tem que escolher os parâmetros adequados, incluindo:
- taxa de quadros
- formato de pixel / espaço de cores
- largura x altura / resolução / tamanho do quadro
- taxa de bits
Veja os parâmetros DNxHD válidos abaixo para os valores aceitos.
Exemplo de DNxHD
Este exemplo será dimensionado para 1280x720, escolha uma taxa de quadros de 30000/1001 (também conhecida como "29.97") e um formato de pixel de YUV 4: 2: 2 planar.
ffmpeg -i input -c:v dnxhd -vf "scale=1280:720,fps=30000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le output.mov
-
Se o seu arquivo de entrada já estiver de acordo com alguns dos parâmetros aceitos, você não precisará declará-los manualmente.
-
O contêiner de formato de saída para DNxHD é normalmente MXF ou MOV.
Exemplo DNxHR
O DNxHR é para resoluções maiores que 1080p, como 2K, 4K e 8K.
Se você quiser DNxHR, adicione a opção de saída do perfil, como -profile dnxhr_hq
.
Os valores aceitos são: dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB - Baixa qualidade de banda (8 bits 4: 2: 2) Qualidade off-line
- DNxHR SQ - Qualidade Padrão (8 bits 4: 2: 2) (adequado para o formato de entrega)
- DNxHR HQ - alta qualidade (8 bits 4: 2: 2)
- DNxHR HQX - Alta qualidade (12 bits 4: 2: 2) (entrega com qualidade de difusão UHD / 4K)
- DNxHR 444 - Qualidade de acabamento (12 bits 4: 4: 4) (entrega com qualidade de cinema)
A lista acima foi adaptada do codec DNxHR .
Parâmetros DNxHD válidos
ffmpeg
falhará se você fornecer valores incorretos, mas pode fornecer uma lista do que é aceito.
Você pode mostrar a lista com o seguinte comando "dummy":
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Notas importantes sobre a taxa de quadros
-
A taxa de quadros está faltando na lista gerada por esse comando.
ffmpeg
aceitará cegamente qualquer taxa de quadros para este codificador, e o software da Avid irá aceitá-lo (não confirmado), mas a taxa de bits DNxHD deve corresponder apenas a taxas de quadros específicas. Para compatibilidade máxima, recomenda-se usar apenas a combinação de taxa de bits / taxa de quadros adequada. Portanto, use o comando acima para obter as taxas de bits e formatos de pixel apropriados aceitos porffmpeg
e referência cruzada com a Lista de resoluções Avid DNxHD ou o Documento técnico do DNxHD (página 9) para obter as taxas de quadros corretas. -
As taxas de quadros listadas nos links acima estão usando aproximações arredondadas imprecisas. Os valores adequados estão listados abaixo; o nome abreviado está à esquerda e o valor correto está à direita.
- 29,97 = 30000/1001 (ou use o alias
ntsc
) - 59,94 = 60000/1001
- 23.967 = 24000/1001 (ou use o alias
ntsc-film
)
- 29,97 = 30000/1001 (ou use o alias
Mais opções
Para opções adicionais específicas do codificador, consulte:
ffmpeg -h encoder=dnxhd
Erros
ff_frame_thread_encoder_init failed
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
Isso significa que sua taxa de quadros, largura, altura, formato de pixel e / ou taxa de bits estão incorretos. Consulte Parâmetros DNxHD válidos acima para valores aceitos.
pixel format is incompatible with DNxHD profile
Escolha um formato de pixel adequado usando o filtro formato . Veja o exemplo DNxHD acima.