Questo è un codificatore esigente, quindi devi scegliere i parametri corretti tra cui:
- frequenza dei fotogrammi
- formato pixel / spazio colore
- larghezza x altezza / risoluzione / dimensioni del telaio
- bitrate
Vedere i parametri validi DNxHD di seguito per i valori accettati.
Esempio DNxHD
Questo esempio verrà ridimensionato a 1280x720, scegli una frequenza dei fotogrammi di 30000/1001 (aka "29.97") e un formato pixel di YUV 4: 2: 2 planare.
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 il file di input è già conforme ad alcuni dei parametri accettati, non è necessario dichiararli manualmente.
Il contenitore del formato di output per DNxHD è in genere MXF o MOV.
Esempio DNxHR
DNxHR è per risoluzioni superiori a 1080p come 2K, 4K e 8K.
Se si desidera DNxHR, aggiungere l' -profile:v
opzione di output, ad esempio -profile:v dnxhr_hq
.
I valori accettati sono: dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB:
dnxhr_lb
- Larghezza di banda bassa. 8-bit 4: 2: 2 ( yuv422p
). Qualità offline.
- DNxHR SQ:
dnxhr_sq
- Qualità standard. 8-bit 4: 2: 2 ( yuv422p
). Adatto per il formato di consegna.
- DNxHR HQ:
dnxhr_hq
- Alta qualità. 8-bit 4: 2: 2 ( yuv422p
).
- DNxHR HQX:
dnxhr_hqx
- Alta qualità. 10-bit 4: 2: 2 ( yuv422p10le
). Consegna di qualità broadcast UHD / 4K.
- DNxHR 444:
dnxhr_444
- Qualità di finitura. 10-bit 4: 4: 4 ( yuv444p10le
). Consegna di qualità cinematografica.
L'elenco sopra è stato adattato dal codec DNxHR .
Parametri DNxHD validi
ffmpeg
fallirà se si forniscono valori errati, ma può fornire un elenco di ciò che è accettato.
È possibile mostrare l'elenco con il seguente comando "fittizio":
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Note importanti sulla frequenza dei fotogrammi
Manca la frequenza dei fotogrammi dall'elenco generato da questo comando. ffmpeg
accetterà ciecamente qualsiasi frame rate per questo codificatore e, secondo quanto riferito, il software Avid lo accetterà (non confermato), ma il bitrate DNxHD dovrebbe corrispondere solo a frame rate specifici. Per la massima compatibilità, ho raccomandato di utilizzare solo la combinazione bitrate / frame rate corretta. Quindi utilizzare il comando sopra per ottenere i bitrate e i formati pixel corretti accettati ffmpeg
e fare un riferimento incrociato con l' elenco delle risoluzioni Avid DNxHD o il white paper DNxHD (pagina 9) per le frequenze fotogrammi appropriate.
I frame rate elencati nei collegamenti sopra utilizzano approssimazioni arrotondate inaccurate. I valori corretti sono elencati di seguito; il nome abbreviato è a sinistra e il valore corretto è a destra.
- 29.97 = 30000/1001 (o usa l'alias
ntsc
)
- 59.94 = 60000/1001
- 23.967 = 24000/1001 (o utilizzare l'alias
ntsc-film
)
Più opzioni
Per ulteriori opzioni specifiche dell'encoder e un elenco di formati di pixel supportati, fare riferimento a:
ffmpeg -h encoder=dnxhd
Errori
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!
Ciò significa che la frequenza dei fotogrammi, la larghezza, l'altezza, il formato dei pixel e / o il bitrate non sono corretti. Fare riferimento ai parametri DNxHD validi sopra per i valori accettati.
pixel format is incompatible with DNxHD profile
Scegli un formato pixel appropriato utilizzando il filtro formato . Vedi l'esempio DNxHD sopra.
ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov