Conversion HDR->SDR en x264 : Crop non pris en compte

support de m4ng dans sa version 6
Répondre
mike031
Messages : 213
Enregistré le : sam. 12 mars, 2011 2:05

Conversion HDR->SDR en x264 : Crop non pris en compte

Message par mike031 »

Hello,

Je suis désolé je déterre le sujet car j'ai un problème un peu similaire avec le crop, et le problème semble venir de la conversion HDR-->SDR.

J'ai une vidéo mkv en HEVC 3840x2160 10bits BT2020 HDR, que je souhaite convertir en x264 1280x720 8bits BT709.
J'applique un crop de 88 haut et bas pour arriver à une résolution de 1280x544, sauf que le fichier de sortie est en 1280x704, comme si le crop était insuffisant.
Lorsque je test en conservant le HDR, pas de problème. En mode autonome, pas d'encodage, je reviens sur la fenêtre de m4ng avec le message "conversion: no" dans le log.
Je confirme aussi que la fenêtre DOS est différente selon si on conserve le HDR ou pas, rien à voir avec le mode autonome à priori.

Je pense qu'il doit y avoir un bug dans le calcul du crop lors de la conversion, mais je ne sais pas si m4ng est vraiment en cause.
Une idée?

Merci.
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8836
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Re: Crop en x264

Message par Subbat »

Salut,

Je n'ai pas de vidéo de ce format pour tester. Tu pourrais en couper un petit bout de quelques secondes et l'héberger quelque part pour que je puisse tester ?

Pourrais tu éditer, dans le dossier de travail, le fichier am4ng.avs et copier le contenu ici ? Et également le x264.bat (ou x264_debug.bat je sais plus)... et pour le mode autonome, le ffmpeg_debug.bat...
mike031
Messages : 213
Enregistré le : sam. 12 mars, 2011 2:05

Re: Conversion HDR->SDR en x264 : Crop non pris en compte

Message par mike031 »

Hello,

am4ng.avs:

Code : Tout sélectionner

# **** m4ng & AVIsynth 2.5x script **** pass 2+ 

LoadPlugin("C:\PROGRA~2\m4ng_v6\system\undot.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\FluxSmooth.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\Convolution3D.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\MaskTools.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\MVTools.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\Asharp.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\MSharpen.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\TDeint.dll")
LoadPlugin("C:\PROGRA~2\m4ng_v6\system\VSFilter.dll") #1

Source="E:\DOWNLOADS\F1\_F1-001.MKV"
Largeur=1280
Hauteur=720
ratio  =1.777778
vratio =1.777778
real_l=1280
real_l4=1280
Crop_g=0
Crop_d=0
Crop_h=88
Crop_b=-88
Borders_g=0
Borders_d=0
Borders_h=0
Borders_b=0
Bit_Rate=23.976000
Indice=0.001078

Video=DirectShowSource( Source, fps=23.976000).DelayAudio(0.000000)
Video=ConvertToYV12(Video)
#0 RESIZE
Video=BilinearResize(Video, Largeur, Hauteur)
# CROP
Video=Crop(Video, crop_g, crop_h, crop_d, crop_b)

Return(AssumeFrameBased(Video))
x264_pass1.bat:

Code : Tout sélectionner

chcp 1252
"C:\PROGRA~2\m4ng_v6\system\FFMPEG~1\ffmpeg.exe" -i "E:\DOWNLOADS\F1\_F1-001.MKV" -filter_complex "zscale=t=linear:npl=100, format=gbrpf32le, zscale=p=bt709, tonemap=tonemap=hable:desat=0, zscale=t=bt709:m=bt709:r=tv, format=yuv420p, scale=3840:2160, scale=1280:704" -s 1280x704 -an -f rawvideo -y - | C:\PROGRA~2\m4ng_v6\system\x264_cli\x264_64.exe --input-res 1280x704 --fps 23.9760 --preset veryslow --crf 18 --output-depth 8  -level 41 --colorprim bt709 --transfer bt709 --colormatrix bt709  -o "E:\DOWNLOADS\F1\_F1-001_.264" - 
pause
Pour le mode autonome, le contenu du fichier ffmpeg_debug.bat n'a pas été écris, il y a des infos d'un ancien encodage.

