La vidéo 4: 3 a une résolution de 720×480

Jessayais de faire du montage et de lencodage vidéo. Jai une soi-disant vidéo SD qui devrait être au format dimage 4:3. Mais au lieu de 640x480, il sagit de 720x480. Fait intéressant, lorsque je le joue avec un lecteur multimédia, ce que je vois est 640x480 – il nest pas lu comme 720x480!

Que se passe-t-il?! Comment cela pourrait-il être possible?

Réponse

Vidéo SD numérisée 525/60 selon la Rec. 601 fait en effet 720 pixels de large, 480 pixels de haut, y compris quelques masques sur les côtés. Léquivalent numérique de 625/50 est 720×576. Dans les deux cas, le rapport hauteur / largeur de limage est de 4: 3, cela signifie simplement que les pixels ne sont pas carrés. Voir https://en.wikipedia.org/wiki/D-1_(Sony)

Pour rendre les choses plus complexes, seul un sous-ensemble du cadre en a 4 : 3 proportions. Je crois que seuls les 704×480 (pour 525/60) et 704×576 (pour 625/50) ont des proportions 4: 3. Voir la discussion ici: https://lurkertech.com/lg/video-systems/

Donc, 480 pixels sont 10/11 en proportion, 576 pixels font 59/54 en proportion. Voir aussi ici: https://en.wikipedia.org/wiki/Pixel_aspect_ratio Et noubliez pas que les formats 480 et 576 lignes peuvent également être grand écran (16: 9) mais ayant le même nombre de pixels par ligne! De plus, des nombres comme 59/54 ne sont pas faciles à utiliser. Tout cela a fait que pour le format 576 lignes, le rapport hauteur / largeur des pixels a été choisi comme 12/11 pour le rapport hauteur / largeur de lécran 4: 3, et comme 16/11 pour 16: 9.

Les pixels carrés sont devenus la norme à partir de ladaptateur vidéo VGA je crois, puis des spécifications HD pour la vidéo 720 lignes et 1080 lignes. À propos, il existe certains formats HD qui enregistrent 1440 x 1080 ou 960 x 720, mais ayant un rapport hauteur / largeur dimage 16: 9, ils ont également des pixels non carrés. Les pixels carrés sont des développements relativement récents et ne devraient pas être automatiquement attendus.

Commentaires

  • Merci pour la description. Je ‘ m jouer avec FFmpeg pour certaines expériences (pour voir si les deux ont les mêmes longueurs de scène). Donc, comme la lecture est la même, devrais-je supposer à partir de ffmpeg, que les 640×480 et 720×480 sont identiques?!
  • ffmpeg, (pas ffplay) ne jamais redimensionner les vidéos en le rapport hauteur / largeur de laffichage, donc les filtres et les encodeurs ne fonctionneront que sur les données raster, qui sont 720×480, dans votre cas.
  • les pixels non carrés vous obligeraient probablement à rééchantillonner la vidéo, le pire transcodage connu de lhumanité, pour y remédier.

Réponse

Il y a 2 choses différentes:

  • La largeur et la hauteur réelles des cadres (en pixels) – voir la partie verte de limage suivante.
  • La largeur et la hauteur affichées (pendant la lecture) – voir la partie bleue de la même image.

Le problème est survenu dans lancien mauvais jours, lorsque la résolution des appareils (nombre de pixels dans limage) était très faible, mais que le rapport largeur / hauteur requis pour la lecture était de 4: 3.

La solution (en ces jours) était linvention des pixels non carrés.


Par souci de simplicité, supposons (théoriquement) des dimensions très faibles:

  • requis: 4 x 3 pixels (i. e. 12 pixels) par image.
  • réel possible (pour le prix acceptable): 3 x 3 (soit 9 pixels).

La solution était des pixels non carrés avec le rapport hauteur / largeur des pixels ( PAR ) 4: 3 , comme ici:

entrez la description de limage ici

Donc, le rapport hauteur / largeur des pixels ( PAR ) est le rapport des tailles de chaque pixel individuel:

Chaque bleu les pixels de notre image ont PAR 4: 3, et chaque orange et chaque vert a PAR 1: 1.

Maintenant, toute notre image (bleue) est affichée correctement, comme nous le voulions – e. g. comme 12 cm x 9 cm – donc son rapport hauteur / largeur daffichage ( DAR ) est 12: 9 , ou 4: 3.

Malgré cela, il est enregistré au format 3 x 3 pixels – donc le Ratio daspect du stockage ( SAR ) est 3 pixels: 3 pixels, ou 1: 1.

Indice:

  • le rapport hauteur / largeur des pixels ( PAR ) est micromètres: micromètres
  • format daffichage ( DAR ) est en centimètres: centimètres
  • le format de stockage ( SAR ) est de pixels: pixels

Par conséquent, la relation entre ces 3 valeurs sont

                          DAR = SAR × PAR

La remarque importante:

Parfois est PAR (Pixel Aspect Ratio) appelé Sample Aspect Ratio comme dans FFmpeg . Malheureusement, son abréviation est alors SAR , ce qui est très déroutant, car – comme nous lavons vu – cest aussi le abréviation pour le ratio daspect de stockage.


Le principal problème:

De nos jours, tous les appareils ont un rapport daspect en pixels de 1: 1 (pixels carrés), et de nombreux lecteurs multimédias, principalement pour les petits appareils (téléphones portables, tablettes), en dépendent, ignorant totalement la valeur DAR stockée dans flux vidéo.

Vous pouvez donc rencontrer la situation où la même vidéo (réalisée à partir de toutes les sources) est lue correctement sur votre ordinateur de bureau ou portable, mais de manière incorrecte (rétrécie) sur votre smartphone. Ou même sur le autre lecteur multimédia sur le même ordinateur ou appareil.

Dans notre exemple, les cadres peuvent être mal affichés sous forme de carré (voir la partie verte de limage ci-dessus).


La solution de ce problème dans FFmpeg:

  • redimensionner la vidéo problématique, puis
  • s et le SAR de celui-ci à 1, et
  • le DAR a très probablement la bonne valeur, mais vous pouvez la définir pour en être sûr.

Dans notre exemple (irréel) vous peut utiliser le graphe de filtrage

-vf scale=4:3,setsar=1,setdar=w/h 

w est le avec des cadres (juste mis à léchelle) en pixels, h est leur hauteur. FFmpeg remplace automatiquement les valeurs appropriées.

Le résultat sera la partie orange de limage ci-dessus.


Dans votre cas, votre vidéo a (daprès vos informations)

  • DAR 4: 3 (640: 480),
  • SAR (Ratio daspect de stockage) 720: 480 = 3: 2, et – par conséquent –
  • PAR = DAR / SAR = 8: 9. (Dans la terminologie FFmpeg, il sagit de SAR – Exemple de rapport hauteur / largeur).

Donc pour éviter les problèmes avec les lecteurs multimédias ignorant la valeur DAR (et la lire dans la proportion 720: 480, vous pouvez envisager de convertissez-le avec la commande

ffmpeg -i your_input_file -vf -scale=640:480,setsar=1 -c:a copy your_output_file 

Problèmes avec des images avec des pixels non carrés:

Avec les images, la situation est encore bien pire:

Presque tous les visionneurs / éditeurs dimages et les navigateurs Internet ignorent simplement les images SAR et DAR , en supposant que tout les images du monde entier ont SAR 1: 1.

Lexception honorable est (chose intéressante et étonnamment) Microsoft Windows Photo Viewer, qui affiche toutes les images corre ctly.

Vous pouvez en être convaincu e. g. par le Test d’acidité du rapport hauteur / largeur des pixels – les 9 images devraient être affichées correctement dans votre navigateur, mais – très probablement – elles ne le sont pas.

Commentaires

  • bien décrits. Merci! Les deux sont corrects. Une fois que le nombre dups augmente, mettra à jour la meilleure réponse.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *