#1 Le 19/09/2018, à 12:48
- coproski31
Qualité d'encodage vidéo avec ffmpeg
Bonjour,
J'ai un peu de mal à comprendre les différentes caractéristiques de l'encodage vidéo, et à trouver des explications détaillées à ce sujet. J'aimerais donc savoir quelles sont celles qui déterminent la qualité du flux vidéo, pour un codec donné, à part la résolution de l'image et le frame rate.
En pratique, j'ai réencoder un fichier vidéo avec ffmpeg, en utilisant le même codec à l'arrivée qu'au départ, avec cette commande :
ffmpeg -i input.mkv -vcodec libx264 acodec copy output.mkv
et je passe d'un fichier de 4,6Go, à 1,8Go. Si je refais ça avec le fichier obtenu, j'obtiens une nouvelle vidéo de 1,7Go...
Ma question : que s'est-il passé au cours de ces deux étapes, sachant que le codec, la résolution et le frame rate sont inchangés ? Est-ce que la vidéo est compressée plus "efficacement", ou bien il y a eu une perte de qualité liée à une autre caractéristique du flux vidéo ?
J'ai lancé la commande
mediainfo --full
sur les deux premiers fichiers, et voici les champs qui ont été modifiés :
fichier original :
Format profile : High@L4.1
Format settings : CABAC / 6 Ref Frames
Writing library : x264 - core 125 r2200 999b753
Encoding settings : cabac=1 / ref=6 / deblock=1:-3:-3 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=4848 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Nouveau fichier
Format profile : High@L3.1
Format settings : CABAC / 4 Ref Frames
Writing library : x264 - core 152 r2854 e9a5903
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
J'ai exclu les champs qui étaient clairement redondants ainsi que ceux directement liés à la taille du flux (Stream size, bit rate,...).
Merci d'avance pour vos explications
Hors ligne
#2 Le 19/09/2018, à 13:17
- LukePerp
Re : Qualité d'encodage vidéo avec ffmpeg
Bonjour, tes interrogations seront clairement éclairées sur un forum d'encodage vidéo, pas ici. Je peux te donner un début de piste, je connais un tuto qui met en évidence les paramètres qui influences beaucoup la qualité d'image. Il s'agit des éléments en jaune sur l'image à agrandir tout en bas du tuto :
https://tutox264.wordpress.com/
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Ethereum user
Hors ligne
#3 Le 19/09/2018, à 15:28
- coproski31
Re : Qualité d'encodage vidéo avec ffmpeg
Ok merci, je vais commencer par regarder ça !
Hors ligne