Este é um codificador exigente, portanto você deve 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
Consulte os parâmetros DNxHD válidos abaixo para obter 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 do plano YUV 4: 2: 2.
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 em conformidade com alguns dos parâmetros aceitos, não será necessário declará-los manualmente.
O contêiner de formato de saída para DNxHD geralmente é MXF ou MOV.
Exemplo de DNxHR
DNxHR é para resoluções maiores que 1080p, como 2K, 4K e 8K.
Se você deseja DNxHR, adicione a -profile:v
opção de saída, como -profile:v dnxhr_hq
.
Os valores aceitos são: dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB:
dnxhr_lb
- Baixa largura de banda. 8 bits 4: 2: 2 ( yuv422p
). Qualidade offline.
- DNxHR SQ:
dnxhr_sq
- Qualidade padrão. 8 bits 4: 2: 2 ( yuv422p
). Apropriado para o formato de entrega.
- DNxHR HQ:
dnxhr_hq
- Alta qualidade. 8 bits 4: 2: 2 ( yuv422p
).
- DNxHR HQX:
dnxhr_hqx
- Alta qualidade. 10 bits 4: 2: 2 ( yuv422p10le
). Entrega com qualidade de transmissão UHD / 4K.
- DNxHR 444:
dnxhr_444
- Qualidade de acabamento. 10 bits 4: 4: 4 ( yuv444p10le
). 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 "fictício":
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Notas importantes sobre a taxa de quadros
A taxa de quadros está ausente na lista gerada a partir deste comando. ffmpeg
aceitará cegamente qualquer taxa de quadros para este codificador, e o software Avid o aceitará (não confirmado), mas a taxa de bits DNxHD deve corresponder apenas a taxas de quadros específicas. Para obter compatibilidade máxima, recomendei apenas o uso da combinação adequada de taxa de bits / taxa de quadros. Portanto, use o comando acima para obter as taxas de bits e formatos de pixel adequados aceitos ffmpeg
e faça referência cruzada com a Lista de resoluções Avid DNxHD ou o White Paper DNxHD (página 9) para obter as taxas de quadros apropriadas.
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 apropriado 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
)
Mais opções
Para opções adicionais específicas do codificador e uma lista de formatos de pixel suportados, 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 os parâmetros DNxHD válidos acima para obter os valores aceitos.
pixel format is incompatible with DNxHD profile
Escolha um formato de pixel adequado usando o filtro de formato . Veja o exemplo DNxHD acima.
ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov