module inscription newsletter haut de page forum mobile

Ateliers et Formations

[CpteRendu] 5e comparatif des encodages MPEG4

Discussion dans 'HD, AVCHD etc.' créé par Agdimage, 10 Septembre 2009.

Tags:
  1. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    le x264 utilise la stratégie MBAFF en encodage entrelacé.
    Peut importe l'age du lien.
    il donne la définition des termes MBAFF et PAFF lesquels sont sans rapport avec les différents algorithmes de vectorisations des mouvements utilisés lors de l'encodage h264 (en progressif comme en entrelacé)

    En ce qui me concerne, ce sont les videos TFF encodé en x264 qui posaient des pb de décodage.
    Aucun pb avec les BFF dv etc..
    C'est bien sur aussi lié au décodeur qui s'il ne voit pas de flagg "ordre des trames"
    doit assumer l'une ou l'autre.
    Un décodeur qui sans info décode TFF + un encodage video TFF sans flagg ça passe.
    Un décodeur qui sans info décode BFF + video TFF çà coince.

    La méthode
    Code:
    --nal-hrd --bff 
    Code:
    --nal-hrd --tff 
    flagge le flux x264 et résous proprement le pb (au moins celui de l'ordre des trames)
     
    • Je recommande ! Je recommande ! x 1
  2. STEF

    Points Repaire:
    5 330
    Recos reçues:
    32
    Messages:
    6 612
    Appréciations:
    +1 / 0 / -0
    "C'est l'ensemble qui forme un tout"

    Je ne connais pas votre workflow, mais s'il est cohérent du début à la fin, de la prise de vu à la diffusion, vous ne devriez rencontrer aucun problème.

    C'est mon cas ; d'un autre coté, cette tranquillité à un prix ... je monte avec Avid Media Composer.

    Quand il s'agit de HDV, 2 choix
    => soit je numérise et monte en HDV puis exporte un fichier .mts que je donne à MediaCoder pour du h264 ou à Procoder pour du MPEG2 / DVD
    => soit je numérise en HDV puis transcode en DNxHD puis exportes un fichier QuickTime Ref que je donne à MediaCoder pour du h264 ou à Procoder pour du MPEG2 / DVD

    ++

    SteF
     
  3. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Je suppose que tu as voulu mettre m2t et non mts (AVCHD).
    Donc la question est :
    Quels sont les paramètres que tu mets dans Médiacoder ?
     
  4. STEF

    Points Repaire:
    5 330
    Recos reçues:
    32
    Messages:
    6 612
    Appréciations:
    +1 / 0 / -0
    Déjà dit et comme je n'ai pas le droit de poster le lien ici ... fais une recherche dans google avec les termes "Mediacoder STEF"

    Aussi, je n'utilise plus x264 mais CUDA.

    ++

    SteF
     

    Fichiers attachés:

  5. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    Bon voici un petit récapitulatif que je viens de faire.

    Comme video test j'ai pris une source yuv src5_ref__625.yuv
    [​IMG]

    La source est TFF trame impaire en premier.
    A l'aide d'un script avisynth on peut la passer en BFF trame paire en premier.

    Les deux sources TFF et BFF issues de src5_ref__625.yuv vont être encodé en x264 avec:
    x264-officiel (r1259) x264 revision 1259
    x264-patché nal-hrd r1251 distribuée avec le dernier MeGui
    x264-de Mediacoder r1251

    Ligne de commande commune:
    Code:
    x264 --profile high --preset fast --crf 18.0 
    à laquelle je rajouterai les options
    --interlaced (x264 officiel)
    et
    --bff (tff) --vbv-bufsize 30000 --vbv-maxrate 40000 pour le x264 patché. (les valeurs de bufsize et maxrate sont les valeurs BR).

    Les encodage seront décodés et desentrelacés 50p avec:
    Core AVC (derniere version "tryout") deinterlacing bob
    ffdshow 2992 (jun 9 2009) +désentrelaceur yadif double framerate- field order "auto"
    VLC 1.0.0 désentrelacement bob

    c'est parti
    --------------------------------------------------------------------------------------------------------------
    x264-officiel
    -- interlaced
    ..........................core_AVC .........ffdshow...........VLC
    kayak TFF ............OK ....................KO...............KO
    kayak BFF.............KO....................OK................OK

    un petit test avec les options non officielles de la version patchée
    -- tff
    unknow option --tff

    -- bff
    unknow option --bff

    Core AVC lit les TFF sans saccades, ffdshow et VLC les BFF sans saccades.

    -----------------------------------------------------------------------------------------
    x264-patch nal-hrd
    -- interlaced
    ...................core_AVC .....ffdshow.......VLC
    kayak TFF ............OK ..........OK..........OK
    kayak BFF.............KO...........KO..........KO

    Avec la même option, et la version patchée, Les 3 décodeurs reconnaissent correctement l'ordre des trames TFF. La parité inverse,BFF saccade avec les 3 décodeurs

    -- tff --vbv-bufsize 30000 --vbv-maxrate 40000
    ...................core_AVC .....ffdshow.......VLC
    kayak TFF ............OK ..........OK..........OK
    kayak BFF.............KO...........KO..........KO

    -- bff --vbv-bufsize 30000 --vbv-maxrate 40000
    ...................core_AVC .....ffdshow.......VLC
    kayak TFF ............KO ..........KO..........KO
    kayak BFF.............OK...........OK..........OK

    les 3 décodeurs reconnaissent l'ordre des champs et les désentrelacent parfaitement.

    ------------------------------------------------------------------------------------------------------------
    x264-mediacoder
    -- interlaced video content = true
    ...................core_AVC .....ffdshow.......VLC
    kayak TFF ............OK ..........KO..........KO
    kayak BFF.............KO...........OK..........OK

    on retrouve le même résutat qu'avec le x264 officiel
    x264-mediacoder (=x264-officiel)
    ------------------------------------------------------------------------------------------
    mediacoder + x264-patch nal-hrd
    -- interlaced video content = true
    + extra option --tff --vbv-bufsize 30000 --vbv-maxrate 40000

    ...................core_AVC .....ffdshow.......VLC
    kayak TFF ............OK ..........OK..........OK
    kayak BFF.............KO...........KO..........KO

    mediacoder + x264-patch nal-hrd
    -- interlaced video content true
    + extra option --bff --vbv-bufsize 30000 --vbv-maxrate 40000

    ...................core_AVC .....ffdshow.......VLC
    kayak TFF ............KO ..........KO..........KO
    kayak BFF.............OK...........OK..........OK

    même résultats qu'avec le x264 patché.
    ------------------------------------------------------------------------------------------------

    Avec une release x264 officielle et option d'encodage --interlaced
    Core AVC ne lit correctement (50p) QUE les videos de parité TFF
    ffdshow et VLC, QUE les videos de parité BFF.

    Avec une release patché nal-hrd et option d'encodage --interlaced
    CoreAVC , ffdshow , VLC ne désentrelacent correctement (50p) QUE les videos TFF.

    Avec une relase patché nal-hrd et options --bff ou --tff, la parité est parfaitement reconnue par les 3 décodeurs softwares.

    la commande --nal-hrd n'est pas indispensable pour la reconnaissance des commandes --bff ou --tff.
    Par contre vbv-maxrate et vbv-bufsize doivent être définis.

    Mediacoder se comporte comme le x264 officiel.
    Si l'on remplace le x264.exe (dossier codecs) par la version patchée, il est possible d'utiliser les commandes --bff (--tff ) --vbv-bufsize x--vbv-maxrate y (voire extra options dans la config avancée)

    -------------------------------------------------------

    Pour le monde software PC (et les 3 décodeurs testés)
    Avec la version officielle, si l'on encode des sources TFF ( HDV, AVC-HD,...) ou des source DV que l'on a converties TFF, il faudra en plus, utiliser impérativement Core AVC comme décodeur.

    Si l'on utilise VLC ou ffdshow comme décodeur et désentrelaceur 50p, il faut tout convertir en BFF avant l'encodage

    Avec la version patchée, on fonctionne comme en mpeg2, on indique l'ordre des trames et les décodeurs désentrelacent parfaitement

    Je n'ai pas pu tester d'autres décodeurs softwares et des décodeurs hardware (platines h.264 , PSP) vu que j'en ai pas donc je ne sais pas comment celles-ci se comporteront.
     
    • Je recommande ! Je recommande ! x 1
  6. STEF

    Points Repaire:
    5 330
    Recos reçues:
    32
    Messages:
    6 612
    Appréciations:
    +1 / 0 / -0
    Toi t'es costaud !
    Ca fait plaisir de te lire ... si tu savais combien de temps cela fait que je recherche des personnes qui s'y connaisse autant !!

    En décoder : Media Player Classic Home Cinéma
    => Media Player Classic - Home Cinema - Video Player
    décodage par DVXA ou EVR (décodage via Hard des cartes graphiques)

    Quant à mettre du DV en upper ... il faudrait presque ne pas avoir d'ordinateur et bricoler sur Mac pour vouloir faire çà sans le savoir ^^

    ++
     
  7. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Super boulot : bravo :bravo:
    Si tes fichiers ne sont pas trop lourds, peux-tu les mettre sur un serveur genre megaupload, rapidshare ou autre ?

    Je peux les tester sur un tvix 5100 (puce sigma), un xtreamer (puce realtek) ou une ps3.
     
  8. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    C'est vrai que j'avais pas testé en DVXA. (ati radeon HD 4550) désentrelacement automatique 50p

    je rajoute donc

    x264 officiel + mediacoder (x264 officiel)
    avec la commande --interlaced
    kayak tff - non désentrelacé*
    kayak bff - non désentrelacé*

    *ici, le non-désentrelacement est complètement lié à ma CG ati et à mes drivers
    bizarre mais c'est comme ça

    x264 patché et mediacoder + x264 patché
    avec la commande --interlaced
    kayak tff - OK
    kayak bff - KO
    * dans l'aide (--help) il est indiqué que --interlaced = --tff

    x264 patché et mediacoder + x264 patché
    avec la commande --bff
    kayak bff -> OK
    kayak tff -> Ko

    avec la commande --tff
    kayak bff -> KO
    kayak tff -> OK

    Il me semble évident que le décodage des trames dans le bon ordre de vidéos- x264 est chaotique.

    C'est d'ailleurs pas le seul pb du x264.
    L'authoring BR est semble-t'il également problématique.
    Le patch nal-hdr etant d'ailleurs originellement une réponse à ce pb .

    @Baloub
    je met le tout sur rapid share (zip 103 mo)
    [edit]
    mediafire (7z 73 mo)
    [/edit]

    14 encodages mp4
    3 release x264 (officielle - patechée - mediacoder)
    La ligne de commande x264
    les deux scripts avisynth d'import tff et bff

    pour la compréhension des fichiers j'ai utilisé
    encodeur-ordre des frames -commandex264 .mp4
    les vidéos sont également "tatouées" en fonction de leur parité.

    manque que la source yuv (que j'avais auparavant convertie en avi lossless)
    [edit]
    nouvelle URL avec correction d'un fichier erroné[/edit]

    test_ordre_des _trames.7z 73 mo
     
    #23 jabali, 22 Septembre 2009
    Dernière édition: 17 Octobre 2009
  9. STEF

    Points Repaire:
    5 330
    Recos reçues:
    32
    Messages:
    6 612
    Appréciations:
    +1 / 0 / -0
    et donc ? en décodage HARD, quelle serait la solution ?

    ++

    SteF

    ps : je t'ai envoyé un MP
     
  10. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    Pour que le décodage et (surtout )le désentrelacement 50p soient corrects il faut que le désentrelaceur connaisse l'ordre des trames.
    La problémétique est classique en mpeg2 et un flux mpeg2 est taggé soit upper soit lower. Le décodeur (désentrelaceur) agit en conséquence.

    Avec le codec x264 ca m'a l'air moins évident.
    Pas de flagg TFF ou BFF, juste une commande --interlaced qui active le mode MBAFF

    Les décodeurs n'ont visiblement pas d'info pour savoir si l'entrelacement est TFF ou BFF.
    Ma carte ati HD 4550 elle ne reconnait même pas le flux comme entrelacé.
    (surement un bug de drivers mais aussi symptomatique du coté "aléatoire" du taggage entrelacé x264.

    - Dans l'absolu, on ne devrait plus avoir besoin du BFF.
    La HD c'est 100 %TFF donc on peu imaginer que en l'absence d'information précise, le décodeur "assume" TFF.
    (ce que semble faire core AVC).
    Donc être en environnement TFF c'est mettre le max de chance de son coté.

    Seulement, le format BD supporte aussi le SD 576i
    Donc la retro-compatibilité avec l'entrelacé BFF doit aussi être assurée.
    Dans ce cas, le x264 c'est surement pas la meilleure pioche.
    A moins de convertir TFF ( et espérer que le décodeur assumera tff) ou d'utiliser la version patchée qui semble quand même bien mieux "communiquer" avec les décodeurs.

    Quant à la compatibilitée 100% Blu ray ou hardware :rolleyes:
    Unité-Vidéo :: Voir le sujet - Où trouver version x264 patchée pour le multi-slicing ?


    Pourquoi le patch nal-hdr n'est pas inclu dans x264 officiel
    [ame=http://forum.doom9.org/showthread.php?t=133652]HRD patch in latest x264 builds? - Doom9's Forum[/ame]
     
  11. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Bon, voilà le résultat de tests 100% hardware à partir des fichiers de jabali
    Matériels testés :
    - Sony PS3
    - Dvico Tvix 5100 (puce sigma 8623)
    - Storex AIVX 370 (puce sigma 8635)
    - Xtreamer (puce realtek RDT 128XX)

    Observé sur TV LCD via HDMI

    Résultats :
    [​IMG]

    Commentaires :
    - Le Xtreamer se moque complètement des flag. Pour lui il n'existe que du TFF (il lit toutefois parfaitement les Mpeg2 en BFF)
    - Les 3 autres respectent les flags.
    - Seule la version patchée est fiable : les flags qu'ils soient juste ou faux sont correctement interprétés.

    Par "progressif" il faut comprendre que les boitiers ne désentrelacent pas (présence caractéristique de stries)

    Inversion ** : Si on met en pause puis qu'on la libère la lecture peut reprendre toujours inversée ou bonne. Seul le tvix et le storex réagissent comme ça. La PS3 demeure inversée.
     

    Fichiers attachés:

    • Je recommande ! Je recommande ! x 2
  12. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    :bravo:
    super complément hardware
    t'as tout ça chez toi ? :)

    Ma CG ATI se comporte donc comme la PS3 , TviX ou Storex.
    Elle ne désentrelace pas le x264 officiel --interlaced.

    Un résultat m'étonne cependant , celui du x264-patch_kayak_Tff--interlaced.mp4.
    d'aprés la doc, --interlaced <== > --tff
    Donc le résultat devrait être comme celui de x264-patch_kayak_Tff--tff.mp4.

    Je sais que vers la fin de mon test, aprés avoir noté les résultats :D j'ai écrasé sans faire gaffe un fichier en testant médiacoder.:o

    Je me demande si x264-patch_kayak_Tff--interlaced.mp4 ne correspond pas en fait à mediacoder-kayac_TFF.mp4

    (en fait c'est sür, je viens de refaire l'encodage et le test software)
    ici la version correcte (7 mo)
    x264-patch_kayak_Tff--interlaced(2).mp4
    Désolé pour cette erreur

    Encore une fois merci pour le test hardware :jap:
    Ca commence à devenir un peu plus clair cette histoire.

    ps j'ai aussi corrigé le téléchargement global en incluant le fichier correct
     
    #27 jabali, 23 Septembre 2009
    Dernière édition: 23 Septembre 2009
  13. JJFFC

    Points Repaire:
    3 170
    Recos reçues:
    7
    Messages:
    367
    Appréciations:
    +7 / 28 / -5
    "pour bien faire les choses, on fait comme il faut et on met le MPEG2 en trame du haut, sinon vlàtipa les galères d'images bien vibrantes ;)

    "justement j'encode en notament du HDV en h264 12 Mb/s profile High 4.1 + CABAC et 3 B Frame avec CUDA, via Badaboom ou Mediacoder et la qualité est similaire au x264 pour une vitesse à 2x le temps réel.


    Je suis d'accord avec ces deux points.

    Cependant, sur la qualité, il me semble qu'une solution un peu plus lente comme DivX pro en .mkv est d'encore meilleure qualité pour le "même prix".
     
  14. STEF

    Points Repaire:
    5 330
    Recos reçues:
    32
    Messages:
    6 612
    Appréciations:
    +1 / 0 / -0
    sauf que si je veux faire un authoring BLu Ray, il faudrait réencoder le Divx Pro en h264 compatible Blu Ray ... là je remux le mkv et ça roule ^^
     
  15. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Résultat des tests avec le bon fichier "x264-patch_kayak_TFF--interlaced.mp4"

    [​IMG]

    J'ai essayé aussi un fichier h264 codé par Mainconcept en entrelacé standard (c'est à dire non MBAFF) sur le Xtreamer et là l'appareil respecte bien l'ordre des champs que le fichier soit TFF ou BFF.
    (x264 ne propose pas ce mode de codage)

    Je me demande si, finalement, ce n'est pas ce boitier qui a raison de procéder ainsi.
    Respect des flags TFF ou BFF pour de l'entrelacé "classique" (MPEG2 ou MPEG4) et en présence du flag MBAFF il considère uniquement "entrelacé TFF" sans s'occuper de rien d'autre.
    (En plus ça m'arrangerai car c'est le boitier qui a le meilleur désentrelacement 50i vers 50p :-) )

    La conclusion est qu'il ne faut utiliser que le TFF pour coder de l'entrelacé en h264 et uniquement avec la version patchée.
    On sera ainsi sûr d'avoir un taux de décodage correcte de 100%
     

    Fichiers attachés:

Chargement...

Dernières occasions

 

Partager cette page