Il s'agit d'un encodeur pointilleux, vous devez donc choisir les paramètres appropriés, notamment:
- fréquence d'images
- format de pixel / espace colorimétrique
- largeur x hauteur / résolution / taille du cadre
- débit binaire
Voir les paramètres DNxHD valides ci-dessous pour les valeurs acceptées.
Exemple DNxHD
Cet exemple sera mis à l'échelle à 1280x720, choisissez une fréquence d'images de 30000/1001 (alias "29,97") et un format de pixel de YUV 4: 2: 2 planaire.
ffmpeg -i input -c:v dnxhd -vf "scale=1280:720,fps=30000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le output.mov
Si votre fichier d'entrée est déjà conforme à certains des paramètres acceptés, vous n'avez pas à les déclarer manuellement.
Le conteneur de format de sortie pour DNxHD est généralement MXF ou MOV.
Exemple DNxHR
DNxHR est destiné aux résolutions supérieures à 1080p telles que 2K, 4K et 8K.
Si vous souhaitez DNxHR, ajoutez l' -profile:v
option de sortie, telle que -profile:v dnxhr_hq
.
Les valeurs acceptées sont: dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB:
dnxhr_lb
- Faible bande passante. 8 bits 4: 2: 2 ( yuv422p
). Qualité hors ligne.
- DNxHR SQ:
dnxhr_sq
- Qualité standard. 8 bits 4: 2: 2 ( yuv422p
). Convient au format de livraison.
- DNxHR HQ:
dnxhr_hq
- Haute qualité. 8 bits 4: 2: 2 ( yuv422p
).
- DNxHR HQX:
dnxhr_hqx
- Haute qualité. 10 bits 4: 2: 2 ( yuv422p10le
). Livraison de qualité de diffusion UHD / 4K.
- DNxHR 444:
dnxhr_444
- Qualité de finition. 10 bits 4: 4: 4 ( yuv444p10le
). Livraison de qualité cinéma.
La liste ci-dessus a été adaptée du codec DNxHR .
Paramètres DNxHD valides
ffmpeg
échouera si vous fournissez des valeurs incorrectes, mais il peut fournir une liste de ce qui est accepté.
Vous pouvez afficher la liste avec la commande "factice" suivante:
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Remarques importantes sur la fréquence d'images
La fréquence d'images est manquante dans la liste générée à partir de cette commande. ffmpeg
acceptera aveuglément toute fréquence d'images pour cet encodeur, et le logiciel Avid l'accepterait (non confirmé), mais le débit binaire DNxHD est censé correspondre uniquement à des fréquences d'images spécifiques. Pour une compatibilité maximale, je recommande d'utiliser uniquement la bonne combinaison débit binaire / fréquence d'images. Utilisez donc la commande ci-dessus pour obtenir les débits binaires et les formats de pixels appropriés acceptés par la ffmpeg
référence croisée avec la liste des résolutions Avid DNxHD ou le livre blanc DNxHD (page 9) pour les fréquences d'images appropriées.
Les fréquences d'images répertoriées dans les liens ci-dessus utilisent des approximations arrondies inexactes. Les valeurs appropriées sont répertoriées ci-dessous; le nom abrégé est à gauche et la valeur appropriée est à droite.
- 29,97 = 30000/1001 (ou utilisez l'alias
ntsc
)
- 59,94 = 60000/1001
- 23,967 = 24000/1001 (ou utilisez l'alias
ntsc-film
)
Plus d'options
Pour des options supplémentaires spécifiques à l'encodeur et une liste des formats de pixels pris en charge, reportez-vous à:
ffmpeg -h encoder=dnxhd
les erreurs
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!
Cela signifie que votre fréquence d'images, largeur, hauteur, format de pixels et / ou débit binaire sont incorrects. Reportez-vous aux paramètres DNxHD valides ci-dessus pour les valeurs acceptées.
pixel format is incompatible with DNxHD profile
Choisissez un format de pixel approprié à l'aide du filtre de format . Voir l'exemple DNxHD ci-dessus.
ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov