El video 4:3 tiene una resolución de 720x480

Estaba tratando de hacer algo de edición y codificación de video. Tengo un llamado video SD que supuestamente debería estar en 4:3relación de aspecto. Pero en lugar de 640x480, es 720x480. Curiosamente, cuando lo reproduzco con un reproductor multimedia, lo que veo es 640x480que no se reproduce como 720x480!

¡¿Qué está pasando?! Como podría ser posible?

Respuestas (2)

Hay 2 cosas diferentes:

  • El ancho y la altura reales de los marcos (en píxeles): vea la parte verde de la siguiente imagen.
  • El ancho y el alto mostrados (durante la reproducción): vea la parte azul de la misma imagen.

El problema surgió en los viejos tiempos, cuando la resolución de los dispositivos (número de píxeles en la imagen) era muy baja, pero la relación entre ancho y alto requerida para la reproducción era de 4:3.

La solución (en aquellos días) fue la invención de los píxeles no cuadrados.


En aras de la simplicidad, supongamos (teóricamente) dimensiones muy bajas:

  • requerido: 4×3 píxeles (es decir, 12 píxeles) por cuadro.
  • real posible (por el precio aceptable): 3×3 (es decir, 9 píxeles).

La solución fue píxeles no cuadrados con la relación de aspecto de píxeles ( PAR ) 4:3 , como aquí:

ingrese la descripción de la imagen aquí

Entonces, la relación de aspecto de píxeles ( PAR ) es la relación de tamaños de cada píxel individual:

Cada píxel azul de nuestra imagen tiene PAR 4:3, y cada naranja y cada verde tiene PAR 1:1.

Ahora nuestra imagen completa (azul) se muestra correctamente, como queríamos, por ejemplo, como 12 cm x 9 cm, por lo que su relación de aspecto de visualización ( DAR ) es 12:9 o 4:3.

A pesar de ello, se guarda como 3 × 3 píxeles, por lo que la relación de aspecto de almacenamiento ( SAR ) es de 3 píxeles: 3 píxeles o 1:1.

Pista:

  • la relación de aspecto de píxeles ( PAR ) es micrómetros: micrómetros
  • la relación de aspecto de la pantalla ( DAR ) es centímetros: centímetros
  • la relación de aspecto de almacenamiento ( SAR ) es píxeles: píxeles

En consecuencia, la relación entre estos 3 valores es

              DAR = TAE × PAR

La nota importante:

A veces, PAR (relación de aspecto de píxeles) se denomina relación de aspecto de muestra, como en FFmpeg *. Desafortunadamente, la abreviatura es SAR , lo cual es muy confuso porque, como vimos, también es la abreviatura de Storage Aspect ratio.


El problema principal:

Hoy en día, todos los dispositivos tienen una relación de aspecto de píxeles de 1:1 (píxeles cuadrados), y muchos reproductores multimedia, principalmente para dispositivos pequeños (teléfonos celulares, tabletas), confían en él, ignorando por completo el valor DAR almacenado en las transmisiones de video .

Por lo tanto, puede encontrarse con la situación en la que el mismo video (hecho de todas las fuentes) se reproduce correctamente en su computadora de escritorio o portátil, pero incorrectamente (restringido) en su teléfono inteligente. O incluso en el otro reproductor multimedia en la misma computadora o dispositivo.

En nuestro ejemplo, los marcos pueden mostrarse incorrectamente como un cuadrado (ver la parte verde de la imagen de arriba).


La solución de este problema en FFmpeg:

  • cambiar el tamaño del video problemático, luego
  • establecer el SAR de la misma a 1, y
  • Es muy probable que el DAR tenga el valor correcto, pero puede configurarlo para estar seguro.

En nuestro ejemplo (irreal) puede usar el gráfico de filtro

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

donde westá el ancho de los marcos (recién escalados) en píxeles, hes su altura. FFmpeg sustituirá los valores apropiados automáticamente.

El resultado será la parte naranja de la imagen de arriba.


En su caso, su video tiene (de su información)

  • DAR 4:3 (640:480),
  • SAR (relación de aspecto de almacenamiento) 720:480 = 3:2 y, en consecuencia,
  • PAR = DAR / SAR = 8:9. (En la terminología de FFmpeg es **SAR - Relación de aspecto de la muestra).

Entonces, para evitar problemas con los reproductores multimedia que ignoran el valor DAR (y lo reproducen en la proporción 720:480, puede considerar convertirlo con el comando

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

Problemas con imágenes con píxeles no cuadrados:

Con las imágenes, la situación es aún mucho peor:

Casi todos los visores/editores de imágenes y navegadores de Internet simplemente ignoran las imágenes SAR y DAR , suponiendo que todas las imágenes del mundo tienen SAR 1:1.

La honorable excepción es (interesante y sorprendentemente) Microsoft Windows Photo Viewer, que muestra todas las imágenes correctamente.

Es posible que se convenza de ello, por ejemplo, con la prueba ácida de la relación de aspecto de píxeles : las 9 imágenes deberían mostrarse correctamente en su navegador, pero, muy probablemente, no es así.

Bien descrito. ¡Gracias! Ambos son correctos. Una vez que el número de ups aumente, se actualizará la mejor respuesta.

Vídeo SD digitalizado 525/60 según Rec. 601 tiene, de hecho, 720 píxeles de ancho, 480 píxeles de alto, incluidos algunos espacios en blanco en los lados. El equivalente digital de 625/50 es 720x576. En ambos casos, la relación de aspecto del cuadro es 4:3, esto simplemente significa que los píxeles no son cuadrados. Consulte https://en.wikipedia.org/wiki/D-1_(Sony)

Para hacer las cosas más complejas, solo un subconjunto del marco tiene proporciones de 4:3. Creo que solo el 704x480 (para 525/60) y el 704x576 (para 625/50) tienen proporciones de 4:3. Vea la discusión aquí: https://lurkertech.com/lg/video-systems/

Entonces, 480 píxeles tienen una proporción de 10/11, 576 píxeles tienen una proporción de 59/54. Consulte también aquí: https://en.wikipedia.org/wiki/Pixel_aspect_ratio Y no olvide que los formatos de 480 y 576 líneas también pueden ser panorámicos (16:9) y tener el mismo número de píxeles por línea ! Además, no es fácil trabajar con números como 59/54. Todo esto provocó que para el formato de 576 líneas, la relación de aspecto de píxeles se haya elegido como 12/11 para la relación de aspecto de pantalla 4:3 y como 16/11 para 16:9.

Los píxeles cuadrados se convirtieron en la norma a partir del adaptador de video VGA, creo, y luego de las especificaciones HD para video de 720 y 1080 líneas. Por cierto, hay algunos formatos HD que graban 1440x1080 o 960x720, pero que tienen una relación de aspecto de cuadro de 16:9, también tienen píxeles no cuadrados. Los píxeles cuadrados son un desarrollo relativamente reciente y no deben esperarse automáticamente.

Gracias por la descripción. Estoy jugando con FFmpegalgunos experimentos (para ver si los dos tienen la misma longitud de corte de escena). Entonces, dado que la reproducción es la misma, ¿debo suponer que ffmpeglos 640x480 y 720x480 son idénticos?
ffmpeg, (no ffplay) nunca cambia la escala de los videos a la relación de aspecto de la pantalla, por lo que los filtros y codificadores solo operarán con los datos de trama, que es 720x480, en su caso.
los píxeles no cuadrados probablemente requerirán que vuelva a muestrear el video, el peor tipo de transcodificación conocida por la humanidad, para solucionarlo.