C’est un sujet intéressant, je pense avoir trouvé ce qui se passe.
Je pense que le « problème » vient du fait que MCEbuddy choisit Handbrake comme encodeur et que la façon dont MCEbuddy transmet votre fréquence d’images (celle que vous définissez dans l’interface graphique) à Handbrake est d’ajouter le paramètre de ligne de commande -r 59.94
L’utilisation du paramètre -r force par défaut une fréquence d’images pic, donc il dit à Handbrake de ne pas dépasser 59.94 au lieu de l’imposer. Il semble qu’il choisisse alors une valeur autour de 29,xx…
Je pense donc qu’il y a plusieurs moyens de contourner cela :
- ne pas utiliser Handbrake (mauvaise option)
- utiliser un profil par défaut où la priorité de ffmpeg est supérieure à celle de Handbrake (mauvaise option)
- ajouter --cfr à la fin de handbrake-general dans votre profil (meilleure option)
c’est-à-dire, pour l’option 3, dans profiles.conf le profil [mp4 normal] :
handbrake-general=--decomb --loose-anamorphic --verbose=2 -f mp4 -O
devient
handbrake-general=--decomb --loose-anamorphic --verbose=2 -f mp4 -O --cfr
Vous pouvez rapidement tester que c’est bien le problème en utilisant un profil où ffmpeg est prioritaire. Utilisez le profil [DivX AVI Normal] avec 59.94 défini dans l’interface ; il utilise ffmpeg.
Voici mes résultats :
Video
ID : 1
Format : xvid
Codec ID : xvid
Duration : 26 s 994 ms
Bit rate : 1 826 kb/s
Width : 1 920 pixels
Height : 1 072 pixels
Display aspect ratio : 16:9
Frame rate : 59.940 (60000/1001) FPS
Scan type : Progressive
Bits/(Pixel*Frame) : 0.015
Stream size : 5.87 MiB (87%)
Pour l’explication, voici ce que dit la documentation de HandBrakeCLI :
-r, --rate <float> Set video framerate
(5/10/12/15/20/23.976/24/25/29.97/
30/48/50/59.94/60/72/75/90/100/120
or a number between 1 and 1000).
Be aware that not specifying a framerate lets
HandBrake preserve a source's time stamps,
potentially creating variable framerate video
--vfr, --cfr, --pfr Select variable, constant or peak-limited
frame rate control. VFR preserves the source
timing. CFR makes the output constant rate at
the rate given by the -r flag (or the source's
average rate if no -r is given). PFR doesn't
allow the rate to go over the rate specified
with the -r flag but won't change the source
timing if it's below that rate.
If none of these flags are given, the default
is --pfr when -r is given and --vfr otherwise
Enfin, je ne suis pas sûr que doubler la fréquence d’images soit ce que vous voulez. Si une vidéo est désentrelacée à 30 fps, la doubler à 60 n’apporte rien ; c’est peut-être ce que fait le réglage de la fréquence. Je pense qu’il faut doubler la fréquence ET modifier les réglages de désentrelacement.
Voici ce que je comprends (limité) ; je ne sais pas comment Plex, decomb ou yadif gèrent cela :
Exemple
60i fps, images sur 3 s :
ABCDEFGH
30p fps, images sur 3 s :
ACEG
60p fps, images sur 3 s, après doublement de la fréquence avec -r 59.94 -cfr :
AACCEEGG
Dans l’exemple ci-dessus, 30p et 60p devraient être visuellement identiques, non ? La « fréquence » a doublé mais les images sont les mêmes.
Ce que vous voulez vraiment, c’est :
60i fps, images sur 3 s :
ABCDEFGH
60p fps, images sur 3 s :
ABCDEFGH
Et pour obtenir cet effet, je pense qu’il faut modifier vos réglages de désentrelacement.
Voir : Yadif deinterlace
Voici les réglages yadif dans MCEbuddy, qui ne changent jamais :
yadif=0:-1:1
MCEbuddy Handbrake utilise :
--decomb (réglages par défaut, sans preset)
D’après la doc :
--decomb[=string] Deinterlace video using a combination of yadif,
blend, cubic, or EEDI2 interpolation.
Presets:
bob
eedi2
eedi2bob
Decomb est donc intelligent : il calcule d’abord s’il doit désentrelacer (garde les images s’il n’y a pas de peignage) et, si besoin, choisit la meilleure méthode de désentrelacement.
Donc, decomb gagnerait à doubler la fréquence par défaut, mais le bénéfice recherché nécessitera peut-être :
--decomb=bob
Ce qui impliquerait un profil personnalisé et pourrait être influencé dans MCEbuddy en changeant l’auto-détection.
Un bon test serait de forcer la fréquence dans l’interface Handbrake avec decomb par défaut et decomb BOB ; dites-moi si vous voyez une différence.