digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Convertir y Codificar Video (Español) (http://www.digitalfaq.com/archives/espanol/)
-   -   Como trabajar con aspectos, manualmente. (http://www.digitalfaq.com/archives/espanol/7050-trabajar-aspectos-manualmente.html)

kwag 12-07-2003 06:01 PM

Como trabajar con aspectos, manualmente.
 
Saludos a todos,

Me encontre esto en el net.
Es en ingles, pero es el procedimiento completo, manual, para hacer aspectos correctos y codificar el area de pixeles visibles sin codificar areas negras.
Para los que interesen hacerlo manualmente, en vez de hacerlo en 10 segundos, como lo hace MovieStacker y FitCD.
Basicamente, esto es lo que hace MovieStacker, de manera automatica.

-kwag

http://www.digitalfaq.com/archives/i.../2003/12/1.jpg

sertinell 05-03-2004 10:30 AM

Hola permiteme retomar este post del baul de los recuerdos.

Eso para DVD esta muy bien pero para avi como lo acemos, tengo un avi sin bandas negras (mi avi de pruebas). Como se el aspectratio, me refiero al original, ya he dividido la resolucion vertilcal por la horizontal. y he seguido el "manual" pero nada, me sale achatadisimo.

Sim e pudieras poner un link o algo te lo agradeceria muxisimo. Yo pensaba q con una simple regla de tes se solucionaria pero eso solo sirve para resolucion de aspect 1.333 (320:240 , 640:480 , 384:288 , 720:544 ) de las cuales la unica medio normal,utilizada de vez en cuando es 320:240. Pera el resto de resoluciones el cacao puede ser impresionante para 352:576 me resulta casi imposible encontrar algo parecido al original y para 352:288 (la qe mas suelo usar) el resize aunqe este mal casi ni se aprecia la diferenciaal usar la socorrida regla de tres.

Saludo y Haber si podeis ayudarme. GRACIAS

Prodater64 05-03-2004 12:58 PM

Hola: Permíteme que te explique con unos ejemplos prácticos a ver si logramos algo.
Quote:


Fuente: 640*480
Targets:
  1. 704*576
  2. 544*576
  3. 528*576
  4. 480*576
  5. 352*576
  6. 352*288
Además podemos querer hacerlo con y/o sin overscan:
  1. 0 Overscan
  2. 8 píxeles de overscan
  3. 16 píxeles de overscan
1 A - Sin overscan por eso la resolución horizontal se mantiene en 704.
  • 640/480=704/x
  • x=(704*480)/640=528
  • Resize: 704/528
  • Addborders(0,24,0,24) que corresponde a 576-528=48 48/2=24
1 C - 16 píxeles de overscan, 8 por cada lado. (704-16=688)
  • 640/480=688/x
  • x=(688*480)/640=516
  • Resize: 688/516
  • Addborders(8,30,8,30) que corresponde a 576-516=60 60/2=30 y 704-688=16 16/2=8
5 C - Uno de los casos que te interesa particularmente. 16 píxeles de overscan, 8 por cada lado. (352-16=336)
  • 640/480=336/x
  • x=(336*480)/640=252
  • Resize: Como 252*2=504<576 utilizamos como resolución vertical 504 y el resize será 336/504
  • Addborders(8,36,8,36) que corresponde a 576-504=72 72/2=36 y 352-336=16 16/2=8
6 C - 16 píxeles de overscan, 8 por cada lado. (352-16=336)
  • 640/480=336/x
  • x=(336*480)/640=252
  • Resize: 336/252
  • Addborders(8,18,8,18) que corresponde a 288-252=36 36/2=18 y 352-336=16 16/2=8



Uno de los puntos que todavía tengo en la nebulosa es el crop que hacen los resizers previamente (el que podemos ver en moviestacker, por ejemplo). No se para que sirven, pero sospecho que es para redondear la imágen a valores que les son óptimos. En este punto seguro que algún otro nos podrá ayudar.

sertinell 05-03-2004 01:31 PM

Hola prodater. Tus sabias opiniones siempre son bienvenidas. Respecto a tu metodo para el resize, creo qe no es correcto. Para los casos qe has nombrado si (aun asi hay cierto error aunqe peqeño por ser resoluciones cercanas al 4/3)
pero por ejemplo:
Quote:

Resolucion de entrada--> 680x352
Resolucion de salida-->480x576
No usamos overscan por lo qe seria: (680/480)=(352/x)
despejamos x y nos da 248 (redondeando a multiplos de 8)
Bueno pues aplicando ese resize el video se muetra correctamente en la pantalla del monitor. pero al grabr en un vcd y verlo en la tele se ve achatado. Cosa normal ya qe la tele lo vuelve a dimensionar a un aspect ratio de 1.333.

De ahi viene el problema. Debemos contar con el nuevo resize qe hara el televisor al no estar el archivo de salida en 4/3.

Saludos

Prodater64 05-03-2004 03:48 PM

Quote:

Originally Posted by sertinell
Hola prodater. Tus sabias opiniones siempre son bienvenidas. Respecto a tu metodo para el resize, creo qe no es correcto. Para los casos qe has nombrado si (aun asi hay cierto error aunqe peqeño por ser resoluciones cercanas al 4/3)
pero por ejemplo:
Quote:

Resolucion de entrada--> 680x352
Resolucion de salida-->480x576
No usamos overscan por lo qe seria: (680/480)=(352/x)
despejamos x y nos da 248 (redondeando a multiplos de 8)
Bueno pues aplicando ese resize el video se muetra correctamente en la pantalla del monitor. pero al grabr en un vcd y verlo en la tele se ve achatado. Cosa normal ya qe la tele lo vuelve a dimensionar a un aspect ratio de 1.333.
De ahi viene el problema. Debemos contar con el nuevo resize qe hara el televisor al no estar el archivo de salida en 4/3.
Saludos

Y no será que siempre tenemos que calcular la resolución vertical, como si la horizontal fuera 704 (si no consideras el overscan), es decir, para tu caso, 680/352=704/x x=704*352/680=364,4235, redondeando a 8 = 368
Resolución de salida = 480*368 + Addborders(0,104,0,104) ya que 576-368=208 208/2=104.
De esta forma, los 480 se estirarán hasta 704, pero en la vertical, al tener la altura máxima permitida, se mantendrá en 368, siendo el "aspecto" final 704*368 (1,91). El "aspecto" original era 680*352 (1,93), correspondiendo la diferencia al redondeo a 8. (0,018)
Para este ejemplo el Moviestacker hace un crop a 674*352, resize a 480*400 y AddBorders(0,88,0,88)

sertinell 05-03-2004 03:59 PM

Vuelvo para responderme yo mismo. Ya lo tengo solucionado. por lo menos en mis ultimas pruebas funciona sin problemas. Ods dejo el codigo en BASH yla traduccion al castellano.
Code:

###########RESIZE#################
##################################
BASE1=$(($BASE-$OVS*16)) #multiplicamos el overscan por 16(8 pixeles a cada lado)
x=`echo "(320*$RESV/$RESH)"| bc -l`
y=`echo "($BASE1*$x/320)"| bc -l`
z=`echo "(($ALTURA*$y)/($BASE1/1.333))"| bc -l`
ALTURA1=$((`echo "scale=0 ; $z/8"| bc -l`*8))
##################################
##################################

Leyenda

Quote:

BASE1=Tamaño horizontal una vez aplicado el overscan
BASE=tamaño horizontal sin overscan
OVS=valor para el overscan
ALTURA=Altura total
ALTURA1=altura del area ocupada por la peli
Y ahora lo redacto, esto puede resultar algo lioso.:

Primero hayamos la resolucion vertical correspondientea 320x240, el aspect ratio es de 1.333. En el segundo paso hayamos la resolucion vertical para una resolucion horizontal= BASE1 y aspectratio=1.333 en el penultimo paso. Pues ya hayamos la resolucion vertical sin bandas. Para en el ultimo hacer el redondeo en multiplos de 8.

En resumen, se trata de una sucesion de distintas reglas de 3 qe al final nos dan elvalor deseado.

Bueno crompobarlo vosotros mismos y si os falla me lo decis qe la efectividad del script depende de ello. :twisted:

Saludos

kwag 05-03-2004 04:02 PM

Muy bueno. Muy bueno. Muy bueno. :)
Mas comida para el cerebro :lol:
Gracias por los numeritos. Ahora, a jugar con esto :cool:

-kwag

sertinell 05-03-2004 04:08 PM

Hey !! Posteaste mientras escribia.
A buenas horas paprece el amigo kwag a exarnos una mano :!: :twisted: :wink:

Saludos :!: :!: :!:

P.D. Vuelvo a preguntar por enesima vez: No hay nadie mas usando linux?


All times are GMT -5. The time now is 12:46 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.