¿Cómo convertir una película de 16: 9 a una versión de buzón de 4: 3?

11

Suponga que tiene un archivo de película de formato ancho de relación de aspecto 16: 9 y desea hacer una versión ideal para reproducir en un dispositivo 4: 3. Como no desea recortar ninguna imagen o distorsionar la imagen, desea crear una versión de buzón.

Es decir, desea una película de 4: 3 con barras negras en la parte superior e inferior que rodea el rectángulo de la imagen en movimiento, que tiene verdaderas dimensiones de 16: 9.

¿Puede decirnos cómo hacer esto en Windows o Linux, utilizando herramientas gratuitas de línea de comandos o GUI?

dggoldst
fuente

Respuestas:

11

Las versiones más recientes de ffmpeg desprecian las opciones "padtop" y "padbottom". Para hacerlo con la nueva versión, use la misma lógica básica anterior. En mi caso, mi video original era 720x404, pero quería codificar 720x480, rellenando la parte superior e inferior. Entonces por arriba:

(480-404) / 2 = 38

es decir, rellena 38 píxeles tanto en la parte superior como en la inferior. El comando "pad" quiere el tamaño del video que está codificando y qué tan a la izquierda y abajo desea mover el original. Entonces:

-vf pad=720:480:0:38

tenga en cuenta que la resolución de salida debe escribirse como 720: 480 no 720x480

Puntilla
fuente
ver ffmpeg.org/ffmpeg-filters.html#pad para más detalles.
Meekohi
7

Esto se puede hacer en ffmpeg. Antes de comenzar, lea este excelente recurso para comprender las matemáticas: http://www.doom9.org/index.html?/aspectratios.htm

Primero, calcule los valores de relleno superior e inferior.

long=width of original,
skinny=height of orginal
totalPadding = .75*long - skinny
top padding = bottom padding = totalPadding / 2

NOTA: si los rellenos superiores e inferiores no son NÚMEROS INCLUSO, fuerce incluso para que sumen el Relleno total (por ejemplo, no 47 y 53, sino 48 y 52 para obtener 100)

En segundo lugar, agregue barras de buzón y asegúrese de que el archivo externo sea reconocido como 4x3. Supongamos que sus rellenos resultan ser de 58 píxeles para la parte superior e inferior

ffmpeg -i Infile.avi -padtop 58 -padbottom 58 -padcolor 000000 -aspect 4:3 Outfile_letterbox.mpg
dggoldst
fuente
2

Descargue e instale Avisynth . Abra el bloc de notas, ingrese lo siguiente:

AviSource("c:\movies\somemovie.avi")
BicubicResize(720,266,0,0.5)
AddBorders(0, 106, 0, 108)

Guárdelo como mymovie.avs y colóquelo en su codificador.

Puede que tenga que ajustar el cambio de tamaño y los bordes, pero generalmente puede ver lo que está sucediendo aquí. Además, si su video no se carga con AviSource, reemplácelo con DirectShowSource.

Penetración
fuente
1

¿Por "ideal" supongo que su dispositivo de reproducción está estirando videos?

La situación ideal es no agregar barras negras al video, sino mostrar el video con barras negras; volver a codificar un video para agregar barras no solo infringe la regla de "codificar una vez", sino que también reduce la calidad general por bit agregando información adicional e inútil.

¿Puedes explicar más qué problema estás tratando de resolver?

salmón
fuente
Tengo un televisor 4: 3. Tengo 16: 9 películas. Los grabo en DVD reproducibles y sucede una de dos cosas: 1) se redimensionan a 4: 3 (es decir, se estiran) 2) no se estiran pero no se muestran como buzones. Como es imposible que una imagen 16: 9 sin estirar llene una pantalla 4: 3, esto significa que los bordes se están recortando. Estoy usando un software comercial cursi para hacer DVD reproducibles (Cyberlink PowerProducer). Tal vez ese sea el problema. Estoy abierto a otras formas de hacer los DVD a partir de archivos .avi y .mpg en primer lugar.
dggoldst
Ahhh, está bien, ahí está el problema: ya no uso discos, pero sugiero comprar otro software, por lo que creo que necesitas poder exportar con píxeles anamórficos, esto estirará el video a 4: 3 pero dígale al jugador que cambie la proporción.
salmonmoose