module inscription newsletter haut de page forum mobile

Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

[Résolu] Comment régler un problème d'encodage sur YouTube ?

Discussion dans 'Internet & vidéo' créé par SuperLumberjack, 6 Août 2019.

Tags:
Statut de la discussion:
Fermé pour nouveaux messages
  1. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Même problème en utilisant la méthode ABR avec un débit moyen de 55 Mbps.

    Voici le MediaInfo :

    Video
    ID : 0
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L6
    Format settings, CABAC : Yes
    Format settings, ReFrames : 8 frames
    Codec ID : H264
    Duration : 21 s 150 ms
    Bit rate : 60.0 Mb/s
    Nominal bit rate : 56.1 Mb/s
    Width : 2 820 pixels
    Height : 2 160 pixels
    Display aspect ratio : 4:3
    Frame rate : 60.000 FPS
    Color space : YUV
    Chroma subsampling : 4:2:0
    Bit depth : 8 bits
    Scan type : Progressive
    Bits/(Pixel*Frame) : 0.164
    Stream size : 151 MiB (98%)
    Writing library : x264 core 152 r2851M ba24899
    Encoding settings : cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 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=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=abr / mbtree=1 / bitrate=55000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Color range : Limited
    Matrix coefficients : BT.601



    Donc j'en déduis que ça n'a rien à voir avec la question du débit constant ou variable. Il y a autre chose qui doit créer une intolérance avec YouTube :suspicious:
     
  2. Alcoriza

    So

    Points Repaire:
    8 200
    Recos reçues:
    97
    Messages:
    5 202
    Appréciations:
    +291 / 696 / -5
    Juste pour voir, essaie d'encoder en 3840x2160 avec des barres noires. Peut-être que YouTube n'aime pas les ratios non conventionnels.
     
  3. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Hello :)

    Je peux toujours essayer, même si je crois qu'au contraire, c'est même conseillé de les virer pour que le lecteur puisse afficher les vidéos sans bandes noires justement.

    Je cite :

    "Format : les vidéos doivent être dans leur format d'origine, et celles mises en ligne ne doivent jamais comporter de bandes noires (letterbox ou pillarbox). En effet, le lecteur YouTube recadre automatiquement les vidéos pour garantir qu'elles s'affichent correctement, sans rogner ni étirer l'image, quelle que soient la taille de la vidéo ou le lecteur. Par exemple, le lecteur ajoute des bandes noires verticales (pillarbox) aux vidéos au format 4:3 lorsqu'elles sont lues sur un lecteur grand écran (16:9). De même, il ajoute des bandes noires horizontales (letterbox) aux vidéos au format 16:9 si celles-ci sont lues sur un lecteur standard (4:3). Consultez l'article Paramètres avancés de codage pour découvrir des exemples d'images."

    Source : Spécifications relatives aux formats vidéo et audio - Aide YouTube
     
  4. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    J'ai essayé avec les bandes noires, et ça n'a pas fonctionné :sad:
    Test vidéo 16-9 bandes noires.png

    J'avais même demandé de l'aide sur la communauté d'aide Française et Américaine de YouTube, mais leur support, c'est une belle connerie ! :)

    C'est complétement affligeant de voir qu'avec leurs milliards de dollars, ils n'ont même pas les moyens de se payer un vrai support ! Même Dailymotion a un vrai centre d'aide !

    Sauf que leurs bugs à répétition ont eu raison de ma patience... :suspicious:

    Honnêtement, Dailymotion pourrait être une très bonne plateforme. La qualité de compression est même largement meilleure que celle de YouTube, mais comme dit, leurs bugs, et puis des choix débiles et pas toujours très inspirés, ben forcément, au bout d'un moment ils sont hors compétition face à YouTube...
     
  5. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Super !

    Un mec m'a conseillé ces paramètres sous Handbrake sur la communauté d'aide Américaine de YouTube et ça fonctionne ! :good:

    Paramètres Handbrake qui fonctionnent 01.png

    Paramètres Handbrake qui fonctionnent 02.png

    Mais je vais tout de même faire d'autres tests pour voir quels paramètres peuvent éventuellement faire planter le réencodage sur YouTube ;-)
     
  6. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Bon, en MKV ça marche ! Tant mieux, car je préfère avoir le son en FLAC :)

    Maintenant, il ne me reste plus qu'à voir quel paramètre peut causer problème.

    Je suis pratiquement sûr que ça vient du profil ou du niveau, car Handbrake m'a choisi :

    Format profile : High@L6
     
  7. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Alors ça c'est curieux ! o_O

    J'ai refait un test en mettant "Encoder Level" sur Auto, "Encoder Profile" sur High et "Encoder Preset" sur "Fast", ben cette fois-ci, ça m'a choisi le niveau suivant :

    Format profile : High@L5.2

    au lieu de :

    Format profile : High@L6

    C'est vrai que c'était curieux ce niveau 6, parce qu'il n'est pas proposé dans la liste de Handbrake.

    Et le codec "x264 8 bit" m'a fait exactement la même chose en Auto avec VirtualDub, il m'a choisi ce niveau 6.

    Et pour chaque vidéo avec ce niveau, ça a provoqué des problèmes avec YouTube, donc je pense que c'est clairement ça ! :)

    Là, je veux juste tester encore par curiosité, si je met "Encoder Preset" sur "Slower" (le preset que j'utilisais habituellement) et le niveau sur Auto, si ça me remet ce fameux niveau 6 ou le niveau 5.2.

    Si jamais ça me met "5.2", ça signifie peut-être qu'il y a eu un étrange bug avec Handbrake en mode Auto. La vérité, c'est que je ne sais même pas si un 6ème niveau existe... :perplexe:

    Mais c'est définitivement étrange, car toutes mes vidéos encodées avec ce niveau étaient lisible sur mon PC, de même que je n'avais encore aucun problème il y a plus de 6 mois sur YouTube, et du jour au lendemain ça a posé problème avec la plateforme.

    Bref... je ne pensais pas que je pourrais enfin résoudre ce problème ! :D

    Merci encore à vous les gars ! :good:
     
  8. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Rebonjour ! :)

    Dites, juste une question : pour vous, quelle est la manière la plus propre de convertir du RGB24 en YV12 ?

    Merci d'avance pour votre aide ;)
     
  9. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Bon, j'ai fait des tests avec une capture vidéo d'un jeu Super Nintendo (pas connu du tout :laugh:) que j'ai tout d'abord transformé en une belle image 16/9 de résolution "640 x 360" :)

    01 - Image 16-9 en pixel art.png

    L'avantage, c'est qu'en l'agrandissant par des nombres premiers, on tombe sur les résolutions standards en 720p, 1080p, 1440 et 2160p. Quand je dis que c'est bien de prendre une image en pixel art ! :bravo:

    Non mais sérieusement, vous en pensez ce que vous voulez, mais pour comparer l'impact d'une compression avec différents paramètres d'encodage et dans différentes résolutions, je trouve personnellement que c'est beaucoup plus facile à observer ;) C'est exactement ce que je voulais tester ici d'ailleurs, notamment l'impact que peut avoir le CRF sur l'image.

    Et pour répondre à ma question plus haut concernant la conversion d'une image RGB en YV12, ben j'ai comparé la conversion avec la fonction suivante dans un script AviSynth et la conversion avec le codec "UtVideo YUV420 BT.709 VCM", et franchement, je trouve que le meilleur résultat est avec le codec Ut Video :

    ConvertToYV12(chromaresample = "Point")

    J'ai testé avec du Point, Bicubic, Spline36, Lanczos3 et Bilinear et j'ai comparé le résultat avec ce que m'a donné le codec Ut Video, et c'est avec ce dernier que ça me semble le plus naturel. Je ne sais pas du tout quelle méthode est utilisée pour le sous-échantillonnage, mais c'est plutôt efficace.

    02 - Agrandissement X2, X3, X4 ou X6 puis conversion en YV12.png

    Bref, j'ai donc obtenu des vidéos en 720p, 1080p, 1440p et 2160p dans l'espace de couleurs YV12, tout à fait équivalentes au niveau qualitatif si on exclut la petite perte de qualité due au sous-échantillonnage dans les différentes résolutions.

    03 - Vidéos test en 720p, 1080p, 1440p et 2160p YV12.png

    J'ai tout d'abord commencé par encoder la vidéo en 720p, vu qu'en toute logique, c'est celle qui sera la plus impactée par la qualité de la compression.

    J'ai testé avec un CRF de 11, ce qui devait déjà offrir de bons résultats. C'est vrai qu'à première vue, ça passe !

    04 - Comparaison 720p YV12 lossless vs Handbrake CRF 11.png
    Sauf qu'en agrandissant l'image à 400%, j'ai très vite remarqué la dégradation engendrée par la compression.

    05 - Comparaison 720p YV12 lossless vs Handbrake CRF 11 (zoom 400%).png
    Regardez comme ça bave de partout ! o_O

    Bref, j'ai testé avec un CRF plus petit de 7 (je me suis rapproché dangereusement d'une compression sans perte).

    Mais même là j'ai constaté des pixels méchamment brouillons ! :cry2:

    06 - Comparaison 720p YV12 lossless vs Handbrake CRF 7 (zoom 400%).png

    Heureusement, avec un CRF de 6, j'ai commencé à avoir un résultat que je juge beaucoup plus potable, avec quelque chose de beaucoup plus consistant ! :good:

    07 - Comparaison 720p YV12 lossless vs Handbrake CRF 6 (zoom 400%).png

    Évidemment, on lit souvent qu'en montant en résolution, on peut se permettre d'avoir un CRF plus grand, ben j'ai voulu vérifier ça pour voir si c'est vrai, et j'ai été un peu déçu... ! :o

    Avec la vidéo en 1440p, donc le double de la résolution, j'ai encore constaté que ça bavait un peu avec un CRF de 8. On peut le constater ici avec l'image zoomée à 200% :

    08 - Comparaison 1440p YV12 lossless vs Handbrake CRF 8 (zoom 200%).png

    Non vraiment, ça a beaucoup d'intérêt de prendre une image en pixel art pour comparer ! :D

    Car le but n'est-il pas dans ce cas d'avoir une image de qualité supérieure ou équivalente en 1440p par rapport à du 720p ?

    Je dirais que si, ou alors... pourquoi avoir une résolution supérieure ? o_O

    Vous allez me dire : « Oui, mais c'est du pixel art... »

    Perso je dirais : « Oui, et pourtant c'est exactement représentatif de la qualité de compression que l'on aura avec des vidéos nativement en HD ! ». Ou bien ? :o

    Pourquoi serait-il logique de devoir sacrifier plus de qualité pour une vidéo nativement en 1440p, comparée à une vidéo nativement en 720p ? Juste parce que la définition est meilleure ?

    Pas trop d'accord moi ! :suspicious:

    Bref, même si j'ai constaté que l'image devenait potable avec un CRF de 7 en 1440p, je dirais que je ne vais pas m'embêter et prendre un CRF de 6 pour toutes les résolutions. Je sais... la taille ! Mais je dirais que par chance, on vit à une époque où l'on a une grosse capacité de stockage et des connexions internet de plus en plus rapide, alors pourquoi s'inquiéter pour la taille ? D'autant plus qu'au final ce sera recompressé par YouTube. Autant envoyer la meilleure qualité possible non ?

    Et sinon, tout ça pour conclure que personnellement, je n'ai donc pas observé qu'il était préférable de prendre un CRF plus petit pour une faible résolution comparé à une plus grande résolution... enfin si, mais alors je vais plutôt dire que je n'ai pas observé qu'il était préférable de prendre un CRF plus grand pour une résolution élevée... N'est-ce pas la même chose à peu de choses près ? :D

    D'ailleurs, ça se vérifie sur cette image :

    09 - Comparaison 720p YV12 Handbrake CRF 6 (zoom 400%) vs 1440p YV12 Handbrake CRF 8 (zoom 200%).png

    L'image en 720p avec un CRF de 6 est presque meilleure que celle en 1440p avec un CRF de 8. Observez bien l'image de droite, vous verrez que ça bave à certains endroits là où ce n'est pas le cas sur l'image de gauche.

    Voilà, je voulais quand même partager mes observations ici, vu que je suppose que le monde de la vidéo vous intéresse tous ici (mais pas forcément le pixel art, je sais :laugh:). Et perso je suis aussi curieux justement de savoir ce que vous en pensez ;) Enfin si vous avez le courage de me lire... :D
     
  10. SuperLumberjack

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    251
    Appréciations:
    +0 / 0 / -0
    Et sinon, pour ne plus me faire avoir avec le souci du "Encoder Level", je vais le rentrer manuellement à chaque fois :)

    Pour savoir lequel utiliser, la meilleure méthode que j'ai trouvée c'est d'encoder un court extrait avec "Encoder Preset" sur Fast et "Encoder Level" sur Auto.

    Puis en regardant dans le MediaInfo, c'est généralement le bon ! :good:

    Car je rappelle qu'en laissant "Encoder Level" sur Auto avec "Encoder Preset" sur Slower, le niveau choisi était de "6" au lieu de "5.2" pour une vidéo 2160p à 60 fps, ce qui a justement provoqué les soucis d'encodage sur YouTube.

    Sauf que moi j'encode toujours avec le Preset sur Slower.
     
Chargement...
Statut de la discussion:
Fermé pour nouveaux messages

Partager cette page