Documentation des codecs FFmpeg
1 Description
Ce document décrit les codecs (decoders et encoders) fournis par la bibliothèque libavcodec.
2 Options de codec
libavcodec fournit certaines options globales génériques, qui peuvent être définies sur tous les encoders et decoders. De plus, chaque codec peut prendre en charge des options dites privées, propres à un codec donné.
Il arrive qu'une option globale n'affecte qu'un type de codec particulier et qu'elle soit dénuée de sens ou ignorée par un autre ; il est donc nécessaire de bien comprendre la signification des options spécifiées. Certaines options sont en outre réservées au décodage ou à l'encodage.
Les options peuvent être définies en indiquant -option value dans les outils FFmpeg, en définissant explicitement la valeur dans les options d'AVCodecContext, ou via l'API libavutil/opt.h pour une utilisation programmatique.
La liste des options prises en charge est la suivante :
b integer (encoding,audio,video)
Définit le débit binaire en bits/s. La valeur par défaut est 200K.
ab integer (encoding,audio)
Définit le débit binaire audio (en bits/s). La valeur par défaut est 128K.
bt integer (encoding,video)
Définit la tolérance de débit binaire vidéo (en bits/s). En mode à une passe, la tolérance de débit binaire indique de combien le ratecontrol peut s'écarter du débit binaire moyen cible. Cela n'a aucun rapport avec le débit binaire min/max. Réduire excessivement la tolérance nuit à la qualité.
flags flags (decoding/encoding,audio,video,subtitles)
Définit des indicateurs génériques.
Valeurs possibles :
‘mv4’
Utilise quatre vecteurs de mouvement par macrobloc (mpeg4).
‘qpel’
Utilise la compensation de mouvement au quart de pel.
‘loop’
Utilise le filtre de boucle.
‘qscale’
Utilise un qscale fixe.
‘pass1’
Utilise le ratecontrol interne à 2 passes en mode première passe.
‘pass2’
Utilise le ratecontrol interne à 2 passes en mode seconde passe.
‘gray’
Décode/encode uniquement en niveaux de gris.
‘psnr’
Définit les variables error[?] pendant l'encodage.
‘truncated’
Le bitstream d'entrée peut être tronqué de façon aléatoire.
‘drop_changed’
Ne produit pas les images dont les paramètres diffèrent de la première image décodée du flux. L'erreur AVERROR_INPUT_CHANGED est renvoyée lorsqu'une image est rejetée.
‘ildct’
Utilise la DCT entrelacée.
‘low_delay’
Force une faible latence.
‘global_header’
Place les en-têtes globaux dans extradata plutôt que dans chaque keyframe.
‘bitexact’
N'écrit que des données indépendantes de la plateforme, de la build et du temps (sauf la (I)DCT). Cela garantit que les sommes de contrôle des fichiers et des données sont reproductibles et identiques d'une plateforme à l'autre. Son principal usage est le test de non-régression.
‘aic’
Applique le codage intra avancé H263 / la prédiction ac mpeg4.
‘ilme’
Applique l'estimation de mouvement entrelacée.
‘cgop’
Utilise un gop fermé.
‘output_corrupt’
Fournit en sortie même les images potentiellement corrompues.
time_base rational number
Définit la base de temps du codec.
C'est l'unité de temps fondamentale (en secondes) dans laquelle sont exprimés les horodatages des images. Pour un contenu à fréquence d'images fixe, le timebase doit être 1 / frame_rate et les incréments d'horodatage doivent être systématiquement de 1.
g integer (encoding,video)
Définit la taille du group of picture (GOP). La valeur par défaut est 12.
ar integer (decoding/encoding,audio)
Définit la fréquence d'échantillonnage audio (en Hz).
ac integer (decoding/encoding,audio)
Définit le nombre de canaux audio.
cutoff integer (encoding,audio)
Définit la bande passante de coupure. (Prise en charge uniquement par certains encoders ; voir leurs sections de documentation respectives.)
frame_size integer (encoding,audio)
Définit la taille de l'image audio.
Chaque image soumise, sauf la dernière, doit contenir exactement frame_size échantillons par canal. Peut valoir 0 lorsque le codec a CODEC_CAP_VARIABLE_FRAME_SIZE défini ; dans ce cas, la taille d'image n'est pas restreinte. Certains decoders la définissent pour indiquer une taille d'image constante.
frame_number integer
Définit le numéro d'image.
delay integer qcomp float (encoding,video)
Définit la compression de l'échelle de quantification vidéo (VBR). Elle est utilisée comme constante dans l'équation du ratecontrol. Plage recommandée pour le rc_eq par défaut : 0.0-1.0.
qblur float (encoding,video)
Définit le flou de l'échelle de quantification vidéo (VBR).
qmin integer (encoding,video)
Définit l'échelle de quantification vidéo minimale (VBR). Doit être comprise entre -1 et 69 ; la valeur par défaut est 2.
qmax integer (encoding,video)
Définit l'échelle de quantification vidéo maximale (VBR). Doit être comprise entre -1 et 1024 ; la valeur par défaut est 31.
qdiff integer (encoding,video)
Définit la différence maximale entre les échelles de quantification (VBR).
bf integer (encoding,video)
Définit le nombre maximal d'images B entre deux images non-B.
Doit être un entier compris entre -1 et 16. 0 signifie que les images B sont désactivées. Avec la valeur -1, une valeur automatique est choisie selon l'encoder.
La valeur par défaut est 0.
b_qfactor float (encoding,video)
Définit le facteur qp entre les images P et B.
codec_tag integer bug flags (decoding,video)
Contourne des bugs de l'encoder non détectés automatiquement.
Valeurs possibles :
‘autodetect’ ‘xvid_ilace’
Bug d'entrelacement Xvid (détecté automatiquement si fourcc==XVIX)
‘ump4’
(détecté automatiquement si fourcc==UMP4)
‘no_padding’
bug de remplissage (détecté automatiquement)
‘amv’ ‘qpel_chroma’ ‘std_qpel’
ancien qpel standard (détecté automatiquement selon fourcc/version)
‘qpel_chroma2’ ‘direct_blocksize’
bug direct-qpel-blocksize (détecté automatiquement selon fourcc/version)
‘edge’
bug de remplissage des bords (détecté automatiquement selon fourcc/version)
‘hpel_chroma’ ‘dc_clip’ ‘ms’
Contourne divers bugs des decoders défaillants de microsoft.
‘trunc’
images tronquées
strict integer (decoding/encoding,audio,video)
Indique avec quelle rigueur suivre les normes.
Valeurs possibles :
‘very’
se conforme strictement à une version plus ancienne et plus stricte de la spec ou du logiciel de référence
‘strict’
se conforme strictement à tout ce que prévoit la spec, quelles qu'en soient les conséquences
‘normal’ ‘unofficial’
autorise les extensions non officielles
‘experimental’
autorise les éléments expérimentaux non normalisés ainsi que les decoders et encoders expérimentaux (inachevés/en cours de développement/peu testés). Remarque : les decoders expérimentaux peuvent présenter un risque de sécurité ; ne les utilisez pas pour décoder des entrées non fiables.
b_qoffset float (encoding,video)
Définit le décalage QP entre les images P et B.
err_detect flags (decoding,audio,video)
Définit les indicateurs de détection d'erreur.
Valeurs possibles :
‘crccheck’
vérifie les CRC intégrés
‘bitstream’
détecte les écarts par rapport à la spécification du bitstream
‘buffer’
détecte une longueur de bitstream incorrecte
‘explode’
interrompt le décodage dès la détection d'une erreur mineure
‘ignore_err’
ignore les erreurs de décodage et poursuit le décodage. Utile pour analyser le contenu d'une vidéo lorsqu'on veut que tout soit décodé quoi qu'il arrive. Cette option ne produit pas une vidéo agréable à regarder en cas d'erreurs.
‘careful’
considère comme des erreurs les éléments qui violent la spec et n'ont jamais été observés en pratique
‘compliant’
considère comme des erreurs toute non-conformité à la spec
‘aggressive’
considère comme une erreur ce qu'un encoder raisonnable ne devrait pas faire
has_b_frames integer block_align integer rc_override_count integer maxrate integer (encoding,audio,video)
Définit la tolérance de débit binaire maximale (en bits/s). Nécessite que bufsize soit défini.
minrate integer (encoding,audio,video)
Définit la tolérance de débit binaire minimale (en bits/s). Surtout utile pour configurer un encodage CBR. Elle est de peu d'utilité dans les autres cas.
bufsize integer (encoding,audio,video)
Définit la taille du tampon de ratecontrol (en bits).
i_qfactor float (encoding,video)
Définit le facteur QP entre les images P et I.
i_qoffset float (encoding,video)
Définit le décalage QP entre les images P et I.
dct integer (encoding,video)
Définit l'algorithme DCT.
Valeurs possibles :
‘auto’
sélectionne automatiquement un bon algorithme (par défaut)
‘fastint’
entier rapide
‘int’
entier précis
‘mmx’ ‘altivec’ ‘faan’
DCT AAN en virgule flottante
lumi_mask float (encoding,video)
Compresse les zones claires plus fortement que les zones moyennes.
tcplx_mask float (encoding,video)
Définit le masquage de complexité temporelle.
scplx_mask float (encoding,video)
Définit le masquage de complexité spatiale.
p_mask float (encoding,video)
Définit le masquage inter.
dark_mask float (encoding,video)
Compresse les zones sombres plus fortement que les zones moyennes.
idct integer (decoding/encoding,video)
Sélectionne l'implémentation de l'IDCT.
Valeurs possibles :
‘auto’ ‘int’ ‘simple’ ‘simplemmx’ ‘simpleauto’
Choisit automatiquement une IDCT compatible avec la simple
‘arm’ ‘altivec’ ‘sh4’ ‘simplearm’ ‘simplearmv5te’ ‘simplearmv6’ ‘simpleneon’ ‘xvid’ ‘faani’
IDCT AAN en virgule flottante
slice_count integer ec flags (decoding,video)
Définit la stratégie de dissimulation d'erreur.
Valeurs possibles :
‘guess_mvs’
recherche itérative de vecteur de mouvement (MV) (lent)
‘deblock’
utilise un filtre de déblocage puissant pour les MB endommagés
‘favor_inter’
privilégie la prédiction à partir de l'image précédente plutôt que de l'image courante
bits_per_coded_sample integer aspect rational number (encoding,video)
Définit le rapport d'aspect des échantillons.
sar rational number (encoding,video)
Définit le rapport d'aspect des échantillons. Alias de aspect.
debug flags (decoding/encoding,audio,video,subtitles)
Affiche des informations de débogage spécifiques.
Valeurs possibles :
‘pict’
informations sur l'image
‘rc’
contrôle de débit
‘bitstream’ ‘mb_type’
type de macrobloc (MB)
‘qp’
paramètre de quantification par bloc (QP)
‘dct_coeff’ ‘green_metadata’
affiche les métadonnées de complexité de l'image à venir, du GoP, ou pour une durée donnée.
‘skip’ ‘startcode’ ‘er’
reconnaissance d'erreur
‘mmco’
opérations de contrôle de gestion de la mémoire (H.264)
‘bugs’ ‘buffers’
allocations de tampon d'image
‘thread_ops’
opérations de threading
‘nomc’
saute la compensation de mouvement
cmp integer (encoding,video)
Définit la fonction de comparaison de l'estimation de mouvement en pel entier.
Valeurs possibles :
‘sad’
somme des différences absolues, rapide (par défaut)
‘sse’
somme des erreurs au carré
‘satd’
somme des différences absolues transformées par Hadamard
‘dct’
somme des différences absolues transformées par DCT
‘psnr’
somme des erreurs de quantification au carré (à éviter, faible qualité)
‘bit’
nombre de bits nécessaires pour le bloc
‘rd’
optimal en distorsion-débit, lent
‘zero’
0
‘vsad’
somme des différences verticales absolues
‘vsse’
somme des différences verticales au carré
‘nsse’
somme des différences au carré préservant le bruit
‘w53’
ondelette 5/3, utilisée uniquement dans snow
‘w97’
ondelette 9/7, utilisée uniquement dans snow
‘dctmax’ ‘chroma’ subcmp integer (encoding,video)
Définit la fonction de comparaison de l'estimation de mouvement en sous-pel.
Valeurs possibles :
‘sad’
somme des différences absolues, rapide (par défaut)
‘sse’
somme des erreurs au carré
‘satd’
somme des différences absolues transformées par Hadamard
‘dct’
somme des différences absolues transformées par DCT
‘psnr’
somme des erreurs de quantification au carré (à éviter, faible qualité)
‘bit’
nombre de bits nécessaires pour le bloc
‘rd’
optimal en distorsion-débit, lent
‘zero’
0
‘vsad’
somme des différences verticales absolues
‘vsse’
somme des différences verticales au carré
‘nsse’
somme des différences au carré préservant le bruit
‘w53’
ondelette 5/3, utilisée uniquement dans snow
‘w97’
ondelette 9/7, utilisée uniquement dans snow
‘dctmax’ ‘chroma’ mbcmp integer (encoding,video)
Définit la fonction de comparaison de macrobloc.
Valeurs possibles :
‘sad’
somme des différences absolues, rapide (par défaut)
‘sse’
somme des erreurs au carré
‘satd’
somme des différences absolues transformées par Hadamard
‘dct’
somme des différences absolues transformées par DCT
‘psnr’
somme des erreurs de quantification au carré (à éviter, faible qualité)
‘bit’
nombre de bits nécessaires pour le bloc
‘rd’
optimal en distorsion-débit, lent
‘zero’
0
‘vsad’
somme des différences verticales absolues
‘vsse’
somme des différences verticales au carré
‘nsse’
somme des différences au carré préservant le bruit
‘w53’
ondelette 5/3, utilisée uniquement dans snow
‘w97’
ondelette 9/7, utilisée uniquement dans snow
‘dctmax’ ‘chroma’ ildctcmp integer (encoding,video)
Définit la fonction de comparaison DCT entrelacée.
Valeurs possibles :
‘sad’
somme des différences absolues, rapide (par défaut)
‘sse’
somme des erreurs au carré
‘satd’
somme des différences absolues transformées par Hadamard
‘dct’
somme des différences absolues transformées par DCT
‘psnr’
somme des erreurs de quantification au carré (à éviter, faible qualité)
‘bit’
nombre de bits nécessaires pour le bloc
‘rd’
optimal en distorsion-débit, lent
‘zero’
0
‘vsad’
somme des différences verticales absolues
‘vsse’
somme des différences verticales au carré
‘nsse’
somme des différences au carré préservant le bruit
‘w53’
ondelette 5/3, utilisée uniquement dans snow
‘w97’
ondelette 9/7, utilisée uniquement dans snow
‘dctmax’ ‘chroma’ dia_size integer (encoding,video)
Définit le type et la taille du diamant pour l'estimation de mouvement.
‘(1024, INT_MAX)’
estimation de mouvement complète (la plus lente)
‘(768, 1024]’
estimation de mouvement umh
‘(512, 768]’
estimation de mouvement hex
‘(256, 512]’
estimation de mouvement en diamant l2s
‘[2,256]’
estimation de mouvement en diamant var
‘(-1, 2)’
estimation de mouvement en petit diamant
‘-1’
estimation de mouvement en diamant funny
‘(INT_MIN, -1)’
estimation de mouvement en diamant sab
last_pred integer (encoding,video)
Définit le nombre de prédicteurs de mouvement issus de l'image précédente.
precmp integer (encoding,video)
Définit la fonction de comparaison de la pré-passe d'estimation de mouvement.
Valeurs possibles :
‘sad’
somme des différences absolues, rapide (par défaut)
‘sse’
somme des erreurs au carré
‘satd’
somme des différences absolues transformées par Hadamard
‘dct’
somme des différences absolues transformées par DCT
‘psnr’
somme des erreurs de quantification au carré (à éviter, faible qualité)
‘bit’
nombre de bits nécessaires pour le bloc
‘rd’
optimal en distorsion-débit, lent
‘zero’
0
‘vsad’
somme des différences verticales absolues
‘vsse’
somme des différences verticales au carré
‘nsse’
somme des différences au carré préservant le bruit
‘w53’
ondelette 5/3, utilisée uniquement dans snow
‘w97’
ondelette 9/7, utilisée uniquement dans snow
‘dctmax’ ‘chroma’ pre_dia_size integer (encoding,video)
Définit le type et la taille du diamant pour la pré-passe d'estimation de mouvement.
subq integer (encoding,video)
Définit la qualité de l'estimation de mouvement en sous-pel.
me_range integer (encoding,video)
Définit la limite de la plage des vecteurs de mouvement (1023 pour le lecteur DivX).
global_quality integer (encoding,audio,video) slice_flags integer mbd integer (encoding,video)
Définit l'algorithme de décision de macrobloc (mode haute qualité).
Valeurs possibles :
‘simple’
utilise mbcmp (par défaut)
‘bits’
utilise le moins de bits possible
‘rd’
utilise la meilleure distorsion-débit
rc_init_occupancy integer (encoding,video)
Définit le nombre de bits à charger dans le tampon rc avant le début du décodage.
flags2 flags (decoding/encoding,audio,video,subtitles)
Valeurs possibles :
‘fast’
Autorise des astuces d'accélération non conformes à la spec.
‘noout’
Ignore l'encodage du bitstream.
‘ignorecrop’
Ignore les informations de recadrage du sps.
‘local_header’
Place les en-têtes globaux à chaque keyframe plutôt que dans extradata.
‘chunks’
Les données d'image peuvent être réparties en plusieurs chunks.
‘showall’
Affiche toutes les images avant la première keyframe.
‘export_mvs’
Exporte les vecteurs de mouvement dans les side-data de l'image (voir AV_FRAME_DATA_MOTION_VECTORS) pour les codecs qui le prennent en charge. Voir aussi doc/examples/export_mvs.c.
‘skip_manual’
Ne saute pas les échantillons et exporte les informations de saut sous forme de side data de l'image.
‘ass_ro_flush_noop’
Ne réinitialise pas le champ ReadOrder ASS lors d'un flush.
‘icc_profiles’
Génère/analyse les profils ICC intégrés à partir des/vers les tags de colorimétrie.
‘fixed_frame_size’
Force les encoders audio à utiliser une taille d'image fixe.
export_side_data flags (decoding/encoding,audio,video,subtitles)
Valeurs possibles :
‘mvs’
Exporte les vecteurs de mouvement dans les side-data de l'image (voir AV_FRAME_DATA_MOTION_VECTORS) pour les codecs qui le prennent en charge. Voir aussi doc/examples/export_mvs.c.
‘prft’
Exporte le Producer Reference Time de l'encoder dans les side-data du paquet (voir AV_PKT_DATA_PRFT) pour les codecs qui le prennent en charge.
‘venc_params’
Exporte les paramètres d'encodage vidéo via les side data de l'image (voir AV_FRAME_DATA_VIDEO_ENC_PARAMS) pour les codecs qui le prennent en charge. À l'heure actuelle, il s'agit de H.264 et VP9.
‘film_grain’
Exporte les paramètres de grain de film via les side data de l'image (voir AV_FRAME_DATA_FILM_GRAIN_PARAMS). Pris en charge à l'heure actuelle par les decoders AV1.
‘enhancements’
Exporte les métadonnées d'amélioration d'image via les side data de l'image, par exemple LCEVC (voir AV_FRAME_DATA_LCEVC).
threads integer (decoding/encoding,video)
Définit le nombre de threads à utiliser, si l'implémentation du codec sélectionné prend en charge le multithreading.
Valeurs possibles :
‘auto, 0’
sélectionne automatiquement le nombre de threads à définir
La valeur par défaut est ‘auto’.
dc integer (encoding,video)
Définit intra_dc_precision.
nssew integer (encoding,video)
Définit le poids nsse.
skip_top integer (decoding,video)
Définit le nombre de rangées de macroblocs ignorées en haut.
skip_bottom integer (decoding,video)
Définit le nombre de rangées de macroblocs ignorées en bas.
profile integer (encoding,audio,video)
Définit le profil de codec de l'encoder. La valeur par défaut est ‘unknown’. Les profils propres à chaque encoder sont documentés dans la documentation de l'encoder correspondant.
level integer (encoding,audio,video)
Définit le niveau de l'encoder. Ce niveau dépend du codec concerné et peut correspondre au niveau du profil. Il est défini par défaut sur ‘unknown’.
Valeurs possibles :
‘unknown’ lowres integer (decoding,audio,video)
Décode aux résolutions 1=1/2, 2=1/4, 3=1/8.
mblmin integer (encoding,video)
Définit le facteur lagrangien minimal de macrobloc (VBR).
mblmax integer (encoding,video)
Définit le facteur lagrangien maximal de macrobloc (VBR).
skip_loop_filter integer (decoding,video) skip_idct integer (decoding,video) skip_frame integer (decoding,video)
Fait en sorte que le decoder abandonne le traitement selon le type d'image sélectionné par la valeur de l'option.
skip_loop_filter ignore le filtrage de boucle de l'image, skip_idct ignore l'IDCT/la déquantification de l'image, skip_frame ignore le décodage.
Valeurs possibles :
‘none’
Ne rejette aucune image.
‘default’
Rejette les images inutiles telles que les images de taille nulle.
‘noref’
Rejette toutes les images non référencées.
‘bidir’
Rejette toutes les images bidirectionnelles.
‘nokey’
Rejette toutes les images à l'exception des keyframes.
‘nointra’
Rejette toutes les images à l'exception des images I.
‘all’
Rejette toutes les images.
La valeur par défaut est ‘default’.
bidir_refine integer (encoding,video)
Affine les deux vecteurs de mouvement utilisés dans les macroblocs bidirectionnels.
keyint_min integer (encoding,video)
Définit l'intervalle minimal entre les images IDR.
refs integer (encoding,video)
Définit les images de référence à prendre en compte pour la compensation de mouvement.
trellis integer (encoding,audio,video)
Définit la quantification optimale au sens débit-distorsion.
mv0_threshold integer (encoding,video) compression_level integer (encoding,audio,video) bits_per_raw_sample integer channel_layout integer (decoding/encoding,audio)
Voir (ffmpeg-utils)la section Channel Layout du manuel ffmpeg-utils(1) pour la syntaxe requise.
rc_max_vbv_use float (encoding,video) rc_min_vbv_use float (encoding,video) color_primaries integer (decoding/encoding,video)
Valeurs possibles :
‘bt709’
BT.709
‘bt470m’
BT.470 M
‘bt470bg’
BT.470 BG
‘smpte170m’
SMPTE 170 M
‘smpte240m’
SMPTE 240 M
‘film’
Film
‘bt2020’
BT.2020
‘smpte428’ ‘smpte428_1’
SMPTE ST 428-1
‘smpte431’
SMPTE 431-2
‘smpte432’
SMPTE 432-1
‘jedec-p22’
JEDEC P22
color_trc integer (decoding/encoding,video)
Valeurs possibles :
‘bt709’
BT.709
‘gamma22’
BT.470 M
‘gamma28’
BT.470 BG
‘smpte170m’
SMPTE 170 M
‘smpte240m’
SMPTE 240 M
‘linear’
Linear
‘log’ ‘log100’
Log
‘log_sqrt’ ‘log316’
Log square root
‘iec61966_2_4’ ‘iec61966-2-4’
IEC 61966-2-4
‘bt1361’ ‘bt1361e’
BT.1361
‘iec61966_2_1’ ‘iec61966-2-1’
IEC 61966-2-1
‘bt2020_10’ ‘bt2020_10bit’
BT.2020 - 10 bit
‘bt2020_12’ ‘bt2020_12bit’
BT.2020 - 12 bit
‘smpte2084’
SMPTE ST 2084
‘smpte428’ ‘smpte428_1’
SMPTE ST 428-1
‘arib-std-b67’
ARIB STD-B67
colorspace integer (decoding/encoding,video)
Valeurs possibles :
‘rgb’
RGB
‘bt709’
BT.709
‘fcc’
FCC
‘bt470bg’
BT.470 BG
‘smpte170m’
SMPTE 170 M
‘smpte240m’
SMPTE 240 M
‘ycocg’
YCOCG
‘bt2020nc’ ‘bt2020_ncl’
BT.2020 NCL
‘bt2020c’ ‘bt2020_cl’
BT.2020 CL
‘smpte2085’
SMPTE 2085
‘chroma-derived-nc’
Chroma-derived NCL
‘chroma-derived-c’
Chroma-derived CL
‘ictcp’
ICtCp
color_range integer (decoding/encoding,video)
Utilisé comme paramètre d'entrée, il sert d'indication au decoder quant au color_range de l'entrée. Valeurs possibles :
‘tv’ ‘mpeg’ ‘limited’
MPEG (219*2^(n-8))
‘pc’ ‘jpeg’ ‘full’
JPEG (2^n-1)
chroma_sample_location integer (decoding/encoding,video)
Valeurs possibles :
‘left’ ‘center’ ‘topleft’ ‘top’ ‘bottomleft’ ‘bottom’ alpha_mode integer (decoding/encoding,video)
Valeurs possibles :
‘premultiplied’ ‘straight’ log_level_offset integer
Définit le décalage du niveau de journalisation.
slices integer (encoding,video)
Nombre de slices, utilisé pour l'encodage parallélisé.
thread_type flags (decoding/encoding,video)
Sélectionne les méthodes de multithreading à utiliser.
L'utilisation de ‘frame’ augmente le délai de décodage d'une image par thread ; les clients incapables de fournir les images futures ne doivent donc pas l'utiliser.
Valeurs possibles :
‘slice’
Décode simultanément plusieurs parties d'une même image.
Le multithreading par slices ne fonctionne que si la vidéo a été encodée avec des slices.
‘frame’
Décode plusieurs images à la fois.
La valeur par défaut est ‘slice+frame’.
audio_service_type integer (encoding,audio)
Définit le type de service audio.
Valeurs possibles :
‘ma’
Main Audio Service
‘ef’
Effects
‘vi’
Visually Impaired
‘hi’
Hearing Impaired
‘di’
Dialogue
‘co’
Commentary
‘em’
Emergency
‘vo’
Voice Over
‘ka’
Karaoke
request_sample_fmt sample_fmt (decoding,audio)
Définit le sample format que les decoders audio doivent privilégier. La valeur par défaut est none.
pkt_timebase rational number sub_charenc encoding (decoding,subtitles)
Définit l'encodage de caractères des sous-titres d'entrée.
field_order field_order (video)
Définit ou remplace l'ordre des champs de la vidéo. Valeurs possibles :
‘progressive’
Vidéo progressive
‘tt’
Vidéo entrelacée, champ du haut codé et affiché en premier
‘bb’
Vidéo entrelacée, champ du bas codé et affiché en premier
‘tb’
Vidéo entrelacée, champ du haut codé en premier, champ du bas affiché en premier
‘bt’
Vidéo entrelacée, champ du bas codé en premier, champ du haut affiché en premier
skip_alpha bool (decoding,video)
Une valeur de 1 désactive le traitement de l'alpha (transparence). Cela fonctionne comme l'indicateur ‘gray’ de l'option flags, qui ignore les informations de chrominance au lieu de l'alpha. La valeur par défaut est 0.
codec_whitelist list (input)
Liste des decoders autorisés, séparés par ",". Par défaut, tous sont autorisés.
dump_separator string (input)
Séparateur utilisé pour séparer les champs affichés sur la ligne de commande à propos des paramètres du flux. Par exemple, pour séparer les champs par des retours à la ligne et une indentation :
ffprobe -dump_separator "
" -i ~/videos/matrixbench_mpeg2.mpg
max_pixels integer (decoding/encoding,video)
Nombre maximal de pixels par image. Cette valeur permet d'éviter les erreurs de mémoire insuffisante dues à des images de grande taille.
apply_cropping bool (decoding,video)
Active le rognage si les paramètres de rognage sont des multiples de l'alignement requis pour les paramètres left et top. Si l'alignement n'est pas respecté, le rognage n'est appliqué que partiellement afin de préserver l'alignement. La valeur par défaut est 1 (activé). Remarque : l'alignement requis dépend du fait que AV_CODEC_FLAG_UNALIGNED soit défini ou non, ainsi que du CPU. AV_CODEC_FLAG_UNALIGNED ne peut pas être modifié depuis la ligne de commande. De plus, les decoders matériels n'appliquent pas le rognage left/top.
3 Decoders
Les decoders sont des éléments configurés au sein de FFmpeg qui permettent le décodage de flux multimédias.
Lorsque vous configurez votre build FFmpeg, tous les decoders natifs pris en charge sont activés par défaut. Les decoders nécessitant une bibliothèque externe doivent être activés manuellement via l'option --enable-lib correspondante. Vous pouvez lister tous les decoders disponibles à l'aide de l'option de configure --list-decoders.
Vous pouvez désactiver tous les decoders à l'aide de l'option de configure --disable-decoders, et activer/désactiver sélectivement un decoder à l'aide des options --enable-decoder=DECODER / --disable-decoder=DECODER.
L'option -decoders des outils ff* affiche la liste des decoders activés.
4 Decoders vidéo
Voici une description de certains des decoders vidéo disponibles à l'heure actuelle.
4.1 av1
Decoder AOMedia Video 1 (AV1).
4.1.1 Options
operating_point
Sélectionne un operating point d'un bitstream AV1 scalable (0 - 31). La valeur par défaut est 0.
4.2 hevc
Decoder HEVC (alias ITU-T H.265 ou ISO/IEC 23008-2).
Le decoder prend en charge les flux multivues MV-HEVC avec au plus deux vues. Les vues à produire en sortie sont sélectionnées en fournissant au decoder une liste d'ID de vues (option view_ids). Cette option peut être définie soit de façon statique avant l'initialisation du decoder, soit depuis le rappel get_format() – utile lorsque le nombre ou les ID de vues changent dynamiquement pendant le décodage.
Seule la couche de base est décodée par défaut.
Notez que si vous utilisez l'outil CLI ffmpeg, vous devriez utiliser les spécificateurs de vue documentés dans son manuel, plutôt que les options documentées ici.
4.2.1 Options
view_ids (MV-HEVC)
Indique une liste d'ID de vues à produire en sortie. Cette option peut aussi être définie à un simple ’-1’, ce qui entraîne le décodage et la sortie de toutes les vues définies dans le VPS.
view_ids_available (MV-HEVC)
Cette option peut être lue par l'appelant pour récupérer un tableau des ID de vues disponibles dans le VPS actif. Le tableau est vide pour une vidéo à couche unique.
La valeur de cette option est garantie exacte lorsqu'elle est lue depuis le rappel get_format(). Elle peut aussi être définie à d'autres moments (par exemple après l'ouverture du decoder), mais la valeur n'est alors qu'indicative et peut être incorrecte (par exemple lorsque le flux contient plusieurs NALU VPS distincts).
view_pos_available (MV-HEVC)
Cette option peut être lue par l'appelant pour récupérer un tableau des positions de vue (gauche, droite, ou non spécifié) disponibles dans le VPS actif, sous forme de valeurs AVStereo3DView. Lorsque le tableau est disponible, ses éléments s'appliquent aux éléments correspondants de view_ids_available, c'est-à-dire que view_pos_available[i] contient la position de la vue dont l'ID est view_ids_available[i].
Les mêmes restrictions de validité que pour view_ids_available s'appliquent à cette option.
4.3 rawvideo
Decoder vidéo brute.
Ce decoder décode les flux rawvideo.
4.3.1 Options
top top_field_first
Indique le type de champ supposé de la vidéo d'entrée.
-1
la vidéo est supposée progressive (par défaut)
0
bottom-field-first est supposé
1
top-field-first est supposé
4.4 libdav1d
Decoder AV1 dav1d.
libdav1d permet à libavcodec de décoder le codec AOMedia Video 1 (AV1). Nécessite la présence des en-têtes et de la bibliothèque libdav1d lors de la configuration. Vous devez configurer explicitement le build avec --enable-libdav1d.
4.4.1 Options
Le wrapper libdav1d prend en charge les options suivantes.
max_frame_delay
Définit le nombre maximal d'images que le decoder peut mettre en tampon en interne. La valeur par défaut est 0 (détection automatique).
filmgrain
Applique le grain de film à la vidéo décodée s'il est présent dans le bitstream. Sa valeur par défaut est celle définie en interne par la bibliothèque. Cette option est obsolète et sera supprimée à l'avenir. Voir l'option globale export_side_data pour exporter les paramètres de grain de film au lieu de les appliquer.
oppoint
Sélectionne un operating point d'un bitstream AV1 scalable (0 - 31). Sa valeur par défaut est celle définie en interne par la bibliothèque.
alllayers
Produit en sortie toutes les couches spatiales d'un bitstream AV1 scalable. La valeur par défaut est false.
4.5 libdavs2
Wrapper de decoder vidéo AVS2-P2/IEEE1857.4.
Ce decoder permet à libavcodec de décoder des flux AVS2 à l'aide de la bibliothèque davs2.
4.6 libuavs3d
Decoder vidéo AVS3-P2/IEEE1857.10.
libuavs3d permet à libavcodec de décoder des flux AVS3. Nécessite la présence des en-têtes et de la bibliothèque libuavs3d lors de la configuration. Vous devez configurer explicitement le build avec --enable-libuavs3d.
4.6.1 Options
Le wrapper libuavs3d prend en charge l'option suivante.
frame_threads
Définit le nombre de threads par image à utiliser lors du décodage. La valeur par défaut est 0 (détection automatique).
4.7 libxevd
Wrapper de decoder MPEG-5 EVC eXtra-fast Essential Video Decoder (XEVD).
Ce decoder nécessite la présence des en-têtes et de la bibliothèque libxevd lors de la configuration. Vous devez configurer explicitement le build avec --enable-libxevd.
Le site du projet xevd se trouve à l'adresse https://github.com/mpeg5/xevd.
4.7.1 Options
Le wrapper libxevd prend en charge les options suivantes. Les options ou valeurs équivalentes de xevd sont indiquées entre parenthèses pour faciliter la migration.
Pour obtenir une documentation plus précise et plus complète des options de libxevd, exécutez la commande xevd_app --help ou consultez la documentation de libxevd.
threads (threads)
Force l'utilisation d'un nombre spécifique de threads
4.8 Decoders QSV
La famille des decoders Intel QuickSync Video (VC1, MPEG-2, H.264, HEVC, JPEG/MJPEG, VP8, VP9, AV1, VVC).
4.8.1 Options communes
Les options suivantes sont prises en charge par tous les decoders qsv.
async_depth
Profondeur de parallélisation interne ; plus la valeur est élevée, plus la latence est élevée.
gpu_copy
Une copie accélérée par GPU entre la mémoire vidéo et la mémoire système
‘default’ ‘on’ ‘off’
4.8.2 Options HEVC
Options supplémentaires pour hevc_qsv.
load_plugin
Un plugin utilisateur à charger dans une session interne
‘none’ ‘hevc_sw’ ‘hevc_hw’ load_plugins
Liste d'UID hexadécimaux de plugins, séparés par ':', à charger dans une session interne
4.9 v210
Decoder 4:2:2 10 bits non compressé.
4.9.1 Options
custom_stride
Définit la taille de ligne des données v210 en octets. La valeur par défaut est 0 (détection automatique). Vous pouvez utiliser la valeur spéciale -1 pour un v210 sans stride, comme on le trouve dans les fichiers BOXX.
5 Decoders audio
Voici une description de certains des decoders audio disponibles à l'heure actuelle.
5.1 ac3
Decoder audio AC-3.
Ce decoder met en œuvre une partie des spécifications ATSC A/52:2010 et ETSI TS 102 366, ainsi que le format non documenté RealAudio 3 (alias dnet).
5.1.1 Options du decoder AC-3
-drc_scale value
Facteur d'échelle de plage dynamique. Facteur à appliquer aux valeurs de plage dynamique du flux AC-3. Ce facteur est appliqué de façon exponentielle. La valeur par défaut est 1. Il existe 3 plages de facteur d'échelle notables :
drc_scale == 0
DRC désactivé. Produit un son en pleine plage dynamique.
0 < drc_scale <= 1
DRC activé. Applique une fraction de la valeur DRC du flux. La reproduction audio se situe entre la pleine plage dynamique et la compression totale.
drc_scale > 1
DRC activé. Applique drc_scale de façon asymétrique. Les sons forts sont entièrement compressés. Les sons faibles sont renforcés.
5.2 flac
Decoder audio FLAC.
Ce decoder vise à mettre en œuvre l'intégralité de la spécification FLAC de Xiph.
5.2.1 Options du decoder FLAC
-use_buggy_lpc
L'encoder FLAC de lavc produisait autrefois des flux erronés avec des valeurs lpc élevées (comme la valeur par défaut). Cette option permet de décoder correctement ces flux en utilisant, pour le décodage, l'ancienne logique lpc défectueuse de lavc.
5.3 ffwavesynth
Synthétiseur d'ondes interne.
Ce decoder génère des motifs d'ondes selon des séquences prédéfinies. Son usage est purement interne et le format des données qu'il accepte n'est pas documenté publiquement.
5.4 libgsm
Wrapper de decoder libgsm.
libgsm permet à libavcodec de décoder le codec audio GSM full rate. Nécessite la présence des en-têtes et de la bibliothèque libgsm lors de la configuration. Vous devez configurer explicitement le build avec --enable-libgsm.
Ce decoder prend en charge à la fois le GSM standard et la variante Microsoft.
5.5 libilbc
Wrapper de decoder libilbc.
libilbc permet à libavcodec de décoder le codec audio Internet Low Bitrate Codec (iLBC). Nécessite la présence des en-têtes et de la bibliothèque libilbc lors de la configuration. Vous devez configurer explicitement le build avec --enable-libilbc.
5.5.1 Options
Le wrapper libilbc prend en charge l'option suivante.
enhance
Active l'amélioration de l'audio décodé lorsque la valeur est fixée à 1. La valeur par défaut est 0 (désactivé).
5.6 libmpeghdec
Wrapper de decoder libmpeghdec.
libmpeghdec permet à libmpeghdec de décoder le codec audio MPEG-H 3D. Nécessite la présence des en-têtes et de la bibliothèque libmpeghdec lors de la configuration. Vous devez configurer explicitement le build avec --enable-libmpeghdec --enable-nonfree.
5.7 libopencore-amrnb
Wrapper de decoder libopencore-amrnb.
libopencore-amrnb permet à libavcodec de décoder le codec audio Adaptive Multi-Rate Narrowband. Son utilisation nécessite la présence des en-têtes et de la bibliothèque libopencore-amrnb lors de la configuration. Vous devez configurer explicitement le build avec --enable-libopencore-amrnb.
Il existe un decoder natif FFmpeg pour l'AMR-NB, de sorte que les utilisateurs peuvent décoder l'AMR-NB sans cette bibliothèque.
5.8 libopencore-amrwb
Wrapper de decoder libopencore-amrwb.
libopencore-amrwb permet à libavcodec de décoder le codec audio Adaptive Multi-Rate Wideband. Son utilisation nécessite la présence des en-têtes et de la bibliothèque libopencore-amrwb lors de la configuration. Vous devez configurer explicitement le build avec --enable-libopencore-amrwb.
Il existe un decoder natif FFmpeg pour l'AMR-WB, de sorte que les utilisateurs peuvent décoder l'AMR-WB sans cette bibliothèque.
5.9 libopus
Wrapper de decoder libopus.
libopus permet à libavcodec de décoder le codec Opus Interactive Audio Codec. Nécessite la présence des en-têtes et de la bibliothèque libopus lors de la configuration. Vous devez configurer explicitement le build avec --enable-libopus.
Il existe un decoder natif FFmpeg pour Opus, de sorte que les utilisateurs peuvent décoder Opus sans cette bibliothèque.
6 Decoders de sous-titres
6.1 libaribb24
Decoder de sous-titres ARIB STD-B24.
Met en œuvre les profils A et C de la norme ARIB STD-B24.
6.1.1 Options du decoder libaribb24
-aribb24-base-path path
Définit le chemin de base de la bibliothèque libaribb24. Celui-ci est utilisé pour la lecture des fichiers de configuration (pour les conversions Unicode personnalisées), ainsi que pour l'export des symboles non textuels sous forme d'images à cet emplacement.
Non défini par défaut.
-aribb24-skip-ruby-text boolean
Indique au wrapper de decoder d'ignorer les blocs de texte contenant du texte ruby en demi-hauteur.
Activé par défaut.
6.2 libaribcaption
Un autre decoder de sous-titres ARIB STD-B24, utilisant la bibliothèque externe libaribcaption.
Met en œuvre les profils A et C de la norme japonaise ARIB STD-B24, de la norme brésilienne ABNT NBR 15606-1, et de la version philippine de l'ISDB-T.
Nécessite la présence des en-têtes et de la bibliothèque libaribcaption (https://github.com/xqq/libaribcaption) lors de la configuration. Vous devez configurer explicitement le build avec --enable-libaribcaption. Si à la fois libaribb24 et libaribcaption sont activés, le decoder libaribcaption est prioritaire.
6.2.1 Options du decoder libaribcaption
-sub_type subtitle_type
Spécifie le format des sous-titres décodés.
‘bitmap’
Image graphique.
‘ass’
Texte au format ASS.
‘text’
Sortie texte simple, sans mise en forme.
La valeur par défaut est ass, comme pour le decoder libaribb24. Certains lecteurs actuels (par exemple mpv) attendent le format ASS pour les sous-titres ARIB.
-caption_encoding encoding_scheme
Spécifie le schéma d'encodage du texte de sous-titre en entrée.
‘auto’
Détecte automatiquement l'encodage du texte (par défaut).
‘jis’
Encodage JIS 8 bits par caractère défini dans ARIB STD B24. Cet encodage est utilisé au Japon pour les sous-titres ISDB.
‘utf8’
Encodage UTF-8 défini dans ARIB STD B24. Cet encodage est utilisé aux Philippines pour les sous-titres ISDB-T.
‘latin’
Encodage de caractères latins défini dans ABNT NBR 15606-1. Cet encodage est utilisé en Amérique du Sud pour les sous-titres SBTVD / ISDB-Tb.
-font font_name[,font_name2,...]
Spécifie une liste de noms de familles de polices séparés par des virgules, à utiliser pour le rendu des sous-titres de type bitmap ou ass. Seul le premier nom de police est utilisé pour les sous-titres de type ass.
Si aucune n'est spécifiée, la famille de polices par défaut définie en interne est utilisée.
-ass_single_rect boolean
ARIB STD-B24 spécifie que certains sous-titres peuvent s'afficher simultanément à des positions différentes (sous-titre multi-rectangle). Comme certains lecteurs (par exemple les anciennes versions de mpv) ne peuvent pas gérer plusieurs rectangles ASS dans un seul AVSubtitle, ni plusieurs rectangles ASS de durée indéterminée partageant le même horodatage de début, cette option permet de modifier le comportement afin que tous les textes s'affichent dans un seul rectangle ASS.
La valeur par défaut est false.
Si votre lecteur ne gère pas correctement les AVSubtitle comportant plusieurs rectangles ASS, définissez cette option sur true, ou définissez ASS_SINGLE_RECT=1 pour changer le comportement par défaut à la compilation.
-force_outline_text boolean
Spécifie s'il faut toujours effectuer le rendu du texte en contour pour tous les caractères, indépendamment de l'indication donnée par le style de caractère.
La valeur par défaut est false.
-outline_width number (0.0 - 3.0)
Spécifie la largeur du texte en contour, en points (valeur relative).
La valeur par défaut est 1.5.
-ignore_background boolean
Spécifie s'il faut ignorer le rendu de la couleur d'arrière-plan.
La valeur par défaut est false.
-ignore_ruby boolean
Spécifie s'il faut ignorer le rendu des caractères de type ruby (furigana).
La valeur par défaut est false.
-replace_drcs boolean
Spécifie s'il faut effectuer le rendu des caractères DRCS remplacés sous forme de caractères Unicode.
La valeur par défaut est true.
-replace_msz_ascii boolean
Spécifie s'il faut remplacer les caractères alphanumériques pleine chasse MSZ (Middle Size ; demi-chasse) par des caractères alphanumériques demi-chasse.
La valeur par défaut est true.
-replace_msz_japanese boolean
Spécifie s'il faut remplacer certains caractères spéciaux japonais pleine chasse MSZ (Middle Size ; demi-chasse) par leurs équivalents demi-chasse.
La valeur par défaut est true.
-replace_msz_glyph boolean
Spécifie s'il faut remplacer les caractères MSZ (Middle Size ; demi-chasse) par des glyphes demi-chasse si la police le prend en charge. Cette option fonctionne avec le moteur de rendu FreeType ou DirectWrite, avec des polices conformes à Adobe-Japan1. Par exemple IBM Plex Sans JP, Morisawa BIZ UDGothic, Morisawa BIZ UDMincho, Yu Gothic, Yu Mincho et Meiryo.
La valeur par défaut est true.
-canvas_size image_size
Spécifie la résolution du canevas sur lequel effectuer le rendu des sous-titres ; il doit normalement s'agir de la taille d'image de la vidéo en entrée. Ceci ne s'applique que lorsque -subtitle_type est défini sur bitmap.
Le decoder libaribcaption suppose la taille d'image en entrée pour le rendu bitmap comme suit :
- PROFILE_A : 1440 x 1080 avec un SAR (PAR) 4:3
- PROFILE_C : 320 x 180 avec un SAR (PAR) 1:1
Si la taille d'image réelle de la vidéo en entrée ne correspond pas à cette hypothèse, les sous-titres rendus peuvent être déformés. Pour éviter que les sous-titres ne soient déformés, ajoutez l'option -canvas_size afin de spécifier la taille réelle de la vidéo en entrée.
Notez que l'option -canvas_size n'est pas nécessaire pour une vidéo de taille différente mais de même rapport d'aspect. Dans ce cas, si l'option -canvas_size n'est pas spécifiée, le sous-titre sera étiré ou réduit à la taille réelle de la vidéo. Si l'option -canvas_size est spécifiée avec une taille différente, le sous-titre sera étiré ou réduit à la taille indiquée, avec un SAR calculé en conséquence.
6.2.2 Exemples d'utilisation du decoder libaribcaption
Afficher un fichier MPEG-TS avec sous-titre ARIB à l'aide de l'outil ffplay :
ffplay -sub_type bitmap MPEG.TS
Afficher un fichier MPEG-TS avec une taille d'image en entrée de 1920x1080 à l'aide de l'outil ffplay :
ffplay -sub_type bitmap -canvas_size 1920x1080 MPEG.TS
Incruster un sous-titre ARIB dans une vidéo transcodée :
ffmpeg -sub_type bitmap -i src.m2t -filter_complex "[0:v][0:s]overlay" -vcodec h264 dest.mp4
6.3 dvbsub
6.3.1 Options
compute_clut
-2
Calcule le CLUT une seule fois si aucun CLUT correspondant n'est présent dans le flux.
-1
Calcule le CLUT si aucun CLUT correspondant n'est présent dans le flux.
0
Ne calcule jamais de CLUT
1
Calcule toujours le CLUT et remplace celui fourni dans le flux.
dvb_substream
Sélectionne le sous-flux dvb, ou tous les sous-flux si la valeur est -1, ce qui est le cas par défaut.
6.4 dvdsub
Ce codec décode les sous-titres bitmap utilisés sur les DVD ; les mêmes sous-titres se retrouvent également dans les paires de fichiers VobSub et dans certains fichiers Matroska.
6.4.1 Options
palette
Spécifie la palette globale utilisée par les bitmaps. Lorsqu'elle est stockée dans VobSub, la palette est normalement spécifiée dans le fichier d'index ; dans Matroska, la palette est stockée dans les données supplémentaires (extra-data) du codec, selon le même format que dans VobSub. Sur les DVD, la palette est stockée dans le fichier IFO, et n'est donc pas disponible lors de la lecture à partir de fichiers VOB extraits.
Le format de cette option est une chaîne contenant 16 nombres hexadécimaux de 24 bits (sans préfixe 0x) séparés par des virgules, par exemple 0d00ee, ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b.
ifo_palette
Spécifie le fichier IFO à partir duquel la palette globale est obtenue. (expérimental)
forced_subs_only
Ne décode que les entrées de sous-titre marquées comme forcées. Certains titres comportent à la fois des sous-titres forcés et non forcés sur la même piste. Définir cet indicateur sur 1 ne conserve que les sous-titres forcés. La valeur par défaut est 0.
6.5 libzvbi-teletext
Libzvbi permet à libavcodec de décoder les pages télétexte DVB et les sous-titres télétexte DVB. Nécessite la présence des en-têtes et de la bibliothèque libzvbi lors de la configuration. Vous devez configurer explicitement le build avec --enable-libzvbi.
6.5.1 Options
txt_page
Liste des numéros de page télétexte à décoder. Les pages ne correspondant pas à la liste spécifiée sont ignorées. Vous pouvez utiliser la chaîne spéciale * pour faire correspondre toutes les pages, ou subtitle pour faire correspondre toutes les pages de sous-titres. La valeur par défaut est *.
txt_default_region
Définit le jeu de caractères par défaut utilisé pour le décodage, une valeur comprise entre 0 et 87 (voir ETS 300 706, section 15, tableau 32). La valeur par défaut est -1, ce qui ne remplace pas la valeur par défaut de libzvbi. Cette option est nécessaire pour certaines transmissions héritées de niveau 1.0, incapables de signaler correctement le jeu de caractères.
txt_chop_top
Supprime la ligne télétexte du haut. La valeur par défaut est 1.
txt_format
Spécifie le format des sous-titres décodés.
bitmap
Le format par défaut ; à utiliser pour les pages télétexte, car certains graphismes et couleurs ne peuvent pas être exprimés en texte simple, ni même en ASS.
text
Sortie texte simple, sans mise en forme.
ass
Sortie ASS mise en forme ; les pages de sous-titres et les pages télétexte sont renvoyées dans des styles différents, les pages de sous-titres étant réduites au texte, mais un effort est fait pour conserver l'alignement du texte et la mise en forme.
txt_left
Décalage X des bitmaps générés, par défaut 0.
txt_top
Décalage Y des bitmaps générés, par défaut 0.
txt_chop_spaces
Supprime les espaces en début et fin, et retire les lignes vides du texte généré. Cette option est utile pour les sous-titres basés sur le télétexte, où des espaces vides peuvent être présents en début ou en fin de ligne, ou des lignes vides peuvent apparaître entre les lignes de sous-titres en raison des caractères télétexte à double taille. La valeur par défaut est 1.
txt_duration
Définit la durée d'affichage, en millisecondes, des pages télétexte ou des sous-titres décodés. La valeur par défaut est -1, ce qui signifie une durée infinie ou jusqu'à l'événement de sous-titre suivant.
txt_transparent
Force un arrière-plan transparent pour les bitmaps télétexte générés. La valeur par défaut est 0, ce qui signifie un arrière-plan opaque.
txt_opacity
Définit l'opacité (0-255) de l'arrière-plan télétexte. Si txt_transparent n'est pas défini, cela n'affecte que les caractères situés entre une boîte de début et une boîte de fin, en général les sous-titres. La valeur par défaut est 0 si txt_transparent est défini, 255 sinon.
7 Encoders
Les encoders sont des éléments configurés dans FFmpeg qui permettent l'encodage de flux multimédias.
Lorsque vous configurez votre build FFmpeg, tous les encoders natifs pris en charge sont activés par défaut. Les encoders nécessitant une bibliothèque externe doivent être activés manuellement via l'option --enable-lib correspondante. Vous pouvez lister tous les encoders disponibles avec l'option de configure --list-encoders.
Vous pouvez désactiver tous les encoders avec l'option de configuration --disable-encoders et activer / désactiver sélectivement chaque encoder avec les options --enable-encoder=ENCODER / --disable-encoder=ENCODER.
L'option -encoders des outils ff* affiche la liste des encoders activés.
8 Encoders audio
Voici une description de certains des encoders audio disponibles à l'heure actuelle.
8.1 aac
Encoder Advanced Audio Coding (AAC).
Cet encoder est l'encoder AAC par défaut, implémenté nativement dans FFmpeg.
8.1.1 Options
b
Définit le débit binaire en bits/s. Définir cette option active automatiquement le mode à débit binaire constant (CBR). Si cette option n'est pas spécifiée, elle est fixée à 128 kbps.
q
Définit la qualité pour le mode à débit binaire variable (VBR). Cette option n'est valide qu'avec l'outil en ligne de commande ffmpeg. Pour les utilisateurs de l'interface bibliothèque, utilisez global_quality.
cutoff
Définit la fréquence de coupure. Si elle n'est pas spécifiée, l'encoder pourra ajuster dynamiquement la coupure afin d'améliorer la clarté aux faibles débits binaires.
aac_coder
Définit la méthode de codage de l'encoder AAC. Valeurs possibles :
‘twoloop’
Méthode de recherche à double boucle (TLS). C'est la méthode par défaut.
Cette méthode commence par définir les quantificateurs en fonction des seuils de bande, puis tente de trouver une combinaison optimale en ajoutant ou en soustrayant une valeur donnée à tous les quantificateurs et en ajustant légèrement certains quantificateurs individuels. Elle s'ajuste automatiquement selon que aac_is, aac_ms et aac_pns sont activés.
‘anmr’
Solution à base de treillis fondée sur le rapport bruit moyen sur masque (ANMR).
Il s'agit d'un codeur expérimental qui produit, à l'heure actuelle, une qualité inférieure, est plus instable et plus lent que le codeur twoloop par défaut, mais qui présente un certain potentiel. Il ne prend en charge, pour l'instant, ni les options aac_is ni aac_pns. Non recommandé pour le moment.
‘fast’
Méthode à quantificateur constant.
Utilise une version simplifiée de l'algorithme twoloop qui n'effectue pas autant d'ajustements élaborés. Moins bon aux faibles débits binaires (moins de 64 kbps), mais meilleur et bien plus rapide aux débits binaires élevés.
aac_ms
Définit le mode de codage mid/side. La valeur par défaut "auto" utilise automatiquement le M/S pour les bandes qui en tirent avantage. Peut être forcée pour toutes les bandes avec la valeur "enable", ce qui est surtout utile pour le débogage, ou désactivée avec "disable".
aac_is
Définit l'utilisation de l'outil de codage stéréo d'intensité. Activée par défaut, elle bascule automatiquement l'IS pour les paires de bandes stéréo similaires lorsque c'est avantageux. Peut être désactivée pour le débogage en définissant la valeur sur "disable".
aac_pns
Utilise la substitution de bruit perceptuel pour remplacer les bandes de haute fréquence à faible entropie par un bruit blanc imperceptible pendant le décodage. Activée par défaut, mais peut être désactivée à des fins de débogage avec "disable".
aac_tns
Active l'utilisation d'un filtre RIF multi-prises qui s'étend sur les bandes de haute fréquence pour masquer le bruit de quantification pendant l'encodage, et qui est ensuite inversé par le decoder. En plus de réduire les artefacts désagréables dans les hautes fréquences, cela réduit également l'entropie des bandes hautes et permet d'allouer davantage de bits aux bandes moyennes-basses. Activée par défaut, mais peut être désactivée pour le débogage en définissant l'option sur "disable".
aac_ltp
Active l'utilisation de l'extension de prédiction à long terme, qui augmente l'efficacité du codage dans des situations de très faible bande passante, comme l'encodage de la voix ou du piano solo, en prolongeant les pics harmoniques constants au sein des bandes sur plusieurs images. Cette option est implicitement activée par profile:a aac_low. À utiliser avec -ar pour réduire la fréquence d'échantillonnage.
profile
Définit le profil d'encodage. Valeurs possibles :
‘aac_low’
Le profil par défaut, AAC "Low-complexity". C'est le plus compatible et il produit une qualité correcte.
‘mpeg2_aac_low’
Équivalent à -profile:a aac_low -aac_pns 0. Le PNS a été introduit avec les spécifications MPEG4.
‘aac_ltp’
Profil de prédiction à long terme, activé par et activant l'option aac_ltp. Introduit dans MPEG4.
Si cette option n'est pas spécifiée, elle est fixée à ‘aac_low’.
8.2 ac3 et ac3_fixed
Encoders audio AC-3.
Ces encoders implémentent une partie des normes ATSC A/52:2010 et ETSI TS 102 366.
L'encoder ac3 utilise des calculs en virgule flottante, tandis que l'encoder ac3_fixed n'utilise que des calculs en virgule fixe sur entiers. Cela ne signifie pas que l'un est toujours plus rapide que l'autre, seulement que l'un ou l'autre peut être mieux adapté à un système particulier. L'encoder ac3_fixed n'est le codec par défaut pour aucun des formats de sortie ; il doit donc être spécifié explicitement avec l'option -acodec ac3_fixed pour être utilisé.
8.2.1 Métadonnées AC-3
Les options de métadonnées AC-3 servent à définir des paramètres décrivant l'audio, mais qui, dans la plupart des cas, n'affectent pas l'encodage audio lui-même. Certaines options influencent ou affectent directement le décodage et la lecture du bitstream résultant, tandis que d'autres sont purement informatives. Quelques options ajoutent des bits au flux de sortie qui, autrement, auraient pu être utilisés pour les données audio, ce qui affecte donc la qualité de la sortie. Celles-ci sont signalées en conséquence par une note dans la liste d'options ci-dessous.
Ces paramètres sont décrits en détail dans plusieurs documents accessibles au public.
- A/52:2010 - Digital Audio Compression (AC-3) (E-AC-3) Standard
- A/54 - Guide to the Use of the ATSC Digital Television Standard
- Dolby Metadata Guide
- Dolby Digital Professional Encoding Guidelines
8.2.1.1 Options de contrôle des métadonnées
-per_frame_metadata boolean
Autorise les métadonnées par image. Spécifie si l'encoder doit vérifier la présence de métadonnées changeantes pour chaque image.
0
Les valeurs de métadonnées définies à l'initialisation sont utilisées pour chaque image du flux. (par défaut)
1
Les valeurs de métadonnées peuvent être modifiées avant l'encodage de chaque image.
8.2.1.2 Niveaux de downmix
-center_mixlev level
Niveau de mixage central. Le gain que le decoder doit appliquer au canal central lors du downmix vers la stéréo. Ce champ n'est écrit dans le bitstream que si un canal central est présent. La valeur est spécifiée sous forme de facteur d'échelle. Il existe 3 valeurs valides :
0.707
Applique un gain de -3 dB
0.595
Applique un gain de -4,5 dB (par défaut)
0.500
Applique un gain de -6 dB
-surround_mixlev level
Niveau de mixage surround. Le gain que le decoder doit appliquer au(x) canal(aux) surround lors du downmix vers la stéréo. Ce champ n'est écrit dans le bitstream que si un ou plusieurs canaux surround sont présents. La valeur est spécifiée sous forme de facteur d'échelle. Il existe 3 valeurs valides :
0.707
Applique un gain de -3 dB
0.500
Applique un gain de -6 dB (par défaut)
0.000
Rend muet le(s) canal(aux) surround
8.2.1.3 Informations de production audio
Les informations de production audio sont des informations facultatives décrivant l'environnement de mixage. Soit aucun, soit les deux champs sont écrits dans le bitstream.
-mixing_level number
Niveau de mixage. Spécifie le niveau de pression acoustique de crête (SPL) dans l'environnement de production lors du mastering du mixage. Les valeurs valides vont de 80 à 111, ou -1 pour inconnu ou non indiqué. La valeur par défaut est -1, mais cette valeur ne peut pas être utilisée si les informations de production audio sont écrites dans le bitstream. Par conséquent, si l'option room_type n'a pas la valeur par défaut, l'option mixing_level ne doit pas être -1.
-room_type type
Type de salle. Décrit l'égalisation utilisée pendant la session de mixage finale, en studio ou sur le plateau de doublage. Une grande salle est un plateau de doublage utilisant l'égalisation X-curve standard de l'industrie ; une petite salle a une égalisation plate. Ce champ ne sera pas écrit dans le bitstream si l'option mixing_level et l'option room_type ont toutes deux leur valeur par défaut.
0 notindicated
Non indiqué (par défaut)
1 large
Grande salle
2 small
Petite salle
8.2.1.4 Autres options de métadonnées
-copyright boolean
Indicateur de copyright. Spécifie si un copyright existe pour cet audio.
0 off
Aucun copyright n'existe (par défaut)
1 on
Un copyright existe
-dialnorm value
Normalisation du dialogue. Indique de combien le niveau moyen de dialogue du programme est inférieur à l'échelle numérique pleine de 100 % (0 dBFS). Ce paramètre détermine un décalage de niveau lors de la reproduction audio, qui règle le volume moyen du dialogue sur un niveau prédéfini. L'objectif est d'harmoniser le niveau de volume entre les différentes sources de programme. Une valeur de -31 dB n'entraîne aucun changement de niveau de volume par rapport au volume source lors de la reproduction audio. Les valeurs valides sont des nombres entiers compris entre -31 et -1, -31 étant la valeur par défaut.
-dsur_mode mode
Mode Dolby Surround. Spécifie si le signal stéréo utilise le Dolby Surround (Pro Logic). Ce champ n'est écrit dans le bitstream que si le flux audio est stéréo. L'utilisation de cette option ne signifie PAS que l'encoder appliquera effectivement le traitement Dolby Surround.
0 notindicated
Non indiqué (par défaut)
1 off
Non encodé en Dolby Surround
2 on
Encodé en Dolby Surround
-original boolean
Indicateur de bitstream original. Spécifie si cet audio provient de la source originale et n'est pas une copie.
0 off
Pas la source originale
1 on
Source originale (par défaut)
8.2.2 Informations étendues du bitstream
Les options de bitstream étendu font partie de la syntaxe de bitstream alternative (Alternate Bit Stream Syntax) spécifiée à l'annexe D de la norme A/52:2010. Elles sont regroupées en 2 parties. Si un seul paramètre d'un groupe est spécifié, toutes les valeurs de ce groupe sont écrites dans le bitstream. Les valeurs par défaut sont utilisées pour celles qui sont écrites mais n'ont pas été spécifiées. Si les niveaux de mixage sont écrits, le decoder utilisera ces valeurs à la place de celles spécifiées dans les options center_mixlev et surround_mixlev, s'il prend en charge la syntaxe de bitstream alternative.
8.2.2.1 Informations étendues du bitstream - Partie 1
-dmix_mode mode
Mode de downmix stéréo préféré. Permet à l'utilisateur de choisir entre Lt/Rt (Dolby Surround) et Lo/Ro (stéréo normale) comme mode de downmix stéréo préféré.
0 notindicated
Non indiqué (par défaut)
1 ltrt
Downmix Lt/Rt préféré
2 loro
Downmix Lo/Ro préféré
-ltrt_cmixlev level
Niveau de mixage central Lt/Rt. Le gain que le decoder doit appliquer au canal central lors du downmix vers la stéréo en mode Lt/Rt.
1.414
Applique un gain de +3 dB
1.189
Applique un gain de +1,5 dB
1.000
Applique un gain de 0 dB
0.841
Applique un gain de -1,5 dB
0.707
Applique un gain de -3,0 dB
0.595
Applique un gain de -4,5 dB (par défaut)
0.500
Applique un gain de -6,0 dB
0.000
Rend muet le canal central
-ltrt_surmixlev level
Niveau de mixage surround Lt/Rt. Le gain que le decoder doit appliquer au(x) canal(aux) surround lors du downmix vers la stéréo en mode Lt/Rt.
0.841
Applique un gain de -1,5 dB
0.707
Applique un gain de -3,0 dB
0.595
Applique un gain de -4,5 dB
0.500
Applique un gain de -6,0 dB (par défaut)
0.000
Rend muet le(s) canal(aux) surround
-loro_cmixlev level
Niveau de mixage central Lo/Ro. Le gain que le decoder doit appliquer au canal central lors du downmix vers la stéréo en mode Lo/Ro.
1.414
Applique un gain de +3 dB
1.189
Applique un gain de +1,5 dB
1.000
Applique un gain de 0 dB
0.841
Applique un gain de -1,5 dB
0.707
Applique un gain de -3,0 dB
0.595
Applique un gain de -4,5 dB (par défaut)
0.500
Applique un gain de -6,0 dB
0.000
Rend muet le canal central
-loro_surmixlev level
Niveau de mixage surround Lo/Ro. Le gain que le decoder doit appliquer au(x) canal(aux) surround lors du downmix vers la stéréo en mode Lo/Ro.
0.841
Applique un gain de -1,5 dB
0.707
Applique un gain de -3,0 dB
0.595
Applique un gain de -4,5 dB
0.500
Applique un gain de -6,0 dB (par défaut)
0.000
Rend muet le(s) canal(aux) surround
8.2.2.2 Informations étendues du bitstream - Partie 2
-dsurex_mode mode
Mode Dolby Surround EX. Indique si le flux utilise le Dolby Surround EX (7.1 matricé vers 5.1). L'utilisation de cette option ne signifie PAS que l'encoder appliquera effectivement le traitement Dolby Surround EX.
0 notindicated
Non indiqué (par défaut)
1 on
Dolby Surround EX désactivé
2 off
Dolby Surround EX activé
-dheadphone_mode mode
Mode Dolby Headphone. Indique si le flux utilise l'encodage Dolby Headphone (multicanal matricé vers 2.0 pour une utilisation avec des écouteurs). L'utilisation de cette option ne signifie PAS que l'encoder appliquera effectivement le traitement Dolby Headphone.
0 notindicated
Non indiqué (par défaut)
1 on
Dolby Headphone désactivé
2 off
Dolby Headphone activé
-ad_conv_type type
Type de convertisseur A/N. Indique si l'audio est passé par une conversion A/N HDCD.
0 standard
Convertisseur A/N standard (par défaut)
1 hdcd
Convertisseur A/N HDCD
8.2.3 Autres options d'encodage AC-3
-stereo_rematrixing boolean
Rematriçage stéréo. Active/désactive l'utilisation du rematriçage pour l'entrée stéréo. Il s'agit d'une fonctionnalité AC-3 optionnelle qui améliore la qualité en codant sélectivement les canaux gauche/droite en mid/side. Cette option est activée par défaut, et il est fortement recommandé de la laisser activée, sauf à des fins de test.
cutoff frequency
Définit la fréquence de coupure passe-bas. Si elle n'est pas spécifiée, l'encoder sélectionne une valeur par défaut déterminée à partir de divers autres paramètres d'encodage.
8.2.4 Options d'encodage AC-3 réservées à la virgule flottante
Ces options ne sont valides que pour l'encoder en virgule flottante et n'existent pas pour l'encoder en virgule fixe, les fonctionnalités correspondantes n'étant pas implémentées en virgule fixe.
-channel_coupling boolean
Active/désactive l'utilisation du couplage de canaux, une fonctionnalité AC-3 optionnelle qui améliore la qualité en combinant les informations haute fréquence de plusieurs canaux en un seul canal. Les informations haute fréquence propres à chaque canal sont transmises avec une précision réduite, à la fois dans le domaine fréquentiel et temporel. Cela permet d'allouer davantage de bits aux basses fréquences tout en conservant suffisamment d'informations pour reconstruire les hautes fréquences. Cette option est activée par défaut pour l'encoder en virgule flottante et doit généralement rester activée, sauf à des fins de test ou pour augmenter la vitesse d'encodage.
-1 auto
Sélectionné par l'encoder (par défaut)
0 off
Désactive le couplage de canaux
1 on
Active le couplage de canaux
-cpl_start_band number
Bande de début de couplage. Définit la bande de début du couplage de canaux, de 1 à 15. Si une valeur supérieure à la bande passante est utilisée, elle sera réduite à une valeur inférieure d'une unité à la bande de fin de couplage. Si auto est utilisé, la bande de début sera déterminée par l'encoder en fonction du débit binaire, de la fréquence d'échantillonnage et de la disposition des canaux. Cette option n'a aucun effet si le couplage de canaux est désactivé.
-1 auto
Sélectionné par l'encoder (par défaut)
8.3 flac
Encoder FLAC (Free Lossless Audio Codec)
8.3.1 Options
Les options suivantes sont prises en charge par l'encoder flac de FFmpeg.
compression_level
Définit le niveau de compression, qui détermine les valeurs par défaut de nombreuses autres options lorsqu'elles ne sont pas explicitement définies. Les valeurs valides vont de 0 à 12, 5 étant la valeur par défaut.
frame_size
Définit la taille des images en échantillons par canal.
lpc_coeff_precision
Définit la précision des coefficients LPC, les valeurs valides vont de 1 à 15, 15 étant la valeur par défaut.
lpc_type
Définit l'algorithme LPC de première étape
‘none’
LPC non utilisé
‘fixed’
Coefficients LPC fixes
‘levinson’ ‘cholesky’ lpc_passes
Nombre de passes utilisées pour la factorisation de Cholesky pendant l'analyse LPC
min_partition_order
L'ordre de partition minimum
max_partition_order
L'ordre de partition maximum
prediction_order_method
‘estimation’ ‘2level’ ‘4level’ ‘8level’ ‘search’
Recherche exhaustive (bruteforce)
‘log’ ch_mode
Mode de canal
‘auto’
Le mode est choisi automatiquement pour chaque image
‘indep’
Les canaux sont codés indépendamment
‘left_side’ ‘right_side’ ‘mid_side’ exact_rice_parameters
Choisit si les paramètres de Rice sont calculés de manière exacte ou approximative. S'il est réglé sur 1, ils sont choisis de manière exacte, ce qui ralentit légèrement le code et améliore légèrement la compression.
multi_dim_quant
Quantification multidimensionnelle. Si réglé sur 1, un algorithme LPC de seconde étape est appliqué après la première étape afin d'affiner les coefficients. Ceci est assez lent et améliore légèrement la compression.
8.4 opus
Opus encoder.
Il s'agit d'un encoder natif de FFmpeg pour le format Opus. À l'heure actuelle, il est en développement et n'implémente que la partie CELT du codec. Sa qualité est en général inférieure à celle de l'encoder libopus, et au mieux équivalente.
8.4.1 Options
b
Définit le débit binaire en bits/s. Si elle n'est pas précisée, cette option se base sur le nombre de canaux et leur disposition pour estimer une valeur adaptée.
opus_delay
Définit le délai maximal en millisecondes. Un délai inférieur à 20ms dégrade très rapidement la qualité.
8.5 libfdk_aac
Wrapper d'encoder AAC (Advanced Audio Coding) libfdk-aac.
La bibliothèque libfdk-aac repose sur le code Fraunhofer FDK AAC issu du projet Android.
Nécessite la présence des en-têtes et de la bibliothèque libfdk-aac lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libfdk-aac. Cette bibliothèque est également incompatible avec la GPL ; si vous autorisez l'usage de la GPL, configurez donc avec --enable-gpl --enable-nonfree --enable-libfdk-aac.
Cet encoder prend en charge les profils AAC-HE.
L'encodage VBR, activé via les options vbr ou flags +qscale, est expérimental et ne fonctionne qu'avec certaines combinaisons de paramètres.
L'encodage audio 7.1 n'est disponible qu'à partir de libfdk-aac 0.1.3.
Pour plus d'informations, consultez le projet fdk-aac à l'adresse http://sourceforge.net/p/opencore-amr/fdk-aac/.
8.5.1 Options
Les options suivantes sont associées aux options codec communes de FFmpeg.
b
Définit le débit binaire en bits/s. Si le débit binaire n'est pas explicitement précisé, il est réglé automatiquement sur une valeur adaptée au profil sélectionné.
Si le mode VBR est activé, cette option est ignorée.
ar
Définit la fréquence d'échantillonnage audio (en Hz).
channels
Définit le nombre de canaux audio.
flags +qscale
Active le mode qualité fixe, VBR (Variable Bit Rate). Notez que le VBR est implicitement activé lorsque la valeur de vbr est positive.
cutoff
Définit la fréquence de coupure. Si elle n'est pas précisée (ou explicitement réglée sur 0), la bibliothèque calcule automatiquement une valeur. La valeur par défaut est 0.
profile
Définit le profil audio.
Les profils suivants sont reconnus :
‘aac_low’
Low Complexity AAC (LC)
‘aac_he’
High Efficiency AAC (HE-AAC)
‘aac_he_v2’
High Efficiency AAC version 2 (HE-AACv2)
‘aac_ld’
Low Delay AAC (LD)
‘aac_eld’
Enhanced Low Delay AAC (ELD)
Si elle n'est pas précisée, la valeur retenue est ‘aac_low’.
Voici les options privées de l'encoder libfdk_aac.
afterburner
Réglée sur 1, active la fonctionnalité afterburner ; réglée sur 0, la désactive. Cela améliore la qualité mais augmente aussi la puissance de calcul nécessaire.
La valeur par défaut est 1.
eld_sbr
Réglée sur 1, active le SBR (Spectral Band Replication) pour l'ELD ; réglée sur 0, le désactive.
La valeur par défaut est 0.
eld_v2
Réglée sur 1, active l'ELDv2 (extension LD-MPS pour les signaux stéréo ELD) ; réglée sur 0, le désactive.
Notez que cette option n'est disponible que si la version de fdk-aac (AACENCODER_LIB_VL0.AACENCODER_LIB_VL1.AACENCODER_LIB_VL2) est supérieure à (4.0.0).
La valeur par défaut est 0.
signaling
Définit le style de signalisation SBR/PS.
Elle peut prendre l'une des valeurs suivantes :
‘default’
choisit implicitement la signalisation (hiérarchique explicite par défaut, implicite si l'en-tête global est désactivé)
‘implicit’
signalisation rétrocompatible implicite
‘explicit_sbr’
SBR explicite, signalisation PS implicite
‘explicit_hierarchical’
signalisation hiérarchique explicite
La valeur par défaut est ‘default’.
latm
Réglée sur 1, produit des données encapsulées en LATM/LOAS ; réglée sur 0, désactive cette production.
La valeur par défaut est 0.
header_period
Définit la période de répétition (en images) du StreamMuxConfig et du PCE, pour l'envoi de tampons de configuration intrabande au sein de la couche de transport LATM/LOAS.
Doit être un entier non négatif codé sur 16 bits.
La valeur par défaut est 0.
vbr
Définit le mode VBR, de 1 à 5. 1 correspond à la qualité la plus basse (qui reste malgré tout plutôt bonne) et 5 à la qualité la plus élevée. La valeur 0 désactive le VBR et active le CBR (Constant Bit Rate).
Seul le profil ‘aac_low’ prend en charge l'encodage VBR pour l'instant.
Les modes VBR 1 à 5 correspondent approximativement aux débits binaires moyens suivants :
‘1’
32 kbps/canal
‘2’
40 kbps/canal
‘3’
48-56 kbps/canal
‘4’
64 kbps/canal
‘5’
environ 80-96 kbps/canal
La valeur par défaut est 0.
frame_length
Définit la longueur d'image audio en échantillons. La valeur par défaut correspond à la valeur interne par défaut de la bibliothèque. Reportez-vous à la documentation de la bibliothèque pour connaître les valeurs prises en charge.
8.5.2 Exemples
-
Utilisez
ffmpegpour convertir un fichier audio en AAC VBR dans un container M4A (MP4) :ffmpeg -i input.wav -codec:a libfdk_aac -vbr 3 output.m4a -
Utilisez
ffmpegpour convertir un fichier audio en AAC CBR à 64k kbps, avec le profil High-Efficiency AAC :ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a
8.6 liblc3
Wrapper d'encoder LC3 (Low Complexity Communication Codec) liblc3.
Nécessite la présence des en-têtes et de la bibliothèque liblc3 lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-liblc3.
Cet encoder prend en charge le codec LC3 du Bluetooth SIG pour le protocole LE Audio, ainsi que les fonctionnalités suivantes de LC3plus :
- Durée d'image de 2.5 et 5ms.
- Mode High-Resolution, fréquences d'échantillonnage 48 KHz et 96 kHz.
Pour plus d'informations, consultez le projet liblc3 à l'adresse https://github.com/google/liblc3.
8.6.1 Options
Les options suivantes sont associées aux options codec communes de FFmpeg.
b bitrate
Définit le débit binaire en bits/s. Cette valeur détermine la taille fixe des images encodées, pour une durée d'image donnée.
ar frequency
Définit la fréquence d'échantillonnage audio (en Hz).
channels
Définit le nombre de canaux audio.
frame_duration
Définit la durée d'image audio en millisecondes. La valeur par défaut est 10ms. Les durées d'image autorisées sont 2.5ms, 5ms, 7.5ms et 10ms. LC3 (Bluetooth LE Audio) autorise 7.5ms et 10ms ; LC3plus autorise 2.5ms, 5ms et 10ms.
La durée d'image de 10ms est disponible aussi bien dans la norme LC3 que LC3plus. Dans ce mode, le bitstream produit peut être qualifié indifféremment de LC3 ou de LC3plus.
high_resolution boolean
Réglée sur 1, active le mode high-resolution. Ce mode est disponible avec toutes les durées d'image de LC3plus et pour des fréquences d'échantillonnage de 48 KHz et 96 KHz.
L'encoder désactive automatiquement ce mode aux fréquences d'échantillonnage plus basses et l'active à 96 KHz.
Ce mode est à privilégier pour les débits binaires élevés. Dans ce mode, la bande passante audio s'étend toujours jusqu'à la fréquence de Nyquist, contrairement au LC3 à 48 KHz, qui limite la bande passante à 20 KHz.
8.7 libmp3lame
Wrapper d'encoder MP3 LAME (Lame Ain’t an MP3 Encoder).
Nécessite la présence des en-têtes et de la bibliothèque libmp3lame lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libmp3lame.
Pour un encoder MP3 à virgule fixe, voir libshine, dont la qualité est toutefois inférieure.
8.7.1 Options
Le wrapper libmp3lame prend en charge les options suivantes. L'équivalent lame de chaque option figure entre parenthèses.
b (-b)
Définit le débit binaire en bits/s pour le CBR ou l'ABR. Le bitrate de LAME s'exprime en kilobits/s.
q (-V)
Définit le réglage de qualité constante pour le VBR. Cette option n'est valable qu'avec l'outil en ligne de commande ffmpeg. Pour les utilisateurs de l'interface bibliothèque, utilisez global_quality.
compression_level (-q)
Définit la qualité de l'algorithme. Les arguments valides sont des entiers compris entre 0 et 9 : 0 correspond à la meilleure qualité mais à la vitesse la plus lente, et 9 à la vitesse la plus rapide mais à la pire qualité.
cutoff (--lowpass)
Définit la fréquence de coupure du filtre passe-bas. Si elle n'est pas précisée, l'encoder ajuste la coupure de manière dynamique.
reservoir
Réglée sur 1, active l'utilisation du bit reservoir. La valeur par défaut est 1. LAME l'active par défaut, mais ce comportement peut être annulé avec l'option --nores.
joint_stereo (-m j)
Permet à l'encoder d'utiliser, image par image, soit la stéréo L/R soit la stéréo mid/side. La valeur par défaut est 1.
abr (--abr)
Réglée sur 1, permet à l'encoder d'utiliser l'ABR. Le --abr de lame définit le débit binaire cible, tandis que cette option se contente d'indiquer à FFmpeg d'utiliser l'ABR ; le débit binaire reste défini par b.
copyright (-c)
Réglée sur 1, définit l'indicateur copyright audio MPEG. La valeur par défaut est 0 (désactivé).
original (-o)
Réglée sur 1, définit l'indicateur original audio MPEG. La valeur par défaut est 1 (activé).
8.8 libopencore-amrnb
Encoder OpenCORE Adaptive Multi-Rate Narrowband.
Nécessite la présence des en-têtes et de la bibliothèque libopencore-amrnb lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libopencore-amrnb --enable-version3.
Cet encoder est exclusivement mono. Officiellement, il ne prend en charge que la fréquence d'échantillonnage 8000Hz, mais vous pouvez passer outre en réglant strict sur ‘unofficial’ ou une valeur inférieure.
8.8.1 Options
b
Définit le débit binaire en bits par seconde. Seuls les débits binaires suivants sont pris en charge ; sinon, libavcodec arrondit au débit binaire valide le plus proche.
4750 5150 5900 6700 7400 7950 10200 12200 dtx
Réglée sur 1, autorise la transmission discontinue (génération de bruit de confort). La valeur par défaut est 0 (désactivé).
8.9 libopus
Wrapper d'encoder libopus Opus Interactive Audio Codec.
Nécessite la présence des en-têtes et de la bibliothèque libopus lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libopus.
8.9.1 Correspondance des options
La plupart des options de libopus reprennent le modèle de l'utilitaire opusenc d'opus-tools. Voici un tableau de correspondance décrivant les options prises en charge par le wrapper libopus, avec leur équivalent opusenc entre parenthèses.
b (bitrate)
Définit le débit binaire en bits/s. L'option b de FFmpeg s'exprime en bits/s, tandis que le bitrate d'opusenc s'exprime en kilobits/s.
vbr (vbr , hard-cbr , and cvbr)
Définit le mode VBR. L'option vbr de FFmpeg accepte les arguments valides suivants, avec l'option équivalente d'opusenc entre parenthèses :
‘off (hard-cbr)’
Utilise l'encodage à débit binaire constant.
‘on (vbr)’
Utilise l'encodage à débit binaire variable (valeur par défaut).
‘constrained (cvbr)’
Utilise l'encodage à débit binaire variable contraint.
compression_level (comp)
Définit la complexité de l'algorithme d'encodage. Les valeurs valides sont des entiers compris entre 0 et 10. 0 donne l'encodage le plus rapide mais avec une qualité moindre, tandis que 10 donne la meilleure qualité mais l'encodage le plus lent. La valeur par défaut est 10.
frame_duration (framesize)
Définit la taille maximale d'image, c'est-à-dire la durée d'une image en millisecondes. L'argument doit être exactement l'une des valeurs suivantes : 2.5, 5, 10, 20, 40, 60. Des images plus petites permettent une latence plus faible mais une qualité moindre à débit binaire égal. Les tailles supérieures à 20ms ne présentent d'intérêt qu'à des débits binaires assez bas. La valeur par défaut est 20ms.
packet_loss (expect-loss)
Définit le pourcentage de perte de paquets attendu. La valeur par défaut est 0.
fec (n/a)
Active la correction d'erreur directe (forward error correction) intrabande. Pour en tirer parti, packet_loss doit être différent de zéro : la fréquence des ’side-data’ FEC est proportionnelle à la perte de paquets attendue. Elle est désactivée par défaut.
application (N.A.)
Définit le type d'application visé. Les valeurs valides sont les suivantes :
‘voip’
Privilégie une meilleure intelligibilité de la parole.
‘audio’
Privilégie la fidélité à l'entrée (valeur par défaut).
‘lowdelay’
Se limite aux modes de plus faible latence en désactivant les modes optimisés pour la voix.
cutoff (N.A.)
Définit la bande passante de coupure en Hz. L'argument doit être exactement l'une des valeurs suivantes : 4000, 6000, 8000, 12000 ou 20000, correspondant respectivement à narrowband, mediumband, wideband, super wideband et fullband. La valeur par défaut est 0 (coupure désactivée). Notez que libopus impose une coupure wideband pour les débits binaires < 15 kbps, sauf si le mode CELT seul (application réglée sur ‘lowdelay’) est utilisé.
mapping_family (mapping_family)
Définit la famille de mapping de canaux utilisée par l'encoder. La valeur par défaut -1 utilise la mapping family 0 pour les entrées mono et stéréo, et la mapping family 1 dans les autres cas. Ce réglage par défaut désactive également les optimisations de masquage surround et de bande passante LFE de libopus, et exige que l'entrée comporte 8 canaux ou moins.
Les autres valeurs possibles sont 0 pour mono et stéréo, 1 pour le son surround avec masquage et optimisations de bande passante LFE, et 255 pour des flux indépendants dont la disposition des canaux n'est pas spécifiée.
dtx (N.A.)
Réglée sur 1, autorise la transmission discontinue. La valeur par défaut est 0 (désactivé).
apply_phase_inv (N.A.) (requires libopus >= 1.2)
Réglée sur 0, désactive l'utilisation de l'inversion de phase pour la stéréo d'intensité, ce qui améliore la qualité des downmix mono mais réduit légèrement la qualité stéréo normale. La valeur par défaut est 1 (inversion de phase activée).
8.10 libshine
Wrapper d'encoder MP3 à virgule fixe Shine.
Shine est un encoder MP3 à virgule fixe. Il offre de bien meilleures performances sur les plateformes dépourvues de FPU, par exemple les CPU armel, ainsi que sur certains téléphones et tablettes. Cependant, comme il vise davantage la performance que la qualité, il n'égale pas LAME ni les autres encoders de qualité professionnelle sur ce plan. Par ailleurs, d'après la page d'accueil du projet, cet encoder n'est peut-être pas exempt de bugs, le code ayant été écrit il y a longtemps et le projet étant resté inactif pendant au moins 5 ans.
Cet encoder ne prend en charge que les entrées stéréo et mono. Il est également exclusivement CBR.
Le projet d'origine (dernière mise à jour début 2007) se trouve à l'adresse http://sourceforge.net/projects/libshine-fxp/. Seul le fork mis à jour par le projet Savonet/Liquidsoap, à l'adresse https://github.com/savonet/shine, est pris en charge.
Nécessite la présence des en-têtes et de la bibliothèque libshine lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libshine.
Voir aussi libmp3lame.
8.10.1 Options
Le wrapper libshine prend en charge les options suivantes. L'équivalent shineenc de chaque option figure entre parenthèses.
b (-b)
Définit le débit binaire en bits/s pour le CBR. L'option -b de shineenc s'exprime en kilobits/s.
8.11 libtwolame
Wrapper d'encoder MP2 TwoLAME.
Nécessite la présence des en-têtes et de la bibliothèque libtwolame lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libtwolame.
8.11.1 Options
Le wrapper libtwolame prend en charge les options suivantes. Les options twolame équivalentes figurent entre parenthèses après celles de FFmpeg.
b (-b)
Définit le débit binaire en bits/s pour le CBR. L'option b de twolame s'exprime en kilobits/s. La valeur par défaut est 128k.
q (-V)
Définit la qualité pour la prise en charge expérimentale du VBR. La plage de valeurs maximale va de -50 à 50, la plage utile de -10 à 10. Plus la valeur est élevée, meilleure est la qualité. Cette option n'est valable qu'avec l'outil en ligne de commande ffmpeg. Pour les utilisateurs de l'interface bibliothèque, utilisez global_quality.
mode (--mode)
Définit le mode de l'audio résultant. Valeurs possibles :
‘auto’
Choisit le mode automatiquement en fonction de l'entrée. C'est la valeur par défaut.
‘stereo’
Stéréo
‘joint_stereo’
Stéréo jointe
‘dual_channel’
Double canal
‘mono’
Mono
psymodel (--psyc-mode)
Définit le modèle psychoacoustique à utiliser pour l'encodage. L'argument doit être un entier compris entre -1 et 4 inclus. Plus la valeur est élevée, meilleure est la qualité. La valeur par défaut est 3.
energy_levels (--energy)
Réglée sur 1, active les extensions de niveaux d'énergie. La valeur par défaut est 0 (désactivé).
error_protection (--protect)
Réglée sur 1, active la protection contre les erreurs CRC. La valeur par défaut est 0 (désactivé).
copyright (--copyright)
Réglée sur 1, définit l'indicateur copyright audio MPEG. La valeur par défaut est 0 (désactivé).
original (--original)
Réglée sur 1, définit l'indicateur original audio MPEG. La valeur par défaut est 0 (désactivé).
8.12 libvo-amrwbenc
Encoder VisualOn Adaptive Multi-Rate Wideband.
Nécessite la présence des en-têtes et de la bibliothèque libvo-amrwbenc lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libvo-amrwbenc --enable-version3.
Cet encoder est exclusivement mono. Officiellement, il ne prend en charge que la fréquence d'échantillonnage 16000Hz, mais vous pouvez passer outre en réglant strict sur ‘unofficial’ ou une valeur inférieure.
8.12.1 Options
b
Définit le débit binaire en bits/s. Seuls les débits binaires suivants sont pris en charge ; sinon, libavcodec arrondit au débit binaire valide le plus proche.
‘6600’ ‘8850’ ‘12650’ ‘14250’ ‘15850’ ‘18250’ ‘19850’ ‘23050’ ‘23850’ dtx
Réglée sur 1, autorise la transmission discontinue (génération de bruit de confort). La valeur par défaut est 0 (désactivé).
8.13 libvorbis
Wrapper d'encoder libvorbis.
Nécessite la présence des en-têtes et de la bibliothèque libvorbisenc lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libvorbis.
8.13.1 Options
Le wrapper libvorbis prend en charge les options suivantes. L'équivalent oggenc de chaque option figure entre parenthèses.
Pour une documentation plus précise et plus détaillée des options de libvorbis, consultez la documentation de libvorbisenc et celle d'oggenc. Voir http://xiph.org/vorbis/, http://wiki.xiph.org/Vorbis-tools, et oggenc(1).
b (-b)
Définit le débit binaire en bits/s pour l'ABR. Le -b d'oggenc s'exprime en kilobits/s.
q (-q)
Définit le réglage de qualité constante pour le VBR. La valeur doit être un nombre à virgule flottante compris entre -1.0 et 10.0. Plus la valeur est élevée, meilleure est la qualité. La valeur par défaut est ‘3.0’.
Cette option n'est valable qu'avec l'outil en ligne de commande ffmpeg. Pour les utilisateurs de l'interface bibliothèque, utilisez global_quality.
cutoff (--advanced-encode-option lowpass_frequency=N)
Définit la bande passante de coupure en Hz ; la valeur 0 désactive la coupure. L'option correspondante d'oggenc s'exprime en kHz. La valeur par défaut est ‘0’ (coupure désactivée).
minrate (-m)
Définit le débit binaire minimal en bits/s. Le -m d'oggenc s'exprime en kilobits/s.
maxrate (-M)
Définit le débit binaire maximal en bits/s. Le -M d'oggenc s'exprime en kilobits/s. Cela n'a d'effet qu'en mode ABR.
iblock (--advanced-encode-option impulse_noisetune=N)
Définit le biais de bruit de fond pour les blocs impulsionnels. La valeur est un nombre à virgule flottante compris entre -15.0 et 0.0. Un biais négatif indique à l'encoder d'accorder une attention particulière à la netteté des transitoires dans l'audio encodé. La contrepartie d'une meilleure réponse transitoire est un débit binaire plus élevé.
8.14 mjpeg
Encoder Motion JPEG.
8.14.1 Options
huffman
Définit la stratégie d'encodage huffman. Valeurs possibles :
‘default’
Utilise les tables de huffman par défaut. C'est la stratégie par défaut.
‘optimal’
Calcule et utilise des tables de huffman optimales.
8.15 wavpack
Encoder audio sans perte WavPack.
8.15.1 Options
Les options équivalentes de l'utilitaire en ligne de commande wavpack figurent entre parenthèses.
8.15.1.1 Options partagées
Les options partagées suivantes s'appliquent à cet encoder. Seules les remarques propres à cet encoder en particulier sont documentées ici. Pour la signification générale des options, voir le chapitre Codec Options.
frame_size (--blocksize)
Pour cet encoder, la plage de valeurs de cette option va de 128 à 131072. La valeur par défaut est déterminée automatiquement en fonction de la fréquence d'échantillonnage et du nombre de canaux.
Pour la formule complète du calcul de la valeur par défaut, voir libavcodec/wavpackenc.c.
compression_level (-f , -h , -hh , and -x)
8.15.1.2 Options privées
joint_stereo (-j)
Définit si la stéréo jointe doit être activée. Les valeurs valides sont :
‘on (1)’
Force l'encodage audio mid/side.
‘off (0)’
Force l'encodage audio left/right.
‘auto’
Laisse l'encoder décider automatiquement.
optimize_mono
Définit si l'optimisation pour le mono doit être activée. Cette option n'a d'effet que pour les flux non mono. Valeurs disponibles :
‘on’
activé
‘off’
désactivé
9 Encoders vidéo
Voici une description de certains des encoders vidéo disponibles à l'heure actuelle.
9.1 a64_multi, a64_multi5
Encoder de jeu de caractères multicolore A64 / Commodore 64. a64_multi5 est étendu avec une 5e couleur (colram).
9.2 Cinepak
Encoder Cinepak, alias CVID. Compatible avec Windows 3.1 et les anciens MacOS.
9.2.1 Options
g integer
Intervalle entre keyframes. Un keyframe est inséré au moins toutes les -g images, parfois plus tôt.
q:v integer
Facteur de qualité. Plus la valeur est basse, meilleure est la qualité. Plus elle est élevée, plus le débit binaire est faible. Le tableau suivant indique les débits binaires obtenus en encodant akiyo_cif.y4m pour diverses valeurs de -q:v avec -g 100 :
-q:v 1 1918 kb/s
-q:v 2 1735 kb/s
-q:v 4 1500 kb/s
-q:v 10 1041 kb/s
-q:v 20 826 kb/s
-q:v 40 553 kb/s
-q:v 100 394 kb/s
-q:v 200 312 kb/s
-q:v 400 266 kb/s
-q:v 1000 237 kb/s
max_extra_cb_iterations integer
Nombre maximal de passes supplémentaires de recalcul du codebook ; plus il est élevé, meilleur mais plus lent.
skip_empty_cb boolean
Évite le gaspillage d'octets, en ignorant le decoder des anciens MacOS.
max_strips integer min_strips integer
Nombre minimal et maximal de bandes (strips) à utiliser. Élargir la plage améliore parfois la qualité. Davantage de bandes donne généralement une meilleure qualité mais coûte plus de bits. Moins de bandes tend à produire davantage de keyframes. La compatibilité avec les anciens systèmes correspond à 1..3.
strip_number_adaptivity integer
Dans quelle mesure le nombre de bandes peut varier entre les images. Plus la valeur est élevée, meilleur c'est, mais plus lent.
9.3 ffv1
Encoder FFv1
9.3.1 Options
Les options suivantes sont prises en charge par l'encoder FFv1 de FFmpeg.
context
Définit la taille du contexte, 0 (par défaut) pour une petite taille, 1 pour une grande.
coder
Définit le coder,
‘rice’
Coder Golomb rice
‘range_def’
Coder de plage avec table par défaut
‘range_tab’
Coder de plage avec table personnalisée
slicecrc
-1 (par défaut, automatique), 1 pour utiliser un crc avec état initial et final à zéro, 2 pour utiliser un crc avec état initial et final non nul
qtable
‘default’
par défaut, automatique
‘8bit’
utilise la valeur par défaut 8bit
‘greater8bit’
utilise la valeur par défaut >8bit
remap_optimizer
0 - 5, 3 par défaut, indique l'effort que l'encoder consacre à l'optimisation de la table remap.
9.4 GIF
Encoder d'image/animation GIF.
9.4.1 Options
gifflags integer
Définit les indicateurs utilisés pour l'encodage GIF.
offsetting
Active le décalage d'image.
Activé par défaut.
transdiff
Active la détection de transparence entre images.
Activé par défaut.
gifimage integer
Active l'encodage d'une image GIF complète par image, plutôt qu'un GIF animé.
La valeur par défaut est 0.
global_palette integer
Écrit une palette dans l'en-tête GIF global lorsque c'est possible.
Si cette option est désactivée, chaque image comporte toujours une palette écrite, même si une palette globale est fournie.
La valeur par défaut est 1.
9.5 Hap
Encoder vidéo Vidvox Hap.
9.5.1 Options
format integer
Spécifie le format Hap à encoder.
hap hap_alpha hap_q
La valeur par défaut est hap.
chunks integer
Spécifie le nombre de chunks en lesquels diviser les images, entre 1 et 64. Cela permet un décodage multithread des images volumineuses, potentiellement au prix du débit de données. L'encoder peut modifier cette valeur afin de diviser les images de façon régulière.
La valeur par défaut est 1.
compressor integer
Spécifie le compresseur de second niveau à utiliser. Réglé sur none, le nombre de chunks est limité à 1, les chunks non compressés n'offrant aucun avantage.
none snappy
La valeur par défaut est snappy.
9.6 jpeg2000
Par défaut, l'encoder jpeg 2000 natif produit un encodage avec perte ; l'option -q:v permet de définir la qualité d'encodage. L'encodage sans perte peut être sélectionné avec -pred 1.
9.6.1 Options
format integer
Peut être réglé sur j2k ou jp2 (valeur par défaut), ce qui permet de stocker des pix_fmts non-RGB.
tile_width integer
Définit la largeur des tuiles. La plage va de 1 à 1073741824. La valeur par défaut est 256.
tile_height integer
Définit la hauteur des tuiles. La plage va de 1 à 1073741824. La valeur par défaut est 256.
pred integer
Permet de définir le type de transformée en ondelettes discrète (DWT) utilisé
dwt97int (Lossy) dwt53 (Lossless)
La valeur par défaut est dwt97int
sop boolean
Si cette option est activée, un marqueur SOP est ajouté au début de chaque paquet. Désactivé par défaut.
eph boolean
Si cette option est activée, un marqueur EPH est ajouté à la fin de chaque en-tête de paquet. Désactivé par défaut.
prog integer
Définit l'ordre de progression utilisé par l'encoder. Les valeurs possibles sont :
lrcp rlcp rpcl pcrl cprl
Réglé sur lrcp par défaut.
layer_rates string
Par défaut, lorsque cette option n'est pas utilisée, la compression s'effectue selon la métrique de qualité. Cette option permet une compression basée sur un taux de compression. Le taux de compression peut être précisé pour chaque niveau. Le taux de compression de la couche l indique quelle proportion de la taille totale du fichier est contenue dans les l premières couches.
Exemple d'utilisation :
ffmpeg -i input.bmp -c:v jpeg2000 -layer_rates "100,10,1" output.j2k
Ceci compresse l'image de façon à obtenir 3 couches : les données contenues dans la première couche sont compressées 1000 fois, celles des deux premières couches sont compressées 100 fois, et l'ensemble des données est présent dès lors que les 3 couches sont utilisées.
9.7 librav1e
Wrapper pour l'encoder AV1 rav1e.
Nécessite la présence des en-têtes et de la bibliothèque de rav1e lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-librav1e.
9.7.1 Options
qmax
Définit le quantificateur maximal à utiliser en mode débit binaire.
qmin
Définit le quantificateur minimal à utiliser en mode débit binaire.
qp
Utilise le mode quantificateur pour encoder avec le quantificateur indiqué (0 à 255).
speed
Sélectionne le preset de vitesse (0 à 10) à utiliser pour l'encodage.
tiles
Sélectionne le nombre de tuiles à utiliser pour l'encodage.
tile-rows
Sélectionne le nombre de rangées de tuiles à utiliser pour l'encodage.
tile-columns
Sélectionne le nombre de colonnes de tuiles à utiliser pour l'encodage.
rav1e-params
Définit les options de rav1e à l'aide d'une liste de paires key=value séparées par ":". Consultez rav1e --help pour obtenir la liste des options.
Par exemple, pour indiquer des options d'encodage librav1e avec -rav1e-params :
ffmpeg -i input -c:v librav1e -b:v 500K -rav1e-params speed=5:low_latency=true output.mp4
9.8 libaom-av1
Wrapper pour l'encoder AV1 libaom.
Nécessite la présence des en-têtes et de la bibliothèque de libaom lors de la configuration. Vous devez configurer explicitement le build avec --enable-libaom.
9.8.1 Options
Ce wrapper prend en charge les options standard suivantes de libavcodec :
b
Définit le débit binaire cible en bits par seconde. Par défaut, le mode à débit binaire variable est utilisé. Si maxrate et minrate sont également réglés sur la même valeur, le mode à débit binaire constant est utilisé ; sinon, si crf est également défini, le mode à qualité contrainte est utilisé.
g keyint_min
Définit le placement des keyframes. La taille du GOP définit la distance maximale entre les keyframes ; si elle vaut zéro, le flux de sortie sera intra uniquement. La distance minimale est ignorée sauf si elle est identique à la taille du GOP, auquel cas les keyframes apparaissent toujours à intervalle fixe. Non défini par défaut, de sorte que sans cette option, la bibliothèque est entièrement libre de choisir où placer les keyframes.
qmin qmax
Définit les valeurs de quantification minimale/maximale. La plage valide va de 0 à 63 (attention : cela ne correspond pas aux valeurs de quantification réellement utilisées par AV1 – divisez par quatre pour convertir les valeurs réelles de quantification vers cette plage). Par défaut, min/max (sans contrainte).
minrate maxrate bufsize rc_init_occupancy
Définit les paramètres de mise en mémoire tampon du contrôle du débit. Non utilisé si non défini – la valeur par défaut est un débit binaire variable sans contrainte.
threads
Définit le nombre de threads à utiliser pendant l'encodage. Il peut être nécessaire de définir également les options tiles ou row-mt pour exploiter pleinement le nombre de threads indiqué. Par défaut, le nombre de threads matériels pris en charge par la machine hôte.
profile
Définit le profil d'encodage. Par défaut, utilise le profil correspondant à la profondeur de bits et au sous-échantillonnage de la chrominance de l'entrée.
Ce wrapper propose également quelques options spécifiques :
cpu-used
Définit le compromis entre qualité et vitesse d'encodage. La plage valide va de 0 à 8, les valeurs élevées indiquant une vitesse plus grande et une qualité moindre. La valeur par défaut est 1, ce qui correspond à un encodage lent et de haute qualité.
auto-alt-ref
Active l'utilisation des images de référence alternatives. Par défaut, utilise la valeur par défaut interne de la bibliothèque.
arnr-max-frames (frames)
Définit le nombre maximal d'images pour la réduction de bruit altref. La valeur par défaut est -1.
arnr-strength (strength)
Définit la force du filtre de réduction de bruit altref. La plage va de -1 à 6. La valeur par défaut est -1.
aq-mode (aq-mode)
Définit le mode de quantification adaptative. Valeurs possibles :
‘none (0)’
Désactivé.
‘variance (1)’
Basé sur la variance.
‘complexity (2)’
Basé sur la complexité.
‘cyclic (3)’
Rafraîchissement cyclique.
tune (tune)
Définit la métrique de distorsion utilisée pour ajuster l'encoder. La valeur par défaut est psnr.
‘psnr (0)’ ‘ssim (1)’ lag-in-frames
Définit le nombre maximal d'images que l'encoder peut conserver simultanément en cours de traitement à des fins de lookahead. Par défaut, utilise la valeur par défaut interne de la bibliothèque.
error-resilience
Active les fonctionnalités de résilience aux erreurs :
default
Améliore la résilience face à la perte d'images entières.
Non activé par défaut.
crf
Définit le compromis qualité/taille pour les modes qualité constante (sans débit binaire cible) et qualité contrainte (avec débit binaire cible maximal). La plage valide va de 0 à 63, les valeurs élevées indiquant une qualité plus faible et une taille de sortie plus réduite. N'est utilisé que s'il est défini ; par défaut, seul le débit binaire cible est utilisé.
static-thresh
Définit un seuil de changement sur les blocs, en dessous duquel ils sont ignorés par l'encoder. Il s'exprime en unités arbitraires sous forme d'entier non négatif ; la valeur par défaut est zéro (aucun bloc n'est ignoré).
drop-threshold
Définit un seuil de suppression d'images à l'approche des limites du contrôle du débit. Exprimé en pourcentage du tampon cible – lorsque le tampon de contrôle du débit descend sous ce pourcentage, des images sont supprimées jusqu'à ce qu'il soit de nouveau rempli au-delà du seuil. La valeur par défaut est zéro (aucune image n'est supprimée).
denoise-noise-level (level)
Quantité de bruit à supprimer pour la synthèse de grain. La synthèse de grain est désactivée si cette option n'est pas définie ou est réglée sur 0.
denoise-block-size (pixels)
Taille de bloc utilisée pour le débruitage lors de la synthèse de grain. Si elle n'est pas définie, le codec AV1 utilise la valeur par défaut de 32.
undershoot-pct (pct)
Définit le pourcentage de sous-débit (minimum) par rapport au débit binaire cible. La plage va de -1 à 100. La valeur par défaut est -1.
overshoot-pct (pct)
Définit le pourcentage de dépassement (maximum) par rapport au débit binaire cible. La plage va de -1 à 1000. La valeur par défaut est -1.
minsection-pct (pct)
Variation minimale en pourcentage du débit binaire du GOP par rapport au débit binaire cible. Si minsection-pct n'est pas défini, le wrapper libaomenc le calcule comme suit : (minrate * 100 / bitrate). La plage va de -1 à 100. La valeur par défaut est -1 (non défini).
maxsection-pct (pct)
Variation maximale en pourcentage du débit binaire du GOP par rapport au débit binaire cible. Si maxsection-pct n'est pas défini, le wrapper libaomenc le calcule comme suit : (maxrate * 100 / bitrate). La plage va de -1 à 5000. La valeur par défaut est -1 (non défini).
frame-parallel (boolean)
Active les fonctionnalités de décodage parallèle des images. La valeur par défaut est true.
tiles
Définit le nombre de tuiles utilisées pour encoder la vidéo d'entrée, sous la forme colonnes x rangées. Des valeurs plus élevées permettent un plus grand parallélisme, tant à l'encodage qu'au décodage, mais peuvent réduire l'efficacité de codage. Par défaut, le nombre minimal de tuiles requis par la taille de la vidéo d'entrée (soit 1x1, c'est-à-dire une seule tuile, pour les tailles allant jusqu'à 4K inclus).
tile-columns tile-rows
Définit le nombre de tuiles sous la forme du log2 du nombre de rangées et de colonnes de tuiles. Fourni pour la compatibilité avec libvpx/VP9.
row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
Active le multithreading par rangée. Désactivé par défaut.
enable-cdef (boolean)
Active le Constrained Directional Enhancement Filter. L'encoder libaom-av1 active CDEF par défaut.
enable-restoration (boolean)
Active le Loop Restoration Filter. La valeur par défaut est true pour libaom-av1.
enable-global-motion (boolean)
Active l'utilisation du mouvement global pour la prédiction de blocs. La valeur par défaut est true.
enable-intrabc (boolean)
Active le mode de copie de blocs pour la prédiction intra. Ce mode est utile pour le contenu d'écran. La valeur par défaut est true.
enable-rect-partitions (boolean) (Requires libaom >= v2.0.0)
Active les partitions rectangulaires. La valeur par défaut est true.
enable-1to4-partitions (boolean) (Requires libaom >= v2.0.0)
Active les partitions 1:4/4:1. La valeur par défaut est true.
enable-ab-partitions (boolean) (Requires libaom >= v2.0.0)
Active les partitions de forme AB. La valeur par défaut est true.
enable-angle-delta (boolean) (Requires libaom >= v2.0.0)
Active la prédiction intra à delta d'angle. La valeur par défaut est true.
enable-cfl-intra (boolean) (Requires libaom >= v2.0.0)
Active la prédiction intra de la chrominance à partir de la luminance. La valeur par défaut est true.
enable-filter-intra (boolean) (Requires libaom >= v2.0.0)
Active le prédicteur intra à filtre. La valeur par défaut est true.
enable-intra-edge-filter (boolean) (Requires libaom >= v2.0.0)
Active le filtre de bord intra. La valeur par défaut est true.
enable-smooth-intra (boolean) (Requires libaom >= v2.0.0)
Active le mode de prédiction intra lissée. La valeur par défaut est true.
enable-paeth-intra (boolean) (Requires libaom >= v2.0.0)
Active le prédicteur paeth dans la prédiction intra. La valeur par défaut est true.
enable-palette (boolean) (Requires libaom >= v2.0.0)
Active le mode de prédiction par palette. La valeur par défaut est true.
enable-flip-idtx (boolean) (Requires libaom >= v2.0.0)
Active le type de transformée étendu, incluant FLIPADST_DCT, DCT_FLIPADST, FLIPADST_FLIPADST, ADST_FLIPADST, FLIPADST_ADST, IDTX, V_DCT, H_DCT, V_ADST, H_ADST, V_FLIPADST, H_FLIPADST. La valeur par défaut est true.
enable-tx64 (boolean) (Requires libaom >= v2.0.0)
Active la transformée 64 points. La valeur par défaut est true.
reduced-tx-type-set (boolean) (Requires libaom >= v2.0.0)
Utilise un ensemble réduit de types de transformées. La valeur par défaut est false.
use-intra-dct-only (boolean) (Requires libaom >= v2.0.0)
Utilise uniquement la DCT pour les modes INTRA. La valeur par défaut est false.
use-inter-dct-only (boolean) (Requires libaom >= v2.0.0)
Utilise uniquement la DCT pour les modes INTER. La valeur par défaut est false.
use-intra-default-tx-only (boolean) (Requires libaom >= v2.0.0)
Utilise uniquement la transformée par défaut pour les modes INTRA. La valeur par défaut est false.
enable-ref-frame-mvs (boolean) (Requires libaom >= v2.0.0)
Active la prédiction temporelle des vecteurs de mouvement. La valeur par défaut est true.
enable-reduced-reference-set (boolean) (Requires libaom >= v2.0.0)
Utilise un ensemble réduit de références simples et composées. La valeur par défaut est false.
enable-obmc (boolean) (Requires libaom >= v2.0.0)
Active obmc. La valeur par défaut est true.
enable-dual-filter (boolean) (Requires libaom >= v2.0.0)
Active le filtre double. La valeur par défaut est true.
enable-diff-wtd-comp (boolean) (Requires libaom >= v2.0.0)
Active la composition pondérée par différence. La valeur par défaut est true.
enable-dist-wtd-comp (boolean) (Requires libaom >= v2.0.0)
Active la composition pondérée par distance. La valeur par défaut est true.
enable-onesided-comp (boolean) (Requires libaom >= v2.0.0)
Active la composition à sens unique. La valeur par défaut est true.
enable-interinter-wedge (boolean) (Requires libaom >= v2.0.0)
Active la composition en coin interinter. La valeur par défaut est true.
enable-interintra-wedge (boolean) (Requires libaom >= v2.0.0)
Active la composition en coin interintra. La valeur par défaut est true.
enable-masked-comp (boolean) (Requires libaom >= v2.0.0)
Active la composition masquée. La valeur par défaut est true.
enable-interintra-comp (boolean) (Requires libaom >= v2.0.0)
Active la composition interintra. La valeur par défaut est true.
enable-smooth-interintra (boolean) (Requires libaom >= v2.0.0)
Active le mode interintra lissé. La valeur par défaut est true.
aom-params
Définit les options de libaom à l'aide d'une liste de paires key=value séparées par ":". Pour la liste des options prises en charge, consultez aomenc --help, section "AV1 Specific Options".
Par exemple, pour indiquer des options d'encodage libaom avec -aom-params :
ffmpeg -i input -c:v libaom-av1 -b:v 500K -aom-params tune=psnr:enable-tpl-model=1 output.mp4
9.9 liboapv
Wrapper pour l'encoder du codec Advanced Professional Video.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque liboapv lors de la configuration. Vous devez configurer explicitement le build avec --enable-liboapv.
De nombreuses options de l'encoder liboapv sont associées aux options globales de codec de FFmpeg, tandis que les options propres à cet encoder sont proposées sous forme d'options privées.
Le site du projet apv se trouve à l'adresse https://github.com/AcademySoftwareFoundation/openapv.
9.9.1 Options
Les options suivantes sont prises en charge par le wrapper liboapv.
Pour une documentation plus complète des options de liboapv, consultez la documentation de liboapv.
preset
Définit le compromis qualité/vitesse [fastest, fast, medium, slow, placebo, default]
qp
Définit la valeur du paramètre de quantification pour le mode de contrôle du débit CQP.
oapv-params (parse_apv_params)
Définit les options de liboapvenc à l'aide d'une liste de paires key=value séparées par ":". Consultez le guide utilisateur de l'encoder liboapv pour la liste des paramètres acceptés.
9.10 libsvtav1
Wrapper pour l'encoder SVT-AV1.
Nécessite la présence des en-têtes et de la bibliothèque SVT-AV1 lors de la configuration. Vous devez configurer explicitement le build avec --enable-libsvtav1.
9.10.1 Options
profile
Définit le profil d'encodage.
‘main’ ‘high’ ‘professional’ level
Définit le niveau du point de fonctionnement. Par exemple : ’4.0’
hielevel
Définit les niveaux de prédiction hiérarchique.
‘3level’ ‘4level’
Il s'agit de la valeur par défaut.
tier
Définit le tier du point de fonctionnement.
‘main’
Il s'agit de la valeur par défaut.
‘high’ qmax
Définit le quantificateur maximal à utiliser en mode débit binaire.
qmin
Définit le quantificateur minimal à utiliser en mode débit binaire.
crf
Valeur du facteur de qualité constant utilisée en mode de contrôle du débit crf (0 à 63).
qp
Définit le quantificateur utilisé en mode de contrôle du débit cqp (0 à 63).
sc_detection
Active la détection de changement de scène.
la_depth
Définit le nombre d'images à anticiper (0 à 120).
preset
Définit le compromis qualité/vitesse, dans la plage de 0 à 13. Les valeurs plus élevées sont plus rapides mais de moindre qualité.
tile_rows
Définit le log2 du nombre de rangées de tuiles à utiliser (0 à 6).
tile_columns
Définit le log2 du nombre de colonnes de tuiles à utiliser (0 à 4).
svtav1-params
Définit les options de SVT-AV1 à l'aide d'une liste de paires key=value séparées par ":". Consultez le guide utilisateur de l'encoder SVT-AV1 pour la liste des paramètres acceptés.
9.11 libsvtjpegxs
Wrapper pour l'encoder SVT-JPEG-XS.
Nécessite la présence des en-têtes et de la bibliothèque SVT-JPEG-XS lors de la configuration. Vous devez configurer explicitement le build avec --enable-libsvtjpegxs.
9.11.1 Options
decomp_v
Définit le niveau de décomposition verticale
decomp_h
Définit le niveau de décomposition horizontale
quantization
Définit l'algorithme de quantification.
‘deadzone’ ‘uniform’ coding-signs
Active la stratégie de traitement des signes
‘disable’ ‘fast’ ‘full’ coding-sigf
Active le codage de signifiance
coding-vpred
Active le codage par prédiction verticale
‘disable’ ‘no_residuals’ ‘no_coeffs’
9.12 libjxl
Wrapper pour l'encoder JPEG XL libjxl.
Nécessite la présence des en-têtes et de la bibliothèque libjxl lors de la configuration. Vous devez configurer explicitement le build avec --enable-libjxl.
9.12.1 Options
Le wrapper libjxl prend en charge les options suivantes :
distance
Définit la distance Butteraugli cible. Il s'agit d'un réglage de qualité : plus la distance est faible, plus la qualité est élevée, distance=1.0 étant à peu près comparable à une Quality 90 de libjpeg pour un contenu photographique. Définir distance=0.0 donne un encodage réellement sans perte. Les valeurs valides vont de 0.0 à 15.0, et les valeurs raisonnables dépassent rarement 5.0. Définir distance=0.1 permet généralement d'obtenir une transparence pour la plupart des entrées. La valeur par défaut est 1.0.
effort
Définit l'effort d'encodage utilisé. Des valeurs d'effort plus élevées produisent une qualité plus régulière et donnent généralement une meilleure courbe qualité/bpp, au prix d'un temps CPU plus important. Les valeurs valides vont de 1 à 9, et la valeur par défaut est 7.
modular
Force l'encoder à utiliser le mode Modular au lieu de le choisir automatiquement. Par défaut, VarDCT est utilisé pour l'encodage avec perte et Modular pour l'encodage sans perte. VarDCT est généralement supérieur à Modular pour l'encodage avec perte, mais ne prend pas en charge l'encodage sans perte.
9.13 libkvazaar
Encoder Kvazaar H.265/HEVC.
Nécessite la présence des en-têtes et de la bibliothèque libkvazaar lors de la configuration. Vous devez configurer explicitement le build avec --enable-libkvazaar.
9.13.1 Options
b
Définit le débit binaire vidéo cible en bit/s et active le contrôle du débit.
kvazaar-params
Définit les paramètres de kvazaar sous forme d'une liste de paires name=value séparées par des virgules (,). Consultez la documentation de kvazaar pour la liste des options.
9.14 libopenh264
Wrapper Cisco pour l'encoder H.264/MPEG-4 AVC libopenh264.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libopenh264 lors de la configuration. Vous devez configurer explicitement le build avec --enable-libopenh264. La bibliothèque est détectée à l'aide de pkg-config.
Pour plus d'informations sur cette bibliothèque, consultez http://www.openh264.org.
9.14.1 Options
Les options globales FFmpeg suivantes influent sur la configuration de l'encoder libopenh264.
b
Définit le débit binaire (exprimé en nombre de bits par seconde).
g
Définit la taille du GOP.
maxrate
Définit le débit binaire maximal (exprimé en nombre de bits par seconde).
flags +global_header
Définit un en-tête global dans le bitstream.
slices
Définit le nombre de slices, utilisées pour l'encodage parallélisé. La valeur par défaut est 0. Ceci n'est utilisé que lorsque slice_mode est réglé sur ‘fixed’.
loopfilter
Active le filtre de boucle si réglé sur 1 (activé automatiquement). Pour le désactiver, réglez la valeur sur 0.
profile
Définit les restrictions de profil. Si réglé sur la valeur ‘main’, active CABAC (règle l'indicateur SEncParamExt.iEntropyCodingModeFlag sur 1).
max_nal_size
Définit la taille maximale des NAL en octets.
allow_skip_frames
Autorise l'omission d'images pour atteindre le débit binaire cible si réglé sur 1.
9.15 libtheora
Wrapper pour l'encoder Theora libtheora.
Nécessite la présence des en-têtes et de la bibliothèque libtheora lors de la configuration. Vous devez configurer explicitement le build avec --enable-libtheora.
Pour plus d'informations sur le projet libtheora, consultez http://www.theora.org/.
9.15.1 Options
Les options globales suivantes sont associées à des options internes de libtheora qui influent sur la qualité et le débit binaire du flux encodé.
b
Définit le débit binaire vidéo en bit/s pour le mode CBR (Constant Bit Rate). Si le mode VBR (Variable Bit Rate) est activé, cette option est ignorée.
flags
Utilisé pour activer l'encodage en mode qualité constante (VBR) via l'indicateur qscale, ainsi que pour activer les modes pass1 et pass2.
g
Définit la taille du GOP.
global_quality
Définit la qualité globale sous forme d'entier en unités lambda.
Pertinent uniquement lorsque le mode VBR est activé avec flags +qscale. La valeur est convertie en unités QP en la divisant par FF_QP2LAMBDA, plafonnée dans la plage [0 - 10], puis multipliée par 6.3 pour obtenir une valeur dans la plage native de libtheora [0-63]. Une valeur plus élevée correspond à une qualité plus élevée.
q
Active le mode VBR lorsqu'elle est réglée sur une valeur non négative, et définit la valeur de qualité constante sous forme de nombre à virgule flottante double précision en unités QP.
La valeur est plafonnée dans la plage [0-10], puis multipliée par 6.3 pour obtenir une valeur dans la plage native de libtheora [0-63].
Cette option n'est valide qu'avec l'outil en ligne de commande ffmpeg. Pour les utilisateurs de l'interface bibliothèque, utilisez global_quality.
9.15.2 Exemples
-
Définissez un encodage à qualité constante (VBR) maximale avec
ffmpeg:ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg -
Utilisez
ffmpegpour convertir un flux vidéo Theora CBR à 1000 kbps :ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg
9.16 libvpx
Format VP8/VP9 pris en charge via libvpx.
Nécessite la présence des en-têtes et de la bibliothèque libvpx lors de la configuration. Vous devez configurer explicitement le build avec --enable-libvpx.
9.16.1 Options
Les options suivantes sont prises en charge par le wrapper libvpx. Les options ou valeurs équivalentes de vpxenc sont indiquées entre parenthèses pour faciliter la migration.
Afin de limiter la duplication de la documentation, seules les options privées et quelques autres nécessitant une attention particulière sont documentées ici. Pour la documentation des options génériques non détaillées ici, consultez le chapitre Codec Options.
Pour obtenir davantage de documentation sur les options de libvpx, exécutez la commande ffmpeg -h encoder=libvpx, ffmpeg -h encoder=libvpx-vp9 ou vpxenc --help. Des informations complémentaires sont disponibles dans la documentation de l'API libvpx.
b (target-bitrate)
Définit le débit binaire en bits/s. Notez que l'option b de FFmpeg s'exprime en bits/s, alors que le target-bitrate de vpxenc s'exprime en kilobits/s.
g (kf-max-dist) keyint_min (kf-min-dist) qmin (min-q)
Quantificateur minimal (meilleure qualité).
qmax (max-q)
Quantificateur maximal (pire qualité). Peut être modifié image par image.
bufsize (buf-sz , buf-optimal-sz)
Définit la taille du tampon de contrôle du débit (en bits). Notez que les options de vpxenc sont exprimées en millisecondes ; le wrapper libvpx convertit cette valeur comme suit : buf-sz = bufsize * 1000 / bitrate, buf-optimal-sz = bufsize * 1000 / bitrate * 5 / 6.
rc_init_occupancy (buf-initial-sz)
Définit le nombre de bits à charger dans le tampon rc avant le début du décodage. Notez que l'option de vpxenc est exprimée en millisecondes ; le wrapper libvpx convertit cette valeur comme suit : rc_init_occupancy * 1000 / bitrate.
undershoot-pct
Définit le pourcentage de sous-débit (minimum) par rapport au débit binaire cible.
overshoot-pct
Définit le pourcentage de dépassement (maximum) par rapport au débit binaire cible.
skip_threshold (drop-frame) qcomp (bias-pct) maxrate (maxsection-pct)
Définit le débit binaire maximal du GOP en bits/s. Notez que l'option de vpxenc est exprimée en pourcentage du débit binaire cible ; le wrapper libvpx convertit cette valeur comme suit : (maxrate * 100 / bitrate).
minrate (minsection-pct)
Définit le débit binaire minimal du GOP en bits/s. Notez que l'option de vpxenc est exprimée en pourcentage du débit binaire cible ; le wrapper libvpx convertit cette valeur comme suit : (minrate * 100 / bitrate).
minrate, maxrate, b end-usage=cbr
(minrate == maxrate == bitrate).
crf (end-usage=cq , cq-level) tune (tune)
‘psnr (psnr)’ ‘ssim (ssim)’ quality, deadline (deadline)
‘best’
Utilise le deadline de meilleure qualité. Mal nommée et plutôt lente, cette option devrait être évitée car elle peut donner une sortie de moins bonne qualité que good.
‘good’
Utilise le deadline de bonne qualité. Il s'agit d'un bon compromis entre vitesse et qualité lorsqu'elle est utilisée avec l'option cpu-used.
‘realtime’
Utilise le deadline de qualité temps réel.
speed, cpu-used (cpu-used)
Définit le modificateur du ratio qualité/vitesse. Des valeurs plus élevées accélèrent l'encodage au détriment de la qualité.
nr (noise-sensitivity) static-thresh
Définit un seuil de changement sur les blocs, en dessous duquel ils sont ignorés par l'encoder.
slices (token-parts)
Notez que l'option slices de FFmpeg indique le nombre total de partitions, tandis que le token-parts de vpxenc s'exprime comme log2(partitions).
max-intra-rate
Définit le débit binaire maximal des images I sous forme de pourcentage du débit binaire cible. Une valeur de 0 signifie illimité.
force_key_frames
VPX_EFLAG_FORCE_KF
Options liées aux images de référence alternatives
auto-alt-ref
Active l'utilisation des images de référence alternatives (2 passes uniquement). Les valeurs supérieures à 1 activent les images de référence alternatives multicouches (VP9 uniquement).
arnr-maxframes
Définit le nombre maximal d'images pour la réduction de bruit altref.
arnr-type
Définit le type de filtre de réduction de bruit altref : backward, forward, centered.
arnr-strength
Définit la force du filtre de réduction de bruit altref.
rc-lookahead, lag-in-frames (lag-in-frames)
Définit le nombre d'images à anticiper pour le type d'image et le contrôle du débit.
min-gf-interval
Définit l'intervalle minimal entre images de référence golden/alternative (VP9 uniquement).
error-resilient
Active les fonctionnalités de résilience aux erreurs.
sharpness integer
Augmente la netteté au détriment d'un PSNR plus faible. La plage valide est [0, 7].
ts-parameters
Définit la configuration de scalabilité temporelle à l'aide d'une liste de paires key=value séparées par des deux-points. Par exemple, pour indiquer les paramètres de scalabilité temporelle avec ffmpeg :
ffmpeg -i INPUT -c:v libvpx -ts-parameters ts_number_layers=3:\
ts_target_bitrate=250,500,1000:ts_rate_decimator=4,2,1:\
ts_periodicity=4:ts_layer_id=0,2,1,2:ts_layering_mode=3 OUTPUT
Vous trouverez ci-dessous une brève explication de chaque paramètre ; pour plus de détails, reportez-vous à struct vpx_codec_enc_cfg dans vpx/vpx_encoder.h.
ts_number_layers
Nombre de couches de codage temporel.
ts_target_bitrate
Débit binaire cible pour chaque couche temporelle (en kbps). (Le débit binaire doit inclure celui des couches temporelles inférieures.)
ts_rate_decimator
Facteur de décimation de la fréquence d'images pour chaque couche temporelle.
ts_periodicity
Longueur de la séquence définissant l'appartenance des images aux couches temporelles.
ts_layer_id
Modèle définissant l'appartenance des images aux couches temporelles.
ts_layering_mode
(optionnel) Sélectionne la structure temporelle parmi un ensemble de modes de répartition temporelle prédéfinis. Prend pour l'instant en charge les options suivantes.
0
Aucun indicateur de répartition temporelle n'est fourni en interne ; repose sur des indicateurs transmis via le champ metadata de AVFrame, avec les clés suivantes.
vp8-flags
Définit les indicateurs transmis à l'encoder pour indiquer le schéma de référencement de l'image en cours. Pour plus de détails, reportez-vous à la fonction vpx_codec_encode dans vpx/vpx_encoder.h.
temporal_id
Définit explicitement l'id temporel de l'image en cours à encoder.
2
Deux couches temporelles. 0-1...
3
Trois couches temporelles. 0-2-1-2... ; avec une seule image de référence.
4
Identique à l'option "3", à ceci près qu'il existe une dépendance entre les deux images de couche temporelle 2 au sein de la période temporelle.
Options spécifiques à VP8
screen-content-mode
Mode de contenu d'écran, l'une des valeurs suivantes : 0 (off), 1 (screen), 2 (screen avec un contrôle du débit plus agressif).
Options spécifiques à VP9
lossless
Active le mode sans perte.
tile-columns
Définit le nombre de colonnes de tuiles à utiliser. Notez que cette valeur s'exprime comme log2(tile_columns). Par exemple, pour demander 8 colonnes de tuiles, réglez l'option tile-columns sur 3.
tile-rows
Définit le nombre de rangées de tuiles à utiliser. Notez que cette valeur s'exprime comme log2(tile_rows). Par exemple, pour demander 4 rangées de tuiles, réglez l'option tile-rows sur 2.
frame-parallel
Active les fonctionnalités de décodage parallèle des images.
aq-mode
Définit le mode de quantification adaptative (0 : off (par défaut), 1 : variance 2 : complexity, 3 : cyclic refresh, 4 : equator360).
colorspace color-space
Définit l'espace colorimétrique d'entrée. Le bitstream VP9 permet de signaler les espaces colorimétriques suivants :
‘rgb’ sRGB ‘bt709’ bt709 ‘unspecified’ unknown ‘bt470bg’ bt601 ‘smpte170m’ smpte170 ‘smpte240m’ smpte240 ‘bt2020_ncl’ bt2020 row-mt boolean
Active le multithreading par rangée.
tune-content
Définit le type de contenu : default (0), screen (1), film (2).
corpus-complexity
Le mode Corpus VBR est une variante du VBR standard où le point médian de la distribution de complexité est fourni en entrée plutôt que calculé pour un clip ou un fragment spécifique.
La plage valide est [0, 10000]. 0 (par défaut) utilise le VBR standard.
enable-tpl boolean
Active le modèle de dépendance temporelle.
ref-frame-config
À l'aide de métadonnées par image, définissez les membres de la structure vpx_svc_ref_frame_config_t dans vpx/vp8cx.h pour contrôler finement les schémas de référencement et la gestion de la mémoire tampon d'images.
Utilisez une liste de paires key=value séparées par des deux-points. Par exemple,
av_dict_set(&av_frame->metadata, "ref-frame-config", \
"rfc_update_buffer_slot=7:rfc_lst_fb_idx=0:rfc_gld_fb_idx=1:rfc_alt_fb_idx=2:rfc_reference_last=0:rfc_reference_golden=0:rfc_reference_alt_ref=0");
rfc_update_buffer_slot
Indique le numéro d'emplacement de tampon à mettre à jour
rfc_update_last
Indique s'il faut mettre à jour l'image LAST
rfc_update_golden
Indique s'il faut mettre à jour l'image GOLDEN
rfc_update_alt_ref
Indique s'il faut mettre à jour l'image ALT_REF
rfc_lst_fb_idx
Index du tampon d'image LAST
rfc_gld_fb_idx
Index du tampon d'image GOLDEN
rfc_alt_fb_idx
Index du tampon d'image ALT_REF
rfc_reference_last
Indique s'il faut référencer l'image LAST
rfc_reference_golden
Indique s'il faut référencer l'image GOLDEN
rfc_reference_alt_ref
Indique s'il faut référencer l'image ALT_REF
rfc_reference_duration
Indique la durée de l'image
Pour plus d'informations sur libvpx, voir : http://www.webmproject.org/
9.17 libvvenc
Wrapper de l'encoder VVenC pour H.266/VVC.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libvvenc lors de la configuration. Vous devez configurer explicitement le build avec --enable-libvvenc.
Le site du projet VVenC se trouve à l'adresse https://github.com/fraunhoferhhi/vvenc.
9.17.1 Pixel Formats pris en charge
VVenC ne prend en charge que les espaces colorimétriques 10 bits en entrée. Mais la profondeur de bits interne (encodée) peut être définie sur 8 bits ou 10 bits à l'exécution.
9.17.2 Options
b
Définit le débit binaire vidéo cible.
g
Définit la taille du GOP. Seules les valeurs g=1 (Intra uniquement) ou default sont prises en charge pour l'instant.
preset
Définit le preset VVenC.
levelidc
Définit le level idc.
tier
Définit le tier vvc.
qp
Définit le paramètre de quantification constant.
subopt boolean
Définit l'optimisation subjective (basée sur la perception). La valeur par défaut est 1 (activé).
bitdepth8 boolean
Définit un mode de codage en 8 bits au lieu de 10 bits. La valeur par défaut est 0 (désactivé).
period
Définit la période de rafraîchissement (intra) en secondes.
vvenc-params
Définit les options de vvenc à l'aide d'une liste de couples key=value séparés par ":". Consultez vvencapp --fullhelp ou vvencFFapp --fullhelp pour la liste des options.
Par exemple, les options peuvent être indiquées comme suit :
intraperiod=64:decodingrefreshtype=idr:poc0idr=1:internalbitdepth=8
Par exemple, les options d'encodage peuvent être fournies avec -vvenc-params :
ffmpeg -i input -c:v libvvenc -b 1M -vvenc-params intraperiod=64:decodingrefreshtype=idr:poc0idr=1:internalbitdepth=8 output.mp4
9.18 libwebp
Wrapper de l'encoder libwebp pour images WebP
libwebp est l'encoder officiel de Google pour les images WebP. Il permet un encodage avec perte ou sans perte. Les images avec perte consistent essentiellement en un encapsulateur autour d'une image VP8. Les images sans perte utilisent un codec distinct développé par Google.
9.18.1 Pixel Format
À l'heure actuelle, libwebp ne prend en charge que YUV420 pour le mode avec perte et RGB pour le mode sans perte, en raison des limitations du format et de libwebp. L'alpha est pris en charge dans les deux modes. En raison des limitations de l'API, si du RGB est fourni lors d'un encodage avec perte ou si du YUV est fourni lors d'un encodage sans perte, le pixel format est automatiquement converti à l'aide de fonctions de libwebp. Ce n'est pas idéal et cela n'est fait que par commodité.
9.18.2 Options
-lossless boolean
Active/désactive l'utilisation du mode sans perte. La valeur par défaut est 0.
-compression_level integer
Pour le mode avec perte, il s'agit d'un compromis qualité/vitesse. Des valeurs plus élevées donnent une meilleure qualité pour une taille donnée, au prix d'un temps d'encodage accru. Pour le mode sans perte, il s'agit d'un compromis taille/vitesse. Des valeurs plus élevées donnent une taille plus petite, au prix d'un temps d'encodage accru. Plus précisément, cela contrôle le nombre d'algorithmes et d'outils de compression supplémentaires utilisés, et fait varier la combinaison de ces outils. Cela correspond à l'option method de libwebp. La plage valide est de 0 à 6. La valeur par défaut est 4.
-quality float
Pour l'encodage avec perte, cela contrôle la qualité de l'image. Pour l'encodage sans perte, cela contrôle l'effort et le temps consacrés à la compression. La plage est de 0 à 100. La valeur par défaut est 75.
-preset type
Préréglage de configuration. Cela applique automatiquement certains réglages en fonction du type général de l'image.
none
N'utilise aucun préréglage.
default
Utilise la valeur par défaut de l'encoder.
picture
Photo numérique, comme un portrait ou une prise de vue en intérieur
photo
Photographie extérieure, avec éclairage naturel
drawing
Dessin à main levée ou au trait, avec des détails à fort contraste
icon
Images colorées de petite taille
text
De type texte
9.19 libx264, libx264rgb
Wrapper de l'encoder x264 pour H.264/MPEG-4 AVC.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libx264 lors de la configuration. Vous devez configurer explicitement le build avec --enable-libx264.
libx264 prend en charge un nombre impressionnant de fonctionnalités, notamment la transformée spatiale adaptative 8x8 et 4x4, le placement adaptatif des images B, le codage entropique CAVLC/CABAC, l'entrelacement (MBAFF), le mode sans perte, ainsi que les optimisations psychovisuelles pour la préservation des détails (quantification adaptative, psy-RD, psy-trellis).
De nombreuses options de l'encoder libx264 sont associées à des options de codec globales de FFmpeg, tandis que les options propres à cet encoder sont fournies via des options privées. De plus, les options privées x264opts et x264-params permettent de transmettre une liste de couples key=value telle qu'acceptée par la fonction x264_param_parse de libx264.
Le site du projet x264 se trouve à l'adresse http://www.videolan.org/developers/x264.html.
L'encoder libx264rgb est identique à libx264, si ce n'est qu'il accepte en entrée des pixel format RGB packed au lieu de YUV.
9.19.1 Pixel Formats pris en charge
x264 prend en charge les espaces colorimétriques de 8 à 10 bits. La profondeur de bits exacte est déterminée au moment du configure de x264.
9.19.2 Options
Les options suivantes sont prises en charge par l'encapsulateur libx264. Les options ou valeurs équivalentes de x264 sont indiquées entre parenthèses afin de faciliter la migration.
Afin de réduire la duplication de la documentation, seules les options privées et quelques autres nécessitant une attention particulière sont documentées ici. Pour la documentation des options génériques non décrites ici, consultez le chapitre Codec Options.
Pour obtenir une documentation plus précise et plus complète des options de libx264, exécutez la commande x264 --fullhelp ou consultez la documentation de libx264.
Dans la liste ci-dessous, notez que le nom de l'option x264 est indiqué entre parenthèses après le nom correspondant dans libavcodec, lorsqu'une correspondance directe existe.
b (bitrate)
Définit le débit binaire en bits/s. Notez que l'option b de FFmpeg s'exprime en bits/s, alors que le bitrate de x264 s'exprime en kilobits/s.
bf (bframes)
Nombre d'images B entre les images I et P
g (keyint)
Taille maximale du GOP
qmin (qpmin)
Échelle de quantification minimale
qmax (qpmax)
Échelle de quantification maximale
qdiff (qpstep)
Différence maximale entre les échelles de quantification
qblur (qblur)
Flou de la courbe de quantification
qcomp (qcomp)
Facteur de compression de la courbe de quantification
refs (ref)
Nombre d'images de référence que chaque image P peut utiliser. La plage est de 0 à 16.
level (level)
Définit la valeur x264_param_t.i_level_idc si la valeur est positive ; sinon, elle est ignorée.
Cette valeur peut être définie via l'API AVCodecContext (par exemple en définissant directement la valeur d'AVCodecContext), et se spécifie comme un entier associé à un niveau correspondant (par exemple, la valeur 31 correspond au niveau IDC H.264 "3.1", tel que défini dans la table x264_levels). Elle est ignorée lorsqu'elle est définie à une valeur non positive.
Elle peut également être définie comme option privée, ce qui remplace la valeur définie dans AVCodecContext ; dans ce cas, elle doit être spécifiée sous la forme de l'identifiant de niveau IDC (par exemple "3.1"), tel que défini par l'Annexe A de H.264.
sc_threshold (scenecut)
Définit le seuil de détection des changements de scène.
trellis (trellis)
Effectue une quantification Trellis afin d'augmenter l'efficacité. Activé par défaut.
nr (nr)
Réduction du bruit
me_range (merange)
Portée maximale de la recherche de mouvement, en pixels.
me_method (me)
Définit la méthode d'estimation de mouvement. Les valeurs possibles, classées par ordre de vitesse décroissante, sont :
‘dia (dia)’ ‘epzs (dia)’
Recherche en diamant avec un rayon de 1 (la plus rapide). ‘epzs’ est un alias de ‘dia’.
‘hex (hex)’
Recherche hexagonale avec un rayon de 2.
‘umh (umh)’
Recherche multi-hexagonale irrégulière.
‘esa (esa)’
Recherche exhaustive.
‘tesa (tesa)’
Recherche exhaustive de Hadamard (la plus lente).
forced-idr
Normalement, lorsqu'un type d'image I est forcé, l'encoder peut choisir n'importe quel type d'image I. Cette option le force à choisir une image IDR.
subq (subme)
Méthode d'estimation de mouvement sous-pixellique.
b_strategy (b-adapt)
Algorithme de décision pour le placement adaptatif des images B. Utilisé uniquement lors de la première passe.
keyint_min (min-keyint)
Taille minimale du GOP.
coder
Définit l'encoder entropique. Les valeurs possibles sont :
‘ac’
Active CABAC.
‘vlc’
Active CAVLC et désactive CABAC. Cela produit le même effet que l'option --no-cabac de x264.
cmp
Définit l'algorithme de comparaison pour l'estimation de mouvement en pixels entiers. Les valeurs possibles sont :
‘chroma’
Active la chrominance dans l'estimation de mouvement.
‘sad’
Ignore la chrominance dans l'estimation de mouvement. Cela produit le même effet que l'option --no-chroma-me de x264.
threads (threads)
Nombre de threads d'encodage.
thread_type
Définit la technique de multithreading. Les valeurs possibles sont :
‘slice’
Multithreading par tranches. Cela produit le même effet que l'option --sliced-threads de x264.
‘frame’
Multithreading par image.
flags
Définit les indicateurs d'encodage. Cette option permet de désactiver le GOP fermé et d'activer le GOP ouvert en la réglant sur -cgop. Le résultat est similaire au comportement de l'option --open-gop de x264.
rc_init_occupancy (vbv-init)
Occupation initiale du tampon VBV
preset (preset)
Définit le préréglage d'encodage.
tune (tune)
Définit le réglage (tune) des paramètres d'encodage.
profile (profile)
Définit les restrictions de profil.
fastfirstpass
Activé à 1, active des réglages rapides lors de l'encodage de la première passe. Réglé à 0, cela produit le même effet que l'option --slow-firstpass de x264.
crf (crf)
Définit la qualité pour le mode de qualité constante.
crf_max (crf-max)
En mode CRF, empêche le VBV d'abaisser la qualité au-delà de ce point.
qp (qp)
Définit le paramètre de la méthode de contrôle de débit par quantification constante.
aq-mode (aq-mode)
Définit la méthode d'AQ. Les valeurs possibles sont :
‘none (0)’
Désactivé.
‘variance (1)’
AQ de variance (masque de complexité).
‘autovariance (2)’
AQ de variance automatique (expérimental).
aq-strength (aq-strength)
Définit l'intensité de l'AQ, ce qui réduit les effets de blocs et le flou dans les zones plates et texturées.
psy
Réglé à 1, utilise les optimisations psychovisuelles. Réglé à 0, cela produit le même effet que l'option --no-psy de x264.
psy-rd (psy-rd)
Définit l'intensité de l'optimisation psychovisuelle, au format psy-rd:psy-trellis.
rc-lookahead (rc-lookahead)
Définit le nombre d'images à anticiper pour le type d'image et le contrôle de débit.
weightb
Réglé à 1, active la prédiction pondérée pour les images B. Réglé à 0, cela produit le même effet que l'option --no-weightb de x264.
weightp (weightp)
Définit la méthode de prédiction pondérée pour les images P. Les valeurs possibles sont :
‘none (0)’
Désactivé
‘simple (1)’
Active uniquement les références pondérées
‘smart (2)’
Active à la fois les références pondérées et les duplicatas
ssim (ssim)
Active le calcul et l'affichage des statistiques SSIM après l'encodage.
intra-refresh (intra-refresh)
Réglé à 1, active l'utilisation du rafraîchissement Intra périodique (Periodic Intra Refresh) à la place des images IDR.
avcintra-class (class)
Configure l'encoder pour générer de l'AVC-Intra. Les valeurs valides sont 50, 100 et 200
bluray-compat (bluray-compat)
Configure l'encoder pour qu'il soit compatible avec la norme Blu-ray. Il s'agit d'un raccourci pour définir "bluray-compat=1 force-cfr=1".
b-bias (b-bias)
Définit l'influence sur la fréquence d'utilisation des images B.
b-pyramid (b-pyramid)
Définit la méthode de conservation de certaines images B comme références. Les valeurs possibles sont :
‘none (none)’
Désactivé.
‘strict (strict)’
Pyramide strictement hiérarchique.
‘normal (normal)’
Non stricte (incompatible avec le Blu-ray).
mixed-refs
Réglé à 1, active l'utilisation d'une référence par partition, plutôt qu'une référence par macrobloc. Réglé à 0, cela produit le même effet que l'option --no-mixed-refs de x264.
8x8dct
Réglé à 1, active la transformée spatiale adaptative (transformée 8x8 du profil high). Réglé à 0, cela produit le même effet que l'option --no-8x8dct de x264.
fast-pskip
Réglé à 1, active la détection précoce de SKIP sur les images P. Réglé à 0, cela produit le même effet que l'option --no-fast-pskip de x264.
aud (aud)
Réglé à 1, active l'utilisation des délimiteurs d'unité d'accès.
mbtree
Réglé à 1, active le contrôle de débit par arbre de macroblocs. Réglé à 0, cela produit le même effet que l'option --no-mbtree de x264.
deblock (deblock)
Définit les paramètres du filtre de boucle, au format alpha:beta.
cplxblur (cplxblur)
Définit la réduction des fluctuations du QP (avant la compression de la courbe).
partitions (partitions)
Définit les partitions à prendre en compte sous la forme d'une liste de valeurs séparées par des virgules. Les valeurs possibles dans la liste sont :
‘p8x8’
Partition d'image P en 8x8.
‘p4x4’
Partition d'image P en 4x4.
‘b8x8’
Partition d'image B en 4x4.
‘i8x8’
Partition d'image I en 8x8.
‘i4x4’
Partition d'image I en 4x4. (Pour activer ‘p4x4’, ‘p8x8’ doit être activé. Pour activer ‘i8x8’, la transformée spatiale adaptative (option 8x8dct) doit être activée.)
‘none (none)’
Ne prend en compte aucune partition.
‘all (all)’
Prend en compte toutes les partitions.
direct-pred (direct)
Définit le mode de prédiction MV directe. Les valeurs possibles sont :
‘none (none)’
Désactive la prédiction MV.
‘spatial (spatial)’
Active la prédiction spatiale.
‘temporal (temporal)’
Active la prédiction temporelle.
‘auto (auto)’
Décidé automatiquement.
slice-max-size (slice-max-size)
Définit la limite de taille de chaque tranche, en octets. Si elle n'est pas spécifiée mais que la taille de charge utile RTP (ps) l'est, c'est cette dernière qui est utilisée.
stats (stats)
Définit le nom de fichier des statistiques multipasse.
nal-hrd (nal-hrd)
Définit la signalisation des informations HRD (nécessite que vbv-bufsize soit défini). Les valeurs possibles sont :
‘none (none)’
Désactive la signalisation des informations HRD.
‘vbr (vbr)’
Débit binaire variable.
‘cbr (cbr)’
Débit binaire constant (non autorisé dans un container MP4).
x264opts opts x264-params opts
Remplace la configuration de x264 à l'aide d'une liste d'options key=value séparées par des deux-points.
L'argument de ces deux options est une liste de couples key=value séparés par ":". Avec x264opts, la valeur peut être omise ; dans ce cas, la valeur 1 est supposée.
Pour les valeurs des options filter et psy-rd qui utilisent elles-mêmes ":" comme séparateur, utilisez "," à la place. Elles l'acceptent également depuis longtemps, mais cela reste non documenté pour une raison inconnue.
Par exemple, les options peuvent être fournies comme suit :
level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subq=6:8x8dct=0:trellis=0
Par exemple, pour spécifier des options d'encodage libx264 avec ffmpeg :
ffmpeg -i foo.mpg -c:v libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
Pour obtenir la liste complète des options de libx264, exécutez la commande x264 --fullhelp ou consultez la documentation de libx264.
a53cc boolean
Importe les sous-titres codés (closed captions, qui doivent être dans un format compatible ATSC) dans la sortie. Seuls les decoders mpeg2 et h264 les fournissent. La valeur par défaut est 1 (activé).
udu_sei boolean
Importe les SEI de données utilisateur non enregistrées, si disponibles, dans la sortie. La valeur par défaut est 0 (désactivé).
mb_info boolean
Définit les données mb_info via AVFrameSideData ; utile uniquement lors d'une utilisation depuis l'API. La valeur par défaut est 0 (désactivé).
Des ffpresets d'encodage pour les usages courants sont fournis afin de pouvoir être utilisés avec le système de préréglages général (par exemple en passant l'option pre).
9.20 libx265
Wrapper de l'encoder x265 pour H.265/HEVC.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libx265 lors de la configuration. Vous devez configurer explicitement le build avec --enable-libx265.
9.20.1 Options
b
Définit le débit binaire vidéo cible.
bf g
Définit la taille du GOP.
keyint_min
Taille minimale du GOP.
refs
Nombre d'images de référence que chaque image P peut utiliser. La plage va de 1 à 16.
preset
Définit le préréglage x265.
tune
Définit le paramètre tune de x265.
profile
Définit les restrictions de profil.
crf
Définit la qualité pour le mode de qualité constante.
qp
Définit le paramètre de la méthode de contrôle de débit par quantification constante.
qmin
Échelle de quantification minimale.
qmax
Échelle de quantification maximale.
qdiff
Différence maximale entre les échelles de quantification.
qblur
Flou de la courbe de quantification
qcomp
Facteur de compression de la courbe de quantification
i_qfactor b_qfactor forced-idr
Normalement, lorsqu'un type d'image I est forcé, l'encoder peut choisir n'importe quel type d'image I. Cette option le force à choisir une image IDR.
x265-stats
Spécifie le nom de fichier des statistiques de la passe 2. Cette valeur est définie automatiquement lors de l'utilisation de l'option -passlogfile.
udu_sei boolean
Importe les SEI de données utilisateur non enregistrées, si disponibles, dans la sortie. La valeur par défaut est 0 (désactivé).
x265-params
Définit les options de x265 à l'aide d'une liste de couples key=value séparés par ":". Consultez x265 --help pour la liste des options.
Par exemple, pour spécifier des options d'encodage libx265 avec -x265-params :
ffmpeg -i input -c:v libx265 -x265-params crf=26:psy-rd=1 output.mp4
9.21 libxavs2
Wrapper de l'encoder xavs2 pour AVS2-P2/IEEE1857.4.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libxavs2 lors de la configuration. Vous devez configurer explicitement le build avec --enable-libxavs2.
Les options standard suivantes de libavcodec sont utilisées :
- b / bit_rate
- g / gop_size
- bf / max_b_frames
Cet encoder possède également ses propres options spécifiques :
9.21.1 Options
lcu_row_threads
Définit le nombre de threads parallèles pour les lignes, de 1 à 8 (valeur par défaut 5).
initial_qp
Définit le paramètre de quantification de xavs2, de 1 à 63 (valeur par défaut 34). Cela permet de définir le qp initial pour la première image.
qp
Définit le paramètre de quantification de xavs2, de 1 à 63 (valeur par défaut 34). Cela permet de définir la valeur de qp en mode QP constant.
max_qp
Définit le qp maximal pour le contrôle de débit, de 1 à 63 (valeur par défaut 55).
min_qp
Définit le qp minimal pour le contrôle de débit, de 1 à 63 (valeur par défaut 20).
speed_level
Définit le niveau de vitesse, de 0 à 9 (valeur par défaut 0). Plus il est élevé, meilleure est la qualité, mais plus l'encodage est lent.
log_level
Définit le niveau de journalisation, de -1 à 3 (valeur par défaut 0). -1 : aucun, 0 : erreur, 1 : avertissement, 2 : information, 3 : débogage.
xavs2-params
Définit les options de xavs2 à l'aide d'une liste de couples key=value séparés par ":".
Par exemple, pour spécifier des options d'encodage libxavs2 avec -xavs2-params :
ffmpeg -i input -c:v libxavs2 -xavs2-params RdoqLevel=0 output.avs2
9.22 libxeve
Wrapper pour l'encoder MPEG-5 EVC eXtra-fast Essential Video Encoder (XEVE). Les options ou valeurs équivalentes de xeve sont indiquées entre parenthèses pour faciliter la migration.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libxeve lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libxeve.
De nombreuses options de l'encoder libxeve sont associées aux options codec globales de FFmpeg, tandis que les options propres à l'encoder sont fournies via des options privées. En outre, l'option privée xeve-params permet de passer une liste de couples key=value acceptés par la fonction parse_xeve_params de libxeve.
Le site du projet xeve se trouve à l'adresse https://github.com/mpeg5/xeve.
9.22.1 Options
Le wrapper libxeve prend en charge les options suivantes. Les options ou valeurs équivalentes de xeve sont indiquées entre parenthèses pour faciliter la migration.
Pour réduire la duplication de la documentation, seules les options privées et quelques autres nécessitant une attention particulière sont documentées ici. Pour la documentation des options génériques non documentées, voir le chapitre Codec Options.
Pour obtenir une documentation plus précise et plus complète des options de libxeve, exécutez la commande xeve_app --help ou consultez la documentation de libxeve.
b (bitrate)
Définit le débit binaire vidéo cible en bits/s. Notez que l'option b de FFmpeg s'exprime en bits/s, alors que le débit binaire de xeve est en kilobits/s.
bf (bframes)
Définit le nombre maximal d'images B (1, 3, 7, 15).
g (keyint)
Définit la taille du GOP (période entre images I).
preset (preset)
Définit le préréglage de xeve. Définit la valeur du préréglage de l'encoder pour déterminer la vitesse d'encodage [fast, medium, slow, placebo]
tune (tune)
Définit le paramètre tune de l'encoder [psnr, zerolatency]
profile (profile)
Définit le profil de l'encoder [0: baseline; 1: main]
crf (crf)
Définit la qualité pour le mode de qualité constante. Constant rate factor <10..49> [par défaut : 32]
qp (qp)
Définit le paramètre de la méthode de contrôle de débit à quantification constante. Quantization parameter qp <0..51> [par défaut : 32]
threads (threads)
Force l'utilisation d'un nombre spécifique de threads.
9.23 libxvid
Wrapper de l'encoder MPEG-4 Part 2 Xvid.
Cet encoder nécessite la présence des en-têtes et de la bibliothèque libxvidcore lors de la configuration. Vous devez configurer explicitement la compilation avec --enable-libxvid --enable-gpl.
L'encoder natif mpeg4 prend en charge le format MPEG-4 Part 2, ce qui permet d'encoder dans ce format sans cette bibliothèque.
9.23.1 Options
Le wrapper libxvid prend en charge les options suivantes. Certaines des options ci-dessous sont mentionnées mais non documentées, car elles correspondent à des options codec partagées. Voir le chapitre Codec Options pour leur documentation. Les autres options partagées qui ne sont pas mentionnées n'ont aucun effet sur l'encoder libxvid.
b g qmin qmax mpeg_quant threads bf b_qfactor b_qoffset flags
Définit des indicateurs d'encodage spécifiques. Valeurs possibles :
‘mv4’
Utilise quatre vecteurs de mouvement par macrobloc.
‘aic’
Active la prédiction AC haute qualité.
‘gray’
N'encode qu'en niveaux de gris.
‘qpel’
Active la compensation de mouvement au quart de pixel.
‘cgop’
Active le GOP fermé.
‘global_header’
Place les en-têtes globaux dans extradata plutôt que dans chaque keyframe.
gmc
Active l'utilisation de la compensation de mouvement globale (GMC). La valeur par défaut est 0 (désactivé).
me_quality
Définit le niveau de qualité de l'estimation de mouvement. Valeurs possibles, par ordre décroissant de vitesse et croissant de qualité :
‘0’
N'utilise aucune estimation de mouvement (valeur par défaut).
‘1, 2’
Active la recherche zonale en losange avancée pour les blocs 16x16 et l'affinement au demi-pixel pour les blocs 16x16.
‘3, 4’
Active tout ce qui est décrit ci-dessus, plus la recherche zonale en losange avancée pour les blocs 8x8 et l'affinement au demi-pixel pour les blocs 8x8, et active également l'estimation de mouvement sur les plans de chrominance pour les images P et B.
‘5, 6’
Active tout ce qui est décrit ci-dessus, plus une recherche étendue sur les blocs 16x16 et 8x8.
mbd
Définit l'algorithme de décision des macroblocs. Valeurs possibles, par ordre croissant de qualité :
‘simple’
Utilise l'algorithme de comparaison de macroblocs (valeur par défaut).
‘bits’
Active l'affinement au demi-pixel et au quart de pixel basé sur la distorsion de débit pour les blocs 16x16.
‘rd’
Active tout ce qui est décrit ci-dessus, plus l'affinement au demi-pixel et au quart de pixel basé sur la distorsion de débit pour les blocs 8x8, ainsi qu'une recherche basée sur la distorsion de débit utilisant un motif carré.
lumi_aq
Active la quantification adaptative par masquage de luminance lorsque la valeur est 1. La valeur par défaut est 0 (désactivé).
variance_aq
Active la quantification adaptative par variance lorsque la valeur est 1. La valeur par défaut est 0 (désactivé).
Combinée à lumi_aq, la qualité obtenue n'est pas meilleure que celle de chacune des deux options prises isolément. Autrement dit, la qualité obtenue correspond au moins bon des deux effets.
trellis
Définit la quantification optimale en distorsion de débit.
ssim
Définit la méthode d'affichage de la similarité structurelle (SSIM). Valeurs possibles :
‘off’
Désactive l'affichage des informations SSIM.
‘avg’
Affiche le SSIM moyen sur la sortie standard à la fin de l'encodage. Le format d'affichage du SSIM moyen est le suivant :
Average SSIM: %f
Pour les personnes peu familières du C, %f représente un nombre à virgule flottante, c'est-à-dire un nombre décimal (par exemple 0.939232).
‘frame’
Affiche à la fois les données SSIM par image pendant l'encodage et le SSIM moyen sur la sortie standard à la fin de l'encodage. Le format des informations par image est le suivant :
SSIM: avg: %1.3f min: %1.3f max: %1.3f
Pour les personnes peu familières du C, %1.3f représente un nombre à virgule flottante arrondi à 3 chiffres après le point (par exemple 0.932).
ssim_acc
Définit la précision du SSIM. Les valeurs valides sont des entiers compris entre 0 et 4, 0 donnant le résultat le plus précis et 4 le calcul le plus rapide.
9.24 MediaCodec
Le wrapper d'encoder MediaCodec permet l'encodage vidéo à accélération matérielle sur les appareils Android. Il prend en charge l'encodage H.264, H.265 (HEVC), VP8, VP9, MPEG-4 et AV1 (le bon fonctionnement dépend de l'appareil).
Android propose deux jeux d'API : Java MediaCodec et NDK MediaCodec. Le wrapper d'encoder MediaCodec prend en charge les deux. Notez que l'API NDK MediaCodec fonctionne sans nécessiter de JVM, mais qu'elle peut ne pas fonctionner en dehors de l'environnement JVM en raison de dépendances envers les services du framework système, en particulier depuis Android 15.
ndk_codec boolean
Utilise l'API MediaCodec basée sur le NDK plutôt que l'API Java. Activée par défaut si av_jni_get_java_vm() renvoie NULL.
ndk_async boolean
Utilise NDK MediaCodec en mode asynchrone. Le mode asynchrone génère moins de surcharge que l'interrogation en boucle du mode synchrone. L'inconvénient du mode asynchrone est qu'AV_CODEC_FLAG_GLOBAL_HEADER ne fonctionne pas (utilisez le bsf extract_extradata si nécessaire). Il ne fonctionne pas et est désactivé automatiquement sur les appareils antérieurs à Android 8.0.
codec_name string
Un même type de codec peut avoir plusieurs implémentations sur un même appareil ; cette option permet de spécifier le backend à utiliser (via l'API MediaCodec createCodecByName). Elle vaut NULL par défaut, auquel cas l'encoder est créé via createEncoderByType.
bitrate_mode integer
Valeurs possibles :
‘cq’
Mode de qualité constante
‘vbr’
Mode de débit binaire variable
‘cbr’
Mode de débit binaire constant
‘cbr_fd’
Mode de débit binaire constant avec pertes d'images
pts_as_dts boolean
Utilise PTS comme DTS. Il s'agit d'un contournement, car l'API MediaCodec ne fournit pas d'horodatage de décodage. Cette option est activée automatiquement si le nombre d'images B est 0.
operating_rate integer
Débit de fonctionnement souhaité auquel le codec doit fonctionner ; zéro pour non spécifié. Cette option s'utilise dans des cas comme la capture vidéo à grande vitesse ou au ralenti, où le format de l'encoder vidéo contient le débit de lecture cible (par exemple 30fps), mais où le composant doit pouvoir gérer un débit de capture élevé (par exemple 240fps). Ce débit est utilisé par le codec pour la planification des ressources et le réglage des points de fonctionnement.
qp_i_min integer
Paramètre de quantification minimal pour les images I.
qp_p_min integer
Paramètre de quantification minimal pour les images P.
qp_b_min integer
Paramètre de quantification minimal pour les images B.
qp_i_max integer
Paramètre de quantification maximal pour les images I.
qp_p_max integer
Paramètre de quantification maximal pour les images P.
qp_b_max integer
Paramètre de quantification maximal pour les images B.
9.25 MediaFoundation
Les wrappers suivants pour les encoders du framework MediaFoundation sont disponibles :
- h264_mf
- hevc_mf
- av1_mf
Ils prennent en charge à la fois l'encodage logiciel et matériel.
Les encoders vidéo peuvent recevoir une entrée au format nv12 ou yuv420p (certains encoders prennent en charge les deux, d'autres un seul des deux ; en pratique, nv12 est le choix le plus sûr, en particulier parmi les encoders matériels).
L'encodage à accélération matérielle nécessite D3D11, y compris les fonctionnalités de mise à l'échelle matérielle via le filtre scale_d3d11.
Pour lister toutes les options disponibles des encoders MediaFoundation, utilisez : ffmpeg -h encoder=<encoder>, par exemple ffmpeg -h encoder=h264_mf
9.25.1 Options
rate_control
Sélectionne le mode de contrôle de débit. Modes disponibles :
‘default’
Mode par défaut
‘cbr’
Mode CBR
‘pc_vbr’
Mode VBR à crête contrainte
‘u_vbr’
Mode VBR sans contrainte
‘quality’
Mode qualité
‘ld_vbr’
Mode VBR à faible latence (nécessite Windows 8 ou supérieur)
‘g_vbr’
Mode VBR global (nécessite Windows 8 ou supérieur)
‘gld_vbr’
Mode VBR global à faible latence (nécessite Windows 8 ou supérieur)
scenario
Sélectionne le scénario d'utilisation. Scénarios disponibles :
‘default’
Scénario par défaut
‘display_remoting’
Scénario d'affichage déporté
‘video_conference’
Scénario de visioconférence
‘archive’
Scénario d'archivage
‘live_streaming’
Scénario de diffusion en direct
‘camera_record’
Scénario d'enregistrement caméra
‘display_remoting_with_feature_map’
Scénario de télégestion d'affichage avec carte de fonctionnalités
quality
Définit la qualité d'encodage (0-100). -1 signifie la qualité par défaut.
hw_encoding
Force l'encodage matériel (0-1). La valeur par défaut est 0 (désactivé).
9.25.2 Exemples
Encodage matériel :
ffmpeg -i input.mp4 -c:v h264_mf -hw_encoding 1 output.mp4
Décodage à accélération matérielle avec encodage matériel :
ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 output.mp4
Décodage à accélération matérielle, mise à l'échelle matérielle et encodage avec réglage de la qualité :
ffmpeg -hwaccel d3d11va -hwaccel_output_format d3d11 -i input.mp4 -vf scale_d3d11=1920:1080 -c:v hevc_mf -hw_encoding 1 -quality 80 output.mp4
9.26 Microsoft RLE
Encoder Microsoft RLE, également appelé MSRLE. Seul le mode palette 8 bits est pris en charge. Compatible avec Windows 3.1 et Windows 95.
9.26.1 Options
g integer
Intervalle entre keyframes. Une keyframe est insérée au moins toutes les -g images, parfois plus tôt.
9.27 mpeg2
Encoder vidéo MPEG-2.
9.27.1 Options
profile
Sélectionne le profil mpeg2 à utiliser pour l'encodage :
‘422’ ‘high’ ‘ss’
Extensible spatialement (Spatially Scalable)
‘snr’
Extensible en SNR (SNR Scalable)
‘main’ ‘simple’ level
Sélectionne le niveau mpeg2 à utiliser pour l'encodage :
‘high’ ‘high1440’ ‘main’ ‘low’ seq_disp_ext integer
Indique si l'encoder doit écrire une sequence_display_extension dans la sortie.
-1 auto
Décide automatiquement de l'écrire ou non (c'est le comportement par défaut) en vérifiant si les données à écrire diffèrent des valeurs par défaut ou non spécifiées.
0 never
Ne l'écrit jamais.
1 always
L'écrit toujours.
video_format integer
Indique le video_format écrit dans la sequence display extension pour préciser l'origine des images vidéo. La valeur par défaut est ‘unspecified’, et peut être ‘component’, ‘pal’, ‘ntsc’, ‘secam’ ou ‘mac’. Pour une compatibilité maximale, utilisez ‘component’.
a53cc boolean
Importe les sous-titres codés (closed captions, qui doivent être dans un format compatible ATSC) dans la sortie. La valeur par défaut est 1 (activé).
9.28 png
Encoder d'images PNG.
9.28.1 Options
compression_level
Définit le niveau de compression, de 0 à 9 (valeur par défaut)
9.28.2 Options privées
dpi integer
Définit la densité physique des pixels, en points par pouce ; non définie par défaut
dpm integer
Définit la densité physique des pixels, en points par mètre ; non définie par défaut
pred method
Définit la méthode de prédiction (none, sub, up, avg, paeth, mixed) ; la valeur par défaut est paeth
9.29 ProRes
Encoder Apple ProRes.
FFmpeg contient 2 encoders ProRes, prores-aw et prores-ks. L'encoder utilisé peut se choisir avec l'option -vcodec.
9.29.1 Options privées pour prores-ks
profile integer
Sélectionne le profil ProRes à utiliser pour l'encodage
‘proxy’ ‘lt’ ‘standard’ ‘hq’ ‘4444’ ‘4444xq’ quant_mat integer
Sélectionne la matrice de quantification.
‘auto’ ‘default’ ‘proxy’ ‘lt’ ‘standard’ ‘hq’
Si la valeur est auto, la matrice correspondant au profil est choisie. Si elle n'est pas définie, c'est la matrice offrant la meilleure qualité, default, qui est choisie.
bits_per_mb integer
Nombre de bits à allouer pour coder un macrobloc. Les différents profils utilisent entre 200 et 2400 bits par macrobloc, le maximum étant 8000.
mbs_per_slice integer
Nombre de macroblocs par slice (1-8) ; la valeur par défaut (8) convient dans presque toutes les situations.
vendor string
Remplace l'identifiant fournisseur sur 4 octets. Un identifiant fournisseur personnalisé comme apl0 laisserait croire que le flux a été produit par l'encoder Apple.
alpha_bits integer
Spécifie le nombre de bits pour la composante alpha. Les valeurs possibles sont 0, 8 et 16. Utilisez 0 pour désactiver le codage du plan alpha.
9.29.2 Considérations de vitesse
Dans le mode de fonctionnement par défaut, l'encoder doit respecter les contraintes de taille d'image (c'est-à-dire ne pas produire d'images plus grandes que demandé) tout en produisant une image de sortie aussi bonne que possible. Une image contenant beaucoup de petits détails est plus difficile à compresser, et l'encoder passe alors plus de temps à rechercher les quantificateurs appropriés pour chaque slice.
Définir une limite bits_per_mb plus élevée améliore la vitesse.
Pour obtenir la vitesse d'encodage la plus rapide, définissez le paramètre qscale (4 est la valeur recommandée) et ne définissez pas de contrainte de taille.
9.30 Encoders QSV
La famille des encoders Intel QuickSync Video (MPEG-2, H.264, HEVC, JPEG/MJPEG, VP9, AV1)
9.30.1 Méthode de contrôle de débit
La méthode de contrôle de débit est sélectionnée de la façon suivante :
- Lorsque global_quality est spécifié, un mode basé sur la qualité est utilisé. Concrètement, cela signifie soit
- - CQP - échelle de quantification constante, lorsque l'indicateur codec qscale est également défini (l'option ffmpeg -qscale).
- - LA_ICQ - qualité constante intelligente avec anticipation (lookahead), lorsque l'option look_ahead est également définie.
- - ICQ – qualité constante intelligente dans les autres cas. Pour les modes ICQ, la plage de global quality va de 1 à 51, 1 étant la meilleure qualité.
- Sinon, lorsque le débit binaire moyen souhaité est spécifié avec l'option b, un mode basé sur le débit binaire est utilisé.
- - LA - VBR avec anticipation (lookahead), lorsque l'option look_ahead est spécifiée.
- - VCM - mode de visioconférence, lorsque l'option vcm est définie.
- - CBR - débit binaire constant, lorsque maxrate est spécifié et égal au débit binaire moyen.
- - VBR - débit binaire variable, lorsque maxrate est spécifié mais supérieur au débit binaire moyen.
- - AVBR - mode VBR moyen, lorsque maxrate n'est pas spécifié et que avbr_accuracy et avbr_convergence sont tous deux définis à une valeur non nulle. Ce mode est disponible pour H264 et HEVC sous Windows.
- Sinon, la méthode de contrôle de débit par défaut CQP est utilisée.
Notez que, selon votre système, l'encoder peut sélectionner un mode différent de celui que vous avez spécifié. Réglez le niveau de verbosité sur verbose ou supérieur pour voir les réglages réellement utilisés par le runtime QSV.
9.30.2 Options globales -> Options MSDK
Des options globales supplémentaires de libavcodec sont associées à des options MSDK comme suit :
- g/gop_size -> GopPicSize
- bf/max_b_frames+1 -> GopRefDist
- rc_init_occupancy/rc_initial_buffer_occupancy -> InitialDelayInKB
- slices -> NumSlice
- refs -> NumRefFrame
- b_strategy/b_frame_strategy -> BRefType
- indicateur codec cgop/CLOSED_GOP -> GopOptFlag
- Pour le mode CQP, i_qfactor/i_qoffset et b_qfactor/b_qoffset définissent respectivement la différence entre QPP et QPI, et entre QPP et QPB.
- Définir l'option coder sur la valeur vlc fait que l'encoder H.264 utilise CAVLC au lieu de CABAC.
9.30.3 Options communes
Les options suivantes sont utilisées par tous les encoders qsv.
async_depth
Indique le nombre d'opérations asynchrones que l'application effectue avant de synchroniser explicitement le résultat. Si la valeur est zéro, elle n'est pas spécifiée.
preset
Cette option énumère une plage de choix allant de veryfast (meilleure vitesse) à veryslow (meilleure qualité).
‘veryfast’ ‘faster’ ‘fast’ ‘medium’ ‘slow’ ‘slower’ ‘veryslow’ forced_idr
Force les images I à être des images IDR.
low_power
Pour les encoders, réglez cet indicateur sur ON afin de réduire la consommation d'énergie et l'utilisation du GPU.
9.30.4 Options d'exécution
Les options suivantes peuvent être utilisées pendant l'encodage qsv.
global_quality i_quant_factor i_quant_offset b_quant_factor b_quant_offset
Pris en charge dans h264_qsv et hevc_qsv. Modifiez ces valeurs pour réinitialiser la configuration qp du codec qsv.
max_frame_size
Pris en charge dans h264_qsv et hevc_qsv. Modifiez cette valeur pour réinitialiser la configuration MaxFrameSize du codec qsv.
gop_size
Modifiez cette valeur pour réinitialiser la configuration gop du codec qsv.
int_ref_type int_ref_cycle_size int_ref_qp_delta int_ref_cycle_dist
Pris en charge dans h264_qsv et hevc_qsv. Modifiez ces valeurs pour réinitialiser la configuration Intra Refresh du codec qsv.
qmax qmin max_qp_i min_qp_i max_qp_p min_qp_p max_qp_b min_qp_b
Pris en charge dans h264_qsv. Modifiez ces valeurs pour réinitialiser la configuration qp max/min du codec qsv.
low_delay_brc
Pris en charge dans h264_qsv, hevc_qsv et av1_qsv. Modifiez cette valeur pour réinitialiser la configuration low_delay_brc du codec qsv.
framerate
Modifiez cette valeur pour réinitialiser la configuration framerate du codec qsv.
bit_rate rc_buffer_size rc_initial_buffer_occupancy rc_max_rate
Modifiez ces valeurs pour réinitialiser la configuration de contrôle du débit binaire du codec qsv.
pic_timing_sei
Pris en charge dans h264_qsv et hevc_qsv. Modifiez cette valeur pour réinitialiser la configuration pic_timing_sei du codec qsv.
qsv_params
Définit les paramètres de l'encoder QSV sous la forme d'une liste de paires clé-valeur séparées par des deux-points.
qsv_params doit être formaté comme key1=value1:key2=value2:....
Ces paramètres sont transmis directement à l'encoder Intel Quick Sync Video (QSV) sous-jacent via la fonction MFXSetParameter.
Exemple :
ffmpeg -i input.mp4 -c:v h264_qsv -qsv_params "CodingOption1=1:CodingOption2=2" output.mp4
Cette option permet un contrôle fin sur divers réglages spécifiques à l'encoder fournis par l'encoder QSV.
9.30.5 Options H264
Ces options sont utilisées par h264_qsv
extbrc
Contrôle de débit binaire étendu.
recovery_point_sei
Réglez cet indicateur pour insérer le message SEI de point de récupération au début de chaque cycle d'intra refresh.
rdo
Active l'optimisation de la distorsion de débit.
max_frame_size
Taille maximale de l'image encodée, en octets.
max_frame_size_i
Taille maximale de l'image encodée pour les images I, en octets. Si cette valeur est définie à un nombre supérieur à zéro, la valeur définie par max_frame_size est ignorée pour les images I.
max_frame_size_p
Taille maximale de l'image encodée pour les images P, en octets. Si cette valeur est définie à un nombre supérieur à zéro, la valeur définie par max_frame_size est ignorée pour les images P.
max_slice_size
Taille maximale de la slice encodée, en octets.
bitrate_limit
Active ou désactive les limitations de débit binaire. Modifie le débit binaire pour qu'il reste dans la plage imposée par l'encoder QSV. Désactiver cet indicateur peut entraîner une violation de la conformité HRD. Notez que spécifier un débit binaire inférieur à la plage de l'encoder QSV peut affecter significativement la qualité. Si l'indicateur est activé, cette option s'applique dans les modes autres que CQP : si le débit binaire n'est pas dans la plage imposée par l'encoder QSV, il est ramené dans cette plage.
mbbrc
Régler cet indicateur active le contrôle du débit binaire au niveau des macroblocs, ce qui améliore généralement la qualité visuelle subjective. Activer cet indicateur peut avoir un impact négatif sur les performances et sur les métriques objectives de qualité visuelle.
low_delay_brc
Régler cet indicateur active ou désactive la fonctionnalité LowDelayBRC du plugin qsv, qui offre un contrôle plus précis du débit binaire afin de minimiser la variation de la taille du bitstream d'une image à l'autre. Valeur : -1=défaut 0=off 1=on
adaptive_i
Cet indicateur contrôle l'insertion d'images I par l'encoder QSV. Réglez cet indicateur sur ON pour autoriser le changement de type d'image de P et B vers I.
adaptive_b
Cet indicateur contrôle le changement de type d'image de B vers P.
p_strategy
Active la P-pyramid : 0=défaut 1=simple 2=pyramid (bf doit être réglé sur 0).
b_strategy
Cette option contrôle l'utilisation des images B comme référence.
dblk_idc
Cette option désactive le déblocage. Sa valeur est comprise entre 0 et 2.
cavlc
Si l'option est définie, CAVLC est utilisé ; sinon, CABAC est utilisé pour l'encodage.
vcm
Mode de visioconférence, voir la méthode de contrôle de débit.
idr_interval
Distance (en images I) entre les images IDR.
pic_timing_sei
Insère un SEI de temporisation d'image (picture timing) avec l'élément pic_struct_syntax.
single_sei_nal_unit
Regroupe tous les messages SEI dans une seule NALU.
max_dec_frame_buffering
Nombre maximal d'images mises en tampon dans le DPB.
look_ahead
Utilise un algorithme VBR avec anticipation (look ahead).
look_ahead_depth
Profondeur de l'anticipation, en nombre d'images.
look_ahead_downsampling
Facteur de réduction d'échelle pour les images enregistrées pour l'analyse d'anticipation.
‘unknown’ ‘auto’ ‘off’ ‘2x’ ‘4x’ int_ref_type
Indique le type d'intra refresh. L'objectif principal de l'intra refresh est d'améliorer la résilience aux erreurs sans impact significatif sur la taille du bitstream encodé provoqué par les images I. L'encoder SDK y parvient en encodant une partie de chaque image du cycle de refresh à l'aide de MB intra. none signifie aucun refresh. vertical signifie un refresh vertical, par colonne de MB. horizontal signifie un refresh horizontal, par ligne de MB. slice signifie un refresh horizontal par slices sans chevauchement. Dans le cas de slice, in_ref_cycle_size est ignoré. Pour activer l'intra refresh, le nombre d'images B doit être réglé sur 0.
int_ref_cycle_size
Indique le nombre d'images dans le cycle de refresh, à partir de 2. 0 et 1 sont des valeurs invalides.
int_ref_qp_delta
Indique la différence de QP pour les MB intra insérés. Il s'agit d'une valeur signée comprise entre -51 et 51 si la profondeur de bits cible pour les échantillons de luminance est 8, entre -63 et 63 pour une profondeur de 10 bits, et entre -75 et 75 pour une profondeur de 12 bits.
int_ref_cycle_dist
Distance entre les débuts des cycles d'intra refresh, en images.
profile
‘unknown’ ‘baseline’ ‘main’ ‘high’ a53cc
Utilise les sous-titres codés A53 (Closed Captions), si disponibles.
aud
Insère le NAL de délimiteur d'unité d'accès.
mfmode
Mode multi-images (Multi-Frame Mode).
‘off’ ‘auto’ repeat_pps
Répète le pps pour chaque image.
max_qp_i
Échelle de quantification vidéo maximale pour les images I.
min_qp_i
Échelle de quantification vidéo minimale pour les images I.
max_qp_p
Échelle de quantification vidéo maximale pour les images P.
min_qp_p
Échelle de quantification vidéo minimale pour les images P.
max_qp_b
Échelle de quantification vidéo maximale pour les images B.
min_qp_b
Échelle de quantification vidéo minimale pour les images B.
scenario
Fournit à l'encoder une indication sur le scénario de la session d'encodage.
‘unknown’ ‘displayremoting’ ‘videoconference’ ‘archive’ ‘livestreaming’ ‘cameracapture’ ‘videosurveillance’ ‘gamestreaming’ ‘remotegaming’ avbr_accuracy
Précision du contrôle de débit AVBR (unité : dixième de pourcent).
avbr_convergence
Convergence du contrôle de débit AVBR (unité : 100 images)
Les paramètres avbr_accuracy et avbr_convergence concernent l'algorithme de contrôle de débit binaire variable moyen (AVBR). Cet algorithme privilégie la qualité globale de l'encodage tout en respectant le débit binaire spécifié, target_bitrate, dans la plage de précision avbr_accuracy, après une période avbr_Convergence. Cette méthode ne suit pas le HRD, et le débit binaire instantané n'est ni plafonné ni complété.
skip_frame
Utilise les métadonnées par image "qsv_skip_frame" pour ignorer une image lors de l'encodage. Cette option définit l'usage de ces métadonnées.
‘no_skip’
Le saut d'images est désactivé.
‘insert_dummy’
L'encoder insère dans le bitstream une image dont tous les macroblocs sont encodés comme ignorés.
‘insert_nothing’
Similaire à insert_dummy, mais l'encoder n'insère rien dans le bitstream. Les images ignorées sont tout de même utilisées dans le brc. Par exemple, le gop inclut toujours les images ignorées, et les images suivant les images ignorées sont plus grandes.
‘brc_only’
Les métadonnées skip_frame indiquent le nombre d'images manquées avant l'image courante.
9.30.6 Options HEVC
Ces options sont utilisées par hevc_qsv
extbrc
Contrôle de débit binaire étendu.
recovery_point_sei
Active l'insertion du message SEI de point de reprise au début de chaque cycle de rafraîchissement intra.
rdo
Active l'optimisation débit-distorsion.
max_frame_size
Taille maximale d'une image encodée, en octets.
max_frame_size_i
Taille maximale d'une image encodée pour les images I, en octets. Si cette valeur est définie à plus de zéro, la valeur définie par max_frame_size est ignorée pour les images I.
max_frame_size_p
Taille maximale d'une image encodée pour les images P, en octets. Si cette valeur est définie à plus de zéro, la valeur définie par max_frame_size est ignorée pour les images P.
max_slice_size
Taille maximale d'une tranche encodée, en octets.
mbbrc
Active le contrôle de débit binaire au niveau macrobloc, ce qui améliore généralement la qualité visuelle perçue. L'activation de cette option peut nuire aux performances et à la métrique de qualité visuelle objective.
low_delay_brc
Active ou désactive la fonctionnalité LowDelayBRC du plugin qsv, qui fournit un contrôle de débit binaire plus précis afin de minimiser la variation de la taille du bitstream image par image. Valeur : -1=par défaut 0=désactivé 1=activé
adaptive_i
Contrôle l'insertion des images I par l'encoder QSV. L'activation de cette option permet de faire passer le type d'image de P et B à I.
adaptive_b
Contrôle le passage du type d'image de B à P.
p_strategy
Active la pyramide P : 0=par défaut 1=simple 2=pyramid (bf doit être défini à 0).
b_strategy
Contrôle l'utilisation des images B comme référence.
dblk_idc
Désactive le filtrage de déblocage. La valeur est comprise entre 0 et 2.
idr_interval
Distance entre les images IDR, en nombre d'images I.
‘begin_only’
Ne produit une image IDR qu'au début du flux.
load_plugin
Plugin utilisateur à charger dans une session interne.
‘none’ ‘hevc_sw’ ‘hevc_hw’ load_plugins
Liste d'UID de plugins hexadécimaux séparés par des deux-points, à charger dans une session interne.
look_ahead_depth
Profondeur d'anticipation, en nombre d'images ; disponible lorsque l'option extbrc est activée.
profile
Définit le profil d'encodage (scc nécessite libmfx >= 1.32).
‘unknown’ ‘main’ ‘main10’ ‘mainsp’ ‘rext’ ‘scc’ tier
Définit le tier d'encodage (seul le niveau >= 4 peut prendre en charge le tier high). Cette option ne prend effet que si l'option level est spécifiée.
‘main’ ‘high’ gpb
1 : GPB (image P/B généralisée)
0 : image P normale.
tile_cols
Nombre de colonnes pour l'encodage en tuiles.
tile_rows
Nombre de lignes pour l'encodage en tuiles.
aud
Insère le NAL de délimiteur d'unité d'accès.
pic_timing_sei
Insère le SEI picture timing avec l'élément pic_struct_syntax.
transform_skip
Active transformskip. Prise en charge sur les plateformes égales ou postérieures à ICL.
int_ref_type
Spécifie le type de rafraîchissement intra. L'objectif principal du rafraîchissement intra est d'améliorer la résilience aux erreurs sans impact significatif sur la taille du bitstream encodé qu'entraînerait l'usage d'images I. L'encoder du SDK y parvient en encodant une partie de chaque image du cycle de rafraîchissement à l'aide de MB intra. none signifie aucun rafraîchissement. vertical signifie un rafraîchissement vertical, par colonne de MB. horizontal signifie un rafraîchissement horizontal, par ligne de MB. slice signifie un rafraîchissement horizontal par tranches sans chevauchement. Dans le cas de slice, in_ref_cycle_size est ignoré. Pour activer le rafraîchissement intra, l'image B doit être définie à 0.
int_ref_cycle_size
Spécifie le nombre d'images dans le cycle de rafraîchissement, à partir de 2. 0 et 1 sont des valeurs invalides.
int_ref_qp_delta
Spécifie l'écart de QP pour les MB intra insérés. Il s'agit d'une valeur signée comprise dans la plage [-51, 51] si la profondeur de bits cible pour les échantillons de luminance est de 8, et dans la plage [-63, 63] pour une profondeur de 10 bits ou [-75, 75] pour une profondeur de 12 bits, respectivement.
int_ref_cycle_dist
Distance entre les débuts des cycles de rafraîchissement intra, en images.
max_qp_i
Échelle maximale du quantificateur vidéo pour l'image I.
min_qp_i
Échelle minimale du quantificateur vidéo pour l'image I.
max_qp_p
Échelle maximale du quantificateur vidéo pour l'image P.
min_qp_p
Échelle minimale du quantificateur vidéo pour l'image P.
max_qp_b
Échelle maximale du quantificateur vidéo pour l'image B.
min_qp_b
Échelle minimale du quantificateur vidéo pour l'image B.
scenario
Fournit à l'encoder une indication sur le scénario de la session d'encodage.
‘unknown’ ‘displayremoting’ ‘videoconference’ ‘archive’ ‘livestreaming’ ‘cameracapture’ ‘videosurveillance’ ‘gamestreaming’ ‘remotegaming’ avbr_accuracy
Précision du contrôle de débit AVBR (unité : dixième de pourcent).
avbr_convergence
Convergence du contrôle de débit AVBR (unité : 100 images)
Les paramètres avbr_accuracy et avbr_convergence concernent l'algorithme de contrôle de débit binaire variable moyen (AVBR). Cet algorithme privilégie la qualité globale d'encodage tout en respectant le débit binaire cible, target_bitrate, dans la plage de précision avbr_accuracy, après une période avbr_Convergence. Cette méthode ne suit pas le HRD et le débit binaire instantané n'est ni plafonné ni complété.
skip_frame
Utilise la métadonnée par image "qsv_skip_frame" pour ignorer une image à l'encodage. Cette option définit l'usage de cette métadonnée.
‘no_skip’
Le saut d'images est désactivé.
‘insert_dummy’
L'encoder insère dans le bitstream une image dont tous les macroblocs sont encodés comme ignorés.
‘insert_nothing’
Similaire à insert_dummy, mais l'encoder n'insère rien dans le bitstream. Les images ignorées sont tout de même utilisées dans le brc. Par exemple, le gop continue d'inclure les images ignorées, et les images suivant des images ignorées seront de taille plus importante.
‘brc_only’
La métadonnée skip_frame indique le nombre d'images manquées avant l'image courante.
9.30.7 Options MPEG2
Ces options sont utilisées par mpeg2_qsv
profile
‘unknown’ ‘simple’ ‘main’ ‘high’
9.30.8 Options VP9
Ces options sont utilisées par vp9_qsv
profile
‘unknown’ ‘profile0’ ‘profile1’ ‘profile2’ ‘profile3’ tile_cols
Nombre de colonnes pour l'encodage en tuiles (nécessite libmfx >= 1.29).
tile_rows
Nombre de lignes pour l'encodage en tuiles (nécessite libmfx >= 1.29).
9.30.9 Options AV1
Ces options sont utilisées par av1_qsv (nécessite libvpl).
profile
‘unknown’ ‘main’ tile_cols
Nombre de colonnes pour l'encodage en tuiles.
tile_rows
Nombre de lignes pour l'encodage en tuiles.
adaptive_i
Contrôle l'insertion des images I par l'encoder QSV. L'activation de cette option permet de faire passer le type d'image de P et B à I.
adaptive_b
Contrôle le passage du type d'image de B à P.
b_strategy
Contrôle l'utilisation des images B comme référence.
extbrc
Contrôle de débit binaire étendu.
look_ahead_depth
Profondeur d'anticipation, en nombre d'images ; disponible lorsque l'option extbrc est activée.
low_delay_brc
Active ou désactive la fonctionnalité LowDelayBRC du plugin qsv, qui fournit un contrôle de débit binaire plus précis afin de minimiser la variation de la taille du bitstream image par image. Valeur : -1=par défaut 0=désactivé 1=activé
max_frame_size
Définit la taille maximale autorisée, en octets, pour chaque image. Si la taille de l'image dépasse cette limite, l'encoder ajuste la valeur de QP pour contrôler la taille de l'image. Non valable en mode de contrôle de débit CQP.
max_frame_size_i
Taille maximale d'une image encodée pour les images I, en octets. Si cette valeur est définie à plus de zéro, la valeur définie par max_frame_size est ignorée pour les images I.
max_frame_size_p
Taille maximale d'une image encodée pour les images P, en octets. Si cette valeur est définie à plus de zéro, la valeur définie par max_frame_size est ignorée pour les images P.
9.31 snow
9.31.1 Options
iterative_dia_size
Taille dia pour l'estimation de mouvement itérative
9.32 Encoders VAAPI
Wrappers d'encoders matériels accessibles via VAAPI.
Ces encoders n'acceptent en entrée que des surfaces matérielles VAAPI. Si vous disposez d'une entrée en images logicielles, utilisez le filtre hwupload pour les transférer vers le GPU.
Les options standard suivantes de libavcodec sont utilisées :
- g / gop_size
- bf / max_b_frames
- profile
Si elle n'est pas définie, cette valeur est déterminée automatiquement à partir du format des images en entrée et des profils pris en charge par le pilote.
- level
- b / bit_rate
- maxrate / rc_max_rate
- bufsize / rc_buffer_size
- rc_init_occupancy / rc_initial_buffer_occupancy
- compression_level
Compromis vitesse / qualité : des valeurs plus élevées donnent un encodage plus rapide mais de moins bonne qualité.
- q / global_quality
Compromis taille / qualité : des valeurs plus élevées donnent une taille plus faible mais de moins bonne qualité.
- qmin
- qmax
- i_qfactor / i_quant_factor
- i_qoffset / i_quant_offset
- b_qfactor / b_quant_factor
- b_qoffset / b_quant_offset
- slices
Tous les encoders prennent en charge les options suivantes :
low_power
Certains pilotes/plateformes proposent, pour certains codecs, un second encoder destiné à consommer moins d'énergie que l'encoder par défaut ; l'activation de cette option tente d'utiliser cet encoder. Notez qu'il peut prendre en charge un ensemble de fonctionnalités réduit, de sorte que certaines autres options peuvent ne pas être disponibles dans ce mode.
idr_interval
Définit le nombre d'images intra normales entre les images de rafraîchissement complet (IDR) en mode GOP ouvert. Ces images intra restent des IRAP, mais n'incluent pas les en-têtes globaux et peuvent comporter des images de tête non décodables.
b_depth
Définit la profondeur de référence des images B. Réglée à un (valeur par défaut), toutes les images B ne référencent que des images P ou I. Réglée à des valeurs supérieures, plusieurs couches d'images B sont présentes, chaque couche ne référençant que des images des couches supérieures.
async_depth
Parallélisme de traitement maximal. Augmentez cette valeur pour améliorer les performances sur un seul canal. Cette option ne fonctionne pas si le pilote n'implémente pas la fonction vaSyncBuffer. Veillez à ce qu'un nombre suffisant de hw_frames soit alloué en cas d'utilisation d'une valeur élevée d'async_depth.
max_frame_size
Définit la taille maximale autorisée, en octets, pour chaque image. Si la taille de l'image dépasse cette limite, l'encoder ajuste la valeur de QP pour contrôler la taille de l'image. Non valable en mode de contrôle de débit CQP.
rc_mode
Définit le mode de contrôle de débit à utiliser. Un pilote donné peut ne prendre en charge qu'un sous-ensemble des modes.
Modes possibles :
auto
Choisit le mode automatiquement en fonction de la prise en charge du pilote et des autres options. C'est le mode par défaut.
CQP
Qualité constante.
CBR
Débit binaire constant.
VBR
Débit binaire variable.
ICQ
Qualité constante intelligente.
QVBR
Débit binaire variable défini par la qualité.
AVBR
Débit binaire variable moyen.
blbrc
Active le contrôle de débit au niveau des blocs, qui attribue un débit binaire différent à chaque bloc. Non valable en mode CQP.
Chaque encoder possède également ses propres options spécifiques :
av1_vaapi
profile définit la valeur de seq_profile. tier définit la valeur de seq_tier. level définit la valeur de seq_level_idx.
tiles
Définit le nombre de tuiles pour encoder la vidéo en entrée, sous la forme colonnes x lignes (la valeur par défaut est auto, ce qui signifie utiliser le nombre minimal de colonnes/lignes de tuiles).
tile_groups
Définit le nombre de groupes de tuiles. Toutes les tuiles sont réparties aussi uniformément que possible entre les groupes de tuiles (la valeur par défaut est 1).
h264_vaapi
profile définit la valeur de profile_idc et des constraint_set*_flag. level définit la valeur de level_idc.
coder
Définit l'encoder entropique (la valeur par défaut est cabac). Valeurs possibles :
‘ac’ ‘cabac’
Utilise CABAC.
‘vlc’ ‘cavlc’
Utilise CAVLC.
aud
Inclut des délimiteurs d'unité d'accès dans le flux (non inclus par défaut).
sei
Définit les types de messages SEI à inclure. Une combinaison des valeurs suivantes :
‘identifier’
Inclut un message user_data_unregistered contenant des informations sur l'encoder.
‘timing’
Inclut les paramètres de picture timing (messages buffering_period et pic_timing).
‘recovery_point’
Inclut les points de reprise le cas échéant (messages recovery_point).
hevc_vaapi
profile et level définissent respectivement les valeurs de general_profile_idc et general_level_idc.
aud
Inclut des délimiteurs d'unité d'accès dans le flux (non inclus par défaut).
tier
Définit general_tier_flag. Ceci peut influencer le niveau choisi pour le flux s'il n'est pas explicitement spécifié.
sei
Définit les types de messages SEI à inclure. Une combinaison des valeurs suivantes :
‘hdr’
Inclut les métadonnées HDR si les images en entrée en possèdent (messages mastering_display_colour_volume et content_light_level).
tiles
Définit le nombre de tuiles pour encoder la vidéo en entrée, sous la forme colonnes x lignes. Des valeurs plus élevées permettent un parallélisme accru à l'encodage comme au décodage, mais peuvent réduire l'efficacité de codage.
mjpeg_vaapi
Seul l'encodage DCT de base est pris en charge. L'encoder utilise toujours les tables de quantification et de Huffman standard ; global_quality applique un facteur d'échelle à la table de quantification standard (plage 1-100).
Pour le YUV, les modes de sous-échantillonnage 4:2:0, 4:2:2 et 4:4:4 sont pris en charge. Le RGB est également pris en charge et produit un JPEG RGB.
jfif
Inclut un en-tête JFIF dans chaque image (non inclus par défaut).
huffman
Inclut les tables de Huffman standard (activé par défaut). Désactiver cette option permet d'économiser quelques centaines d'octets par image en sortie, mais peut faire perdre la compatibilité avec certains decoders JPEG qui ne gèrent pas entièrement le MJPEG.
mpeg2_vaapi
profile et level définissent la valeur de profile_and_level_indication.
vp8_vaapi
Les images B ne sont pas prises en charge.
global_quality définit le q_idx utilisé pour les images non clés (plage 0-127).
loop_filter_level loop_filter_sharpness
Définit manuellement les paramètres du filtre de boucle.
vp9_vaapi
global_quality définit le q_idx utilisé pour les images P (plage 0-255).
loop_filter_level loop_filter_sharpness
Définit manuellement les paramètres du filtre de boucle.
Les images B sont prises en charge, mais le flux en sortie est toujours dans l'ordre d'encodage plutôt que dans l'ordre d'affichage. Si les images B sont activées, il peut être nécessaire d'utiliser le filtre de bitstream vp9_raw_reorder pour modifier le flux en sortie afin d'afficher les images dans le bon ordre.
Seules des images normales sont produites ; le filtre de bitstream vp9_superframe peut être nécessaire pour produire un flux utilisable avec tous les decoders.
9.33 vbn
Encoder Vizrt Binary Image.
Ce format est utilisé par l'éditeur de solutions de diffusion Vizrt pour le streaming rapide de textures. Les fonctionnalités avancées du format, telles que la compression LZW des données de texture ou la génération de mipmaps, ne sont pas prises en charge.
9.33.1 Options
format string
Définit la compression de texture utilisée par le fichier VBN. Peut être dxt1, dxt5 ou raw. La valeur par défaut est dxt5.
9.34 vc2
SMPTE VC-2 (anciennement BBC Dirac Pro). Ce codec visait initialement la diffusion professionnelle, mais comme il prend en charge le yuv420, le yuv422 et le yuv444 en 8 bits (plage limitée ou pleine plage), 10 bits ou 12 bits, il convient également à d'autres usages nécessitant une faible surcharge et une faible compression (comme l'enregistrement d'écran).
9.34.1 Options
b
Définit le débit binaire vidéo cible. Il correspond en général à environ 1:6 du débit binaire vidéo non compressé (par exemple, pour une vidéo 1920x1080 50fps yuv422p10, cela représente environ 400 Mbit/s). Des valeurs plus élevées (proches du débit binaire non compressé) activent le mode de compression sans perte.
field_order
Active le codage par champs lorsqu'elle est définie (par exemple sur tt, pour champ supérieur en tête) pour les entrées entrelacées. Devrait améliorer la compression du contenu entrelacé, car cela sépare les champs pour les encoder indépendamment.
wavelet_depth
Définit le nombre total de transformées en ondelettes à appliquer, entre 1 et 5 (valeur par défaut). Des valeurs plus faibles réduisent la compression et la qualité. Les decoders moins performants peuvent ne pas gérer des valeurs de wavelet_depth supérieures à 3.
wavelet_type
Définit le type de transformée. Seules 5_3 (LeGall) et 9_7 (Deslauriers-Dubuc) sont implémentées pour l'instant, 9_7 offrant une meilleure compression et étant de ce fait la valeur par défaut.
slice_width slice_height
Définit la taille de chaque tranche. Des valeurs plus élevées améliorent la compression. Pour la compatibilité avec d'autres decoders plus limités, utilisez slice_width à 32 et slice_height à 8.
tolerance
Définit la tolérance de sous-dépassement du système de contrôle de débit, en pourcentage. Ceci évite l'exécution d'une recherche coûteuse.
qm
Définit le préréglage de matrice de quantification à utiliser par défaut ou lorsque wavelet_depth est réglé à 5
- - default Utilise la matrice de quantification par défaut des spécifications, étendue avec des valeurs pour le cinquième niveau. Cela offre un bon équilibre entre préservation du détail et limitation des artefacts.
- - flat Utilise une matrice de quantification entièrement mise à zéro. Cela augmente le PSNR mais peut réduire la qualité perçue. À utiliser pour des benchmarks fictifs.
- - color Réduit le détail mais tente de préserver la couleur à des débits binaires extrêmement faibles.
10 Encoders de sous-titres
10.1 dvbsub
Ce codec encode le format de sous-titres bitmap utilisé dans les diffusions et enregistrements DVB. Les bitmaps sont généralement intégrés dans un container tel que MPEG-TS sous forme de flux distinct.
10.1.1 Options
min_bpp integer (2, 4, or 8)
Définit une valeur minimale de bits par pixel pour les tables de correspondance de couleurs des sous-titres.
Le DVB prend en charge des tables de correspondance de couleurs de 2, 4 et 8 bits par pixel. Cette option permet de forcer une valeur particulière de bits par pixel, indépendamment du nombre de couleurs. Comme tous les lecteurs ne prennent pas en charge le 2 bits par pixel, ou ne le prennent pas en charge correctement, cette valeur vaut 4 par défaut.
10.2 dvdsub
Ce codec encode le format de sous-titres bitmap utilisé sur les DVD. Ils sont généralement stockés dans des paires de fichiers VOBSUB (.idx + .sub), et peuvent également être utilisés dans des fichiers Matroska.
10.2.1 Options
palette
Spécifie la palette globale utilisée par les bitmaps.
Le format de cette option est une chaîne contenant 16 nombres hexadécimaux de 24 bits (sans préfixe 0x) séparés par des virgules, par exemple 0d00ee, ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b.
even_rows_fix
Réglée à 1, active un contournement qui rend pair le nombre de lignes de pixels dans tous les sous-titres. Cela corrige un problème rencontré avec certains lecteurs qui tronquent la dernière ligne lorsque ce nombre est impair. Le contournement se contente d'ajouter une ligne entièrement transparente si nécessaire. La surcharge est faible, généralement d'un octet par sous-titre en moyenne.
Par défaut, ce contournement est désactivé.
10.3 lrc
Ce codec encode le format de paroles LRC.
10.3.1 Options
precision
Spécifie la précision de la partie fractionnaire de l'horodatage. La base de temps est déterminée à partir de cette valeur.
La valeur par défaut est 2, pour des centisecondes.
11 Voir aussi
ffmpeg, ffplay, ffprobe, libavcodec
12 Auteurs
Les développeurs de FFmpeg.
Pour plus de détails sur les auteurs, consultez l'historique Git du projet (https://git.ffmpeg.org/ffmpeg), par exemple en exécutant la commande git log dans le répertoire source de FFmpeg, ou en parcourant le dépôt en ligne à l'adresse https://git.ffmpeg.org/ffmpeg.
Les mainteneurs des composants spécifiques sont répertoriés dans le fichier MAINTAINERS de l'arborescence des sources.
Hébergement fourni par telepoint.bg