Ci joint la vidéo découpée pour test: https://drive.google.com/file/d/1uYvN_u ... sp=sharing
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8836
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Re: Conversion HDR->SDR en x264 : Crop non pris en compte

Message par Subbat »

Salut, et désolé du délai de réponse... mais je n'ai pas eu le temps d'y regarder plus tôt...

J'ai téléchargé ta vidéo mais ça bug complet chez moi... Néanmoins, très clairement, il y a un soucis avec le crop effectivement dans le batch du x264... Malheureusement, Pepsi n'est pas vraiment disponible ces derniers temps pour corriger des bugs...

Tu peux essayer de remplacement le contenu du x264_pass1.bat par le code ci-après... normalement, j'ai ajouté le crop comme il faut... Tu n'auras ensuite qu'à muxer le flux vidéo ainsi obtenu dans ton fichier final.

Code : Tout sélectionner

chcp 1252
"C:\PROGRA~2\m4ng_v6\system\FFMPEG~1\ffmpeg.exe" -i "E:\DOWNLOADS\F1\_F1-001.MKV" -filter_complex "zscale=t=linear:npl=100, format=gbrpf32le, zscale=p=bt709, tonemap=tonemap=hable:desat=0, zscale=t=bt709:m=bt709:r=tv, format=yuv420p, scale=3840:2160, scale=1280:720, crop=1280:544:0:88" -s 1280x544 -an -f rawvideo -y - | C:\PROGRA~2\m4ng_v6\system\x264_cli\x264_64.exe --input-res 1280x704 --fps 23.9760 --preset veryslow --crf 18 --output-depth 8  -level 41 --colorprim bt709 --transfer bt709 --colormatrix bt709  -o "E:\DOWNLOADS\F1\_F1-001_.264" - 
pause
Dis-moi si fonctionne ainsi...

@+
mike031
Messages : 213
Enregistré le : sam. 12 mars, 2011 2:05

Re: Conversion HDR->SDR en x264 : Crop non pris en compte

Message par mike031 »

Salut et merci ta réponse

J'ai fait l'essai en modifiant le fichier bat, il manquait des paramètres, espaces etc... que j'ai corrigé sinon j'avais une erreur, j'ai bien réussi ensuite à relancer l'encodage qui m'indique bien la résolution de sortie 1280x544 dans la fenêtre cmd, par contre le fichier final .x264 affiche toujours une résolution de 1280x704 :/
En plus la vidéo est plus courte et illisible, ça fait des bandes vertes lors de la lecture.

Mais j'ai déjà remarqué que suivant le codec, la conversion BT2020 vers BT709 ne semble pas fonctionné, je n'ai plus le fichier car je l'ai supprimé, mais il me semble bien avoir tester du x265 720p 8 bits BT709, et en couleur j'avais malgré tout le rendu pâlot du BT2020 sur mon écran qui n'est pas HDR.

Edit: C'est bon en fait ça fonctionne correctement modifiant:

Code : Tout sélectionner

--input-res 1280x704
par:

Code : Tout sélectionner

--input-res 1280x544
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8836
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Re: Conversion HDR->SDR en x264 : Crop non pris en compte

Message par Subbat »

Effectivement... j'avais oublié de modifier le --input-res du batch... mais tu l'as a juste titre remarqué...

Il faut aussi bien se dire qu'on a mis cette option dans m4ng parcequ'on a trouvé ce script de conversion via ffmpeg... mais selon moi... pour faire du 720p bt709 (non hdr) il est préférable de partir du bluray qui est déjà en bt709 que d'un 4k HDR. Meme si je te laccorde... on a pas toujours sous la main a la fois le 4khdr et le bureau :D
Répondre