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.

Compression 16/9ème virtualdub

Discussion dans 'Archives moteurs' créé par RomainD2, 1 Mai 2007.

Tags:
  1. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    Bonjour,

    Je compresse souvent des vidéo provenant d'un démodulateur satellite, et je l'importe dans virtualdub pour l'encoder en divx mais divers trucs m'énerve.

    Par exemple, lorsque j'enregistre NRJ12 qui est en 16/9ème, quand je lis directement le fichier mpeg2, j'ai bien du 16/9ème, ce qui m'intrigue, c'est la résolution qui est de 720*576, ce n'est pas du 4/3 ça?

    Ensuite quand je l'importe dans Virtualdub, j'ai bien du 4/3, mais je veux du 16/9ème, donc je met un filtre resize et met 720*480 pour avoir du 16/9ème.

    J'encode, tout se passe bien, seulement, sur mon écran de PC, avec VLC j'ai des bandes noires de chaques cotée et en haut et en bas, j'ai aussi ma tv lcd branchée sur l'ordi et quand je diffuse la vidéo dessus, je n'ai pas de bandes sur le coté et j'ai bien du 16/9ème.

    Par contre quand je grave le divx et que je le regarde sur ma platine, je n'ai pas du 16/9ème mais presque du 4/3 (petite bande en bas)

    Alors la question est comment avoir du vrai 16/9ème et pourquoi avec une résolution de 720*576, on a du 16/9ème a l'origine mais pas dans virtualdub.

    Merci.
     
  2. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 613
    Appréciations:
    +0 / 20 / -1
    Non, c'est du 5/4. (720/576 = 5/4 = 1.25)
    Non, dans VD tu as toujours du 5/4

    Il faut bien comprendre que le nombre de pixels et le format d'affichage sont deux choses différentes.
    Il y a 3 grandeurs qui régissent tout ça :
    SAR : stockage aspect ratio : nb de pixels en largeur / nb de pixels en hauteur
    DAR : display aspect ratio : ce qu'on veut en sortie : 16/9 ou 4/3 ou 2.35...
    PAR : pixel aspect ratio : largeur d'un pixel / hauteur d'un pixel

    On connait le premier (SAR), c'est par exemple 720x576.
    On veut le deuxième comme affichage (DAR) 16/9 par exemple (=1.777)
    Il faut donner au codec le 3 ème (PAR).

    PAR = DAR / SAR
    dans le cas ci-dessus : 1.777 / 1.25 = 1.422

    Encore faut-il que l'encodeur propose de définir ce paramètre. Jamais réussi en Divx. Par contre c'est tout à fait possible en Xvid : cliquer sur "more" en face de "profile & level" et mettre la valeur dans l'onglet "aspect ratio".

    Je procède de cette façon. VLC et mon boitier Tvix respectent ces flags.

    Ca évite un redimensionnement inutile de l'image.
    Pour les lecteurs de salon, tout dépend s'ils respectent ces flags ou s'ils considèrent que le PAR est toujours 1....
    Dans ce denier cas, il n'y a pas d'autres solutions que de redimensionner la source au bon rapport (16/9 ou 4/3)
    Dans virtualdub, c'est normal. Par défaut il affiche toujours un aspect ratio de 1. On peut modifier avec un clic droit dans la fenêtre et choisir 16/9 par exemple. Mais ça ne concerne que l'affichage.
    Si on veut modifier les tailles du fichier produit il faut faire un resize.
     
  3. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    Merci pour cette explication extrèmement claire, alors par exemple j'ai une vidéo mpeg2 avec un sar de 720*576, en sortie je veux du 16/9ème mais normalement c'est ce que j'ai en entrée, mais apparament c'est du 5/4 donc.

    Seulement, j'ai des bandes noires a droite et gauche et en haut et bas, donc avec le filtre resize, je fait un cropping, ma résolution est désormais de 686*542, résolution qui n'est pas supportée par le codec divx ou xvid, d'ou l'intéret suplémentaire du resize, seulement comment choisir le resize pour ne pas modifier le rapport largeur hauteur? Si je met 720*480, cela applatit l'image et 720*576, cela l'agrandit.

    Merci encore.
     
  4. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 613
    Appréciations:
    +0 / 20 / -1
    Je comprend pas tes valeurs.
    Si tu veux faire un resize et avoir du 16/9 en sortie il faut donner aux valeurs de sortie le rapport 16/9 et un PAR de 1.
    Comme ça, ça passera partout.

    On part d'une vidéo en 720x576.
    Soit cette vidéo est du 4/3 (affichage) et tu resize dans le genre : 640x480 ou tout autres valeurs acceptées par l'encodeur et les lecteurs, mais tjr dans le rapport 4/3

    Soit la vidéo est du 16/9 (affichage) et tu resize en 640x360 ou 720x406...
    En xvid tu met un PAR de 1:1 comme ça tout le monde est content. Les lecteurs qui respectent ce flag comme ceux qui le considère toujours à 1.

    Dans VD prendre le filtre resize et l'algo lanczos3.

    Tu n'as pas à utiliser de cropping :perplexe:
     
  5. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    Merci, je vais tenter un encodage en xvid comme tu m'as dit, par contre je ne connais pas le lanczos3, je l'ai mi, j'imagine que cela croppe automatiquement nan?
     
  6. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    L'encodage c'est bien passé, mais je ne sais pas a quoi sert le lanczos3 et j'ai toujours les bandes noires. J'ai bien du 16/9ème, il faut que je fasse donc un cropping pour éliminer les bandes?

    Au passage, c'est quoi le meilleur entre xvid et divx?

    De plus, peut-on encoder une source sd en HD en divx et est-ce que cela améliore la qualité de l'image comme pour l'upscaling?
     
  7. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    lanczos3 c'est un algo de resize trés précis qui accentue pas mal (sharp).
    belle image accentuée mais plus difficile à encoder (plus de bitrate nécéssaire).

    un peu moins sharp, plus compressible, t'as aussi le précise bicubic A=0.75.
    mais bon c'est pas le sujet..

    lanczos (comme bicubic ) ne croppent pas.

    tu peux cropper si tu veux mais il faut impérativement redimentionner, en suivant, dans la résolution qui correspond au visionnage.
    ici aprés crop, largeur/hauteur = 1.26 , idem avant crop donc tu es dans du 16/9 video TV classique. Donc résolution visionnage L/H = 1.77:1
    Mais attention,
    Dans le cas d'un film cinéma, il faudra redimentionner, aprés croppage, à la résolution correspondante au visionnage cinéma(1.85:1 ; 2.35:1 etc..)
    si on croppe, il faut savoir comment on redimentionne.

    Si tu ne croppes pas, il suffira de redimentionner dans tous les cas avec un L/H de 1.77 (16/9) sans se préocupper de la résolution de visionnage cinéma.
    D'où les valeurs qu'a donné baloub. ou celles que tu veux (multiples de 16 préférables) du moment que le rapport 1.77 est respecté.

    enfin, attention à l'entrelacement éventuel.
    redimentionement => désentrelacement.

    bye
     
  8. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    Ah cela devient compliqué.

    Quand tu dis plsu difficile a encoder, c'est en temps ou c'est que la qualitée s'en fait ressentir? Cela améliore l'image?

    Alors après cropping, j'ai une résolution de 686*542 donc L/H = 1.27
    Après encodage, pour avoir une résolution 16/9ème supportée par le codec xvid, il faut une résolution de 720*406 soit L/H = 1.77, donc cela ne fait pas le meme rapport, c'est pas bon? La je ne comprend pas le terme de résolution de visionage, quel est le rapport entre le 1.26 calculer avant et après crop et le 1.77?

    Le problème c'est que je veux cropper, je ne comprend pas comment je peux arriver a un rapport de 1.77, au final, le rapport pour du 16/9ème, c'est 1.26 ou 1.77 car avant encodage on est à 1.26 et après on est a 1.77.

    Désolé pour mon incompréhension.
     
  9. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 613
    Appréciations:
    +0 / 20 / -1
    Salut romain,

    désolé pour la réponse tardive (absent la soirée).
    Il y a un truc qui me chiffonne : quand tu dis 16/9, tu parles d'une image en vrai 16/9 (anamorphosée) ou d'une image 4/3 avec des bandes noires ?
    Dans le premier cas tu dois avoir des personnages étirés en hauteur (signe de l'anamorphose) et sans bandes noires.
    Dans le deuxième cas, l'image est normale avec des bandes noires.

    (dans le premier cas, il peut y avoir aussi des bandes noires s'il s'agit d'un film cinéma en 2.35. Mais les personnages sembleront quand même étirés en hauteur, ou compressés en largeur comme on veut )

    Comme tu dis que ta source est satellitaire, j'aurai tendance à penser que c'est du faux 16/9 (le vrai 16/9 est plutôt râre sur sat, contrairement à la TNT).

    Donc voilà une marche à suivre possible :
    - import de ton fichier dans virtualdub
    - clic droit et choisir dans aspect ratio : 4/3
    - regarder la tronche des personnages.

    On va prendre les divers 4 cas possibles :

    1)- les personnages sont "normaux" et il n'y a pas de bandes noires :
    On est en présence d'une image 4/3 : pas de cropping à faire. Il faut juste faire un resize en donnant un rapport 4/3 à l'image (640 x 480 par ex) puis configurer les codecs audio et vidéo et encoder.

    2)- Les personnages sont normaux et il y a des bandes noires :
    On est en présence d'une incrustation 16/9 (ou 2.35) dans une image 4/3. Là effectivement tu peux faire un cropping. Il faut simplement déterminer s'il s'agit d'un 16/9 ou d'un film cinéma en 2.35.1.
    Le plus simple, c'est bêtement de mesurer directement sur l'écran la largeur et la hauteur de l'image utile puis Largeur / hauteur = X (aspect ratio du film.).
    note :S'il y a aussi des petites bandes noires aussi en vertical, la largeur utile est sans ces bandes noires
    Ensuite tu prends le filtre "resize".
    Tu vas maintenant définir la largeur et la hauteur. Le rapport entre les deux sera le paramètre X calculé avant. Si tu as trouvé X= 1.8 et que tu conserves 720 pixels en largeur, la hauteur sera 720/1.8= 400.
    (pour le codec xvid, largeur et hauteur doivent être multiple de 2)
    Ensuite tu fais ton cropping en supprimant visuellement les bandes noires.
    Tu ne touches plus a rien et tu configures tes codecs audio et vidéo puis tu encodes.

    Je pense qu'en satellite tu trouvera un de ces deux cas. En TNT tu peux trouver les deux cas suivant.

    3)- Les personnages sont anamorphosés (étirés verticalement) et il n'y a pas (ou très très peu) de bandes noires. Là il faut juste faire un resize en donnant un rapport 16/9 (1.77) à l'image en sortie. Si tu conserves 720 pixels en largeur, la hauteur sera 720/1.77=406.

    4)- Les personnages sont anamorphosés (étirés verticalement) et il y a des bandes noires.
    Faire un clic droit dans la fenêtre de virtualdub et prendre 16/9 comme aspect ratio.
    Ensuite tu procède exactement comme pour le 2).
    A savoir mesure à l'écran de la largeur et de la hauteur de l'image utile et calcule du rapport X= largeur / hauteur
    puis filtre resize en donnant ce rapport X à l'image finale.
    puis cropping visuel en supprimant les bandes noire (horizontales et verticales s'il y en a)

    En xvid une hauteur et une largeur multiple de 2 sont normalement valides, mais si on veut être absolument sûr que tous les décodeurs pourront lire le xvid on peut être plus méchant et imposer une largeur multiple de 16 et une hauteur multiple de 8.

    C'est plus long à expliquer qu'à faire heureusement :)
     
  10. jabali

    Points Repaire:
    1 880
    Recos reçues:
    28
    Messages:
    729
    Appréciations:
    +0 / 0 / -0
    Code:
    C'est plus long à expliquer qu'à faire heureusement 
    en tout cas c'est magistralement expliqué.
    :bravo: :bravo: :bravo:

    dans le cas DVD -> divx (PAR 1:1) c'est plus facile car la résolution cinéma est sur la boite.
    dans le cas capture TV -> divx (PAR 1:1) il faut la retrouver .

    la largeur de la video doit être cependant multiple de 4 minimum. (c'est une contrainte liée à l'espace de couleur YV12 )
     
  11. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    Pas grave, vu la qualitée de tes explication, je peux bien attendre un peu :bravo: :rire:

    Pour l'originale? C'est du 16/9ème, ce n'est pas du 4/3 avec des bandes noires, cependants, il y a des petites bandes noires, qui ont les memes dimentions (17 quand je croppe) sur tous les cotés de la vidéo.

    Je ne suis pas non plus dans ce cas car les bandes sont aussi sur le coté.

    Je pense que je suis dans ce cas, petites bandes noires d'exactement les meme dimentions en haut, bas droite et a gauche

    Et dans celui la car je suppose que la différence entre les 2 est la grandeur des bandes noires.

    Voici un screen en 1:1

    [​IMG]

    Un screen en lecture du fichier original avec VLC :

    [​IMG]

    Et un screen en choisissant 16/9ème dans virtualdub

    [​IMG]

    Les multiples..., c'est a dire? car avec des multiple de 8 ou de 16, je ne voit pas comment on peut trouver une résolutions raisonable, tu part de quel base pour faire tes multiples?

    Merci encore
     
  12. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 613
    Appréciations:
    +0 / 20 / -1
    Salut,

    Tu es effectivement dans le cas 3.
    Les petites bordures noires sont une zone de sécurité. La plupart des TV font une sorte de zoom sur l'image et "bouffent" une petite surface tout le pourtour de l'image.
    La chaîne a anticipé la chose et reduit l'image utile. La bordure noire ne sera pas affichée sur une TV classique (cause zoom) mais l'image utile sera bien affichée sans trop de dégats.

    Donc tu peux soit la garder, soit la virer.
    Si tu la vires l'image sera sans bandes noires sur un écran d'ordinateur, mais probablement un peu tronquée sur un téléviseur.

    En fait, cette histoire d'underscan ou d'overscan est souvent un casse tête en prise de vue, car toutes les TV ne réagissent pas pareil...

    Pour les multiples, j'ai fait un essai avec des dimensions multiples de 2 en xvid et effectivement ça peut poser problème.
    Donc, faire comme le suggère jabali : multiple de 4. Ca a l'air ok dans tout les cas.
    Par exemple :
    largeur : 720 pixel (720/4=180 : ok)
    hauteur calculée : 720/1.777= 405. 405/4=101.25 pas ok . On prendra 101x4=404.
    La différence 404 au lieu de 405 est imperceptible et les deux dimensions sont des multiples de 4.
    Si on avait voulu une dimension verticale mutiple de 8 on aurait fait :
    405/8 = 50.625 -> arrondi au plus proche 51 x 8= 408.
    Là encore la différence entre 405 et 408 est imperceptible.
     
  13. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    404 et 405 on les apelles donc des multiple de 4? Je ne le voyai en effet pas comme sa.

    Edit, non je viens de comprendre, 404 est un multiple de 4 et 720 aussi, mais pas 405.
     
  14. GEGE92

    GEGE92 Estimé et regretté modérateur

    Points Repaire:
    3 300
    Recos reçues:
    0
    Messages:
    17 283
    Appréciations:
    +0 / 2 / -1
    Non 404 est bien multiple de 4 mais pas 405 donc obligation de passer à 408 ou rester à) 404 avec perte de 1 pixel comme dis par baloub
    @+
     
  15. RomainD2

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    64
    Appréciations:
    +0 / 0 / -0
    Donc on peut partir de 404 et en ajoutant 4 a chaques fois, on obtient les bonnes résolutions?
     
Chargement...

Partager cette page