Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Colaboracion]Scripts. ANY2DVD,sin menus(030206 Up)
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 12, 13, 14, 15, 16  Next  
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  

Qe video ves mejor?
menc.m2v
94%
 94%  [ 18 ]
transc.m2v
5%
 5%  [ 1 ]
Total Votes : 19

Author Message
pampero76
n00b
n00b


Joined: 07 Dec 2004
Posts: 8

PostPosted: Sun Jan 02, 2005 12:51 am    Post subject: Reply with quote

Hola, feliz año a todos.

Bueno, yo sigo con lo mío, jejeje, y estoy un poco atascado a ver si alguien me desatasca. He conseguido hacer la captura de frames como quería, en el punto exacto y en el numero requerido. Ahora quiero ponerle a cada frame capturado algo que me sirviera de referencia para identificarlo cuando se muetre al inicio. Habia pensado en ponerle el tiempo de reprodución mediante la opción -osdlevel 2 de mplayer justo cuando hace la captura. Sin embargo no consigo que aparezca, sin embargo al reproducirlo desde la linea de comandos si sale en pantalla (aparece el tiempo que lleva de reproduccion). Parece que solo captura la imagen, el OSD no. Y bueno, ese es el problemilla que tengo ahora. A ver si puedes con eso Amstrad64 , jejejje
Os pongo una imagen de como se vería un menú de presentación. Es de la película de garfield en formato CVD y con 16 capítulos. El script lo hace todo, desde capturar los frames con mplayer hasta el bordeado (borde rojo de cada frame) y posterios montage en mosaico con el comando 'montage' de ImageMagick. A ver que os parece y si os parece que cambie algo o agregue me lo contáis.
P.D. Como veis es necesario ponerle algún número de capitulo o tiempo de reproduccion a cada frame para identificarlo, si no es un poco confuso seleccionar uno sobretodo cuando son tantos como en este caso.

http://img102.exs.cx/img102/9852/out768x5766pa.jpg :lol: :lol: :lol:
Back to top
View user's profile Send private message
Prodater64
n00b
n00b


Joined: 28 Oct 2004
Posts: 63

PostPosted: Sun Jan 02, 2005 6:14 am    Post subject: Reply with quote

pampero76 wrote:
Hola, feliz año a todos.

Bueno, yo sigo con lo mío, jejeje, y estoy un poco atascado a ver si alguien me desatasca. He conseguido hacer la captura de frames como quería, en el punto exacto y en el numero requerido. Ahora quiero ponerle a cada frame capturado algo que me sirviera de referencia para identificarlo cuando se muetre al inicio. Habia pensado en ponerle el tiempo de reprodución mediante la opción -osdlevel 2 de mplayer justo cuando hace la captura. Sin embargo no consigo que aparezca, sin embargo al reproducirlo desde la linea de comandos si sale en pantalla (aparece el tiempo que lleva de reproduccion). Parece que solo captura la imagen, el OSD no. Y bueno, ese es el problemilla que tengo ahora. A ver si puedes con eso Amstrad64 , jejejje
Os pongo una imagen de como se vería un menú de presentación. Es de la película de garfield en formato CVD y con 16 capítulos. El script lo hace todo, desde capturar los frames con mplayer hasta el bordeado (borde rojo de cada frame) y posterios montage en mosaico con el comando 'montage' de ImageMagick. A ver que os parece y si os parece que cambie algo o agregue me lo contáis.
P.D. Como veis es necesario ponerle algún número de capitulo o tiempo de reproduccion a cada frame para identificarlo, si no es un poco confuso seleccionar uno sobretodo cuando son tantos como en este caso.

http://img102.exs.cx/img102/9852/out768x5766pa.jpg :lol: :lol: :lol:


@Pampero:

Que tal, lamentablemente...

:(

Lo máximo que pude descubrir es lo siguiente (voy a seguir con el código Amstrad : :D )

Quote:
set v_duracion_capi=10
set v_movietime=119

"E:\DockingExpress\Mencoder pre6\MPlayer.exe" -ss 10 -frames 50 -vf expand=::::1 -osdlevel 2 -subfont-autoscale 2 -subfont-osd-scale 3 -subfont-text-scale 5 -ao null -vo jpeg:progressive:quality=100 "E:\DockingExpress\Samples\Joining\El Dragon Rojo - DivX.ogg"
ren 00000008.jpg 0_min.jpg
move 0_min.jpg "E:\DockingExpress\Samples\Joining\temp\"

For /L %%G in (%v_duracion_capi%,%v_duracion_capi%,%v_movietime%) do (
"E:\DockingExpress\Mencoder pre6\MPlayer.exe" -SS %%G:00 -frames 50 -vf expand=::::1 -osdlevel 2 -subfont-autoscale 2 -subfont-osd-scale 3 -subfont-text-scale 5 -ao null -vo jpeg:progressive:quality=100 "E:\DockingExpress\Samples\Joining\El Dragon Rojo - DivX.ogg"

ren 00000008.jpg %%G_min.jpg
move /Y %%G_min.jpg "E:\DockingExpress\Samples\Joining\temp\")

For /L %%G in (1,1,15) do if exist 0000000%%G.jpg del 0000000%%G.jpg


-frames 50: En mi caso tuve que elegir este valor, ya que cuando se activa el OSD, aparece una línea de posicionamiento bastante molesta, me tuvo toda la noche pensando en como hacer para sacarla, hasta que por fin me avivé.
La línea de marras:
http://img29.exs.cx/img29/2646/000000016yy.jpg
El asunto es que cada vez que se activa el OSD, aparece durante unos segundos esa línea. En mi ordenador desaparece entre la 7a. y 8a. imagen, a veces en la siete me quedaba corto. Esto tenés que tenerlo presente para dejar un margen de seguridad para otros que vayan a usar el script. Siguiendo con la explicación, como en mi PC me da 1/5 jpg, puse -frames 50, y así obtenía 10 jpgs, el 8º lo renombro y es el que voy a usar.

-vf expand=::::1 -osdlevel 2 -subfont-autoscale 2 -subfont-osd-scale 3 -subfont-text-scale 5

Esta es la línea necesaria para que el OSD se imprima en los jpgs, que no es otra cosa que habilitar los subtítulos, lo que se hace con, -vf expand=::::1. El 1 final es el que los habilita.
-osdlevel 2: Esto ya lo conoces, y nos muestra el tiempo actual de película, en donde se tomó el jpg.
-subfont-autoscale 2: Para que las letras de los subtítulos salgan proporcionales al tamaño de la imagen (como aca no se usan tal vez se pueda sacar, pero ya es muy tarde para mi, probalo vos, por favor).
-subfont-osd-scale 3: En el caso de que prefieras que aparezca la barra de posicionamiento, esto hace que aumente o disminuya de tamaño.
-subfont-text-scale 5 : Lo mismo, pero para los números del reloj.

Todo podés leerlo en http://www.mplayerhq.hu/DOCS/man/es/mplayer.1.html#OPCIONES OSD/SUB

Una imagen final:
http://img102.exs.cx/img102/624/60min6uo.jpg

P.D.: Cómo no me traduzcas el generador de xml para W32... :twisted: :twisted: :twisted:


Editado: Otra idea es que te tu bach genere un archivo de subtítulos, el propio formato de MPlayer es muy fácil de hacer, con subtítulos tipo Capítulo 1, Cap. 2, Cap. 3, etc., que una vez que entren, permanezcan, digamos 30 segundos, así te asegurás que el batch los agarra. Los tiempos se los daría el propio script.
Por si esta solución te interesa, o si lo quieres hacer junto con lo otro, aca te dejo un link con un ejemplo de subtítulo de formato MPLayer:
http://www.mplayerhq.hu/DOCS/tech/mpsub.sub

La extensión debe ser .sub, y el nombre el mismo del mpg. Con esto el MPlayer lo carga automáticamente.
Back to top
View user's profile Send private message
oCHARLIEo
Guru
Guru


Joined: 06 Oct 2003
Posts: 303
Location: Madrid

PostPosted: Tue Jan 04, 2005 1:35 pm    Post subject: Reply with quote

Bueno, chicos siento haber estado ausente tanto tiempo... he tenido muchisimo lio, no os haceis una idea... Me han liado en un proyecto nuevo en el trabajo y no he tenido tiempo ni para respirar. ^_^

A ver, en primer lugar comentaros que aquella version que comentabais de mplayer (1.0 pre6) ya esta disponible como ~x86 en el portage... yo ahora no tengo tiempo pero podria ser interesante echarle un vistazo ¿no? tal vez podamos volver al sistema anterior si esta version se comporta correctamente...

Por otro lado, deciros que he estado probando ffmpeg y que funciona MUY bien, me tiene muy contento... de forma que tengo ya practicamente una version de nuestro script con ffmpeg como unica dependencia... convierte fps manteniendo el tempo y mantiene la velocidad de compresion y la calidad ya que no deja de ser libavc... intentare tenerlo terminado lo antes posible y lo colgare en otra pagina del wiki, asi como unos samples del resultado con el video de Matrix... comentadme que os parece plis.

Por cierto, Feliz año ;)
_________________
Las Mujeres son malvadas, retorcidas, perversas... pero huelen tan bien...

Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
Sertinell
Guru
Guru


Joined: 19 May 2004
Posts: 582

PostPosted: Tue Jan 04, 2005 4:52 pm    Post subject: Reply with quote

Quote:


Por otro lado, deciros que he estado probando ffmpeg y que funciona MUY bien, me tiene muy contento... de forma que tengo ya practicamente una version de nuestro script con ffmpeg como unica dependencia... convierte fps manteniendo el tempo y mantiene la velocidad de compresion y la calidad ya que no deja de ser libavc... intentare tenerlo terminado lo antes posible y lo colgare en otra pagina del wiki, asi como unos samples del resultado con el video de Matrix... comentadme que os parece plis.


Ehy ! me alegro de verte por aqui, me alegra leer qe FFmpeg da buenos resultados, ya qe en la ultima version de mplayer pre 6 , estoy teniendo problemas y no duplica los frames como debe, bueno informa de qe los duplica pero en realicdad no lo hace y cambia la duracion, no es a mi el unico qe tiene ese error, un compañero tambien me lo comunico anoche, y le estuve dando cientos de vueltas, pero opciones qe antes trabajaban bien ahora no lo hacen. Lo mas preocupante: qe mi compañero usa la mplayer-pre5-r4

Respecto a la pre6 hay qe echarle un ojo al ebuild e intentar colaborar para qe contemple la opcion de compilar con toolame, ya encontre la libreria qe me faltaba, esta en el toolame de los CVS...

BUeno a ver qe me contais ;)

Un saludo, voy a seguir empollando ... :(
Back to top
View user's profile Send private message
Prodater64
n00b
n00b


Joined: 28 Oct 2004
Posts: 63

PostPosted: Tue Jan 04, 2005 6:24 pm    Post subject: Reply with quote

Sertinell wrote:
Respecto a la pre6 hay qe echarle un ojo al ebuild e intentar colaborar para qe contemple la opcion de compilar con toolame, ya encontre la libreria qe me faltaba, esta en el toolame de los CVS...
Un saludo, voy a seguir empollando ... :(


A ver si me puedes hacer una compilación (igual que la pre6 pero con toolame) para W32.

Feliz año nuevo para todos.
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Fri Jan 07, 2005 10:00 pm    Post subject: Reply with quote

Hola . He hecho unos cambios en el script . Me parecian lógicos , además , antes no me funcionaba la opción de mplex . Ahora sigue teniendo fallos , pero van disminuyendo .

Ahora os comento . El fichero es :

Quote:
fichero: /home/amule/dvd/hack.avi
############################################
# Video:
# Codec: DIV3
# Resolución: 640x400
# Fps: 25.000
# Bitrate: 389912
############################################
# Audio:
# Codec: pcm
# SampleRate: 22050
# Bitrate: 352800 (1)
# Canales: 1
############################################
# Duracion: 50 segundos
############################################


Todos lo conoceis , estaba en mi página . Con --mplex - bien :
Quote:
..........
INFO: [mplex] MUX STATUS: no under-runs detected.
ug@PIV ~ $

El fichero sale un mpg normal .
Con mencoder puro - tambien . Pero mencoder cambia la duración del video - lo alarga con unos 4 seg.
Quote:
Video stream: 3231,230 kbit/s (403903 bps) size: 22182396 bytes 54,920 secs 1250 frames

Audio stream: 112,000 kbit/s (14000 bps) size: 700224 bytes 50,016 secs



Con otro fichero :
Quote:
## fichero: /home/amule/dvd/bal.avi
############################################
# Video:
# Codec: DX50
# Resolución: 720x528
# Fps: 25.000
# Bitrate: 1350104
############################################
# Audio:
# Codec: mp3
# SampleRate: 48000
# Bitrate: 128 (85)
# Canales: 2
############################################
# Duracion: 80 segundos
############################################

al usar mplex ocurre esto :
Quote:
INFO: [mplex] BUFFERING min 15 Buf max 1859
**ERROR: [mplex] MUX STATUS: Frame data under-runs detected!


Sin embargo el fichero está hasta el final y se ve bien .

Sin polemizar de nuevo - la calidad del fichero multiplexado con mplex es superior al de mencoder . Lo siento , pero con mencoder saltan cuadraditos cada 5-10 seg y con mplex la imagen está bien .

Ahora viene lo peor - la imagen está cuadrada . No se escala bien . Ni con mplex ni con mencoder. He intentado cambiar en :
Code:
BASE_SCALED=$(($OUTPUT_V_WIDTH-$OUTPUT_OVS*16))


el 16 por 8 , como lo teniamos antes , pero no . Sigue igual . Sobre todo el globo terraqueo de Universal al principio de Balto se ve como un huevo (alargado hacia los polos) .

Subo en el WIKI lo que he cambiado . Si a alguien se le ocurre como hacer para mejorarlo - que no se corte , por favor .

Sertinell , de tu página bajé una version antigua (del 17/10) y codifica rematadamente mal - practicamente no se ve mas que cuadrados enormes . Será de las variables , porque la codificación está practicamente como la de los primeros de diciembre antes de cambiar por completo al mencoder .

Una ultima(?) cosa - si intento usar --soundtouch con mplex me sale error en linea 409 :
Code:
mkfifo -m 660 "${FILE_OUTPUT}.wav"


No se puede crear fifo .... Operacion no permitida.

Pero con mencoder no pasa . Y es la misma linea de codigo .

Cosas .
No os aburro más .

Saludos .

EDITADO

En el fichero :
Quote:
############################################
# Video:
# Codec: XVID
# Resolución: 576x304
# Fps: 23.976
# Bitrate: 402664
############################################
# Audio:
# Codec: mp3
# SampleRate: 44100
# Bitrate: 32 (85)
# Canales: 2
############################################
# Duracion: 16 segundos
############################################

codificando con mencoder pasa esto :
Quote:

...............
Forcing output fourcc to 3247504d [MPG2]
Building audio filter chain for 44100Hz/2ch/16bit -> 48000Hz/2ch/16bit...
[channels] The number of routing pairs must be between 1 and 6. Current value is 0
[libaf] Reinitialization did not work, audio filter 'channels' returned error code -2
Couldn't find matching filter / ao format!
ug@PIV ~ $


_________________
Linux user #358087
Back to top
View user's profile Send private message
Sertinell
Guru
Guru


Joined: 19 May 2004
Posts: 582

PostPosted: Sat Jan 08, 2005 10:33 pm    Post subject: Reply with quote

Quote:
Ahora viene lo peor - la imagen está cuadrada . No se escala bien . Ni con mplex ni con mencoder. He intentado cambiar en :
Code:
BASE_SCALED=$(($OUTPUT_V_WIDTH-$OUTPUT_OVS*16))



el 16 por 8 , como lo teniamos antes , pero no . Sigue igual . Sobre todo el globo terraqueo de Universal al principio de Balto se ve como un huevo (alargado hacia los polos) .


Si la estas viendo en el PC es normal qe se vea "cuadrada", compruebalo en una television. La fuente es un Avi sin bandas negras no ?

Quote:

A ver si me puedes hacer una compilación (igual que la pre6 pero con toolame) para W32.

Feliz año nuevo para todos.
Pues tendre qe mirar como se compila para windows desde linux ...
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Sun Jan 09, 2005 4:04 pm    Post subject: Reply with quote

Sertinell , la imagen es cuadrada y es normal , a lo que voy es que está distorsionada . Como dije , el globo de Universal se ve como un huevo .
Ayer estuve repasando la parte de redimensionado de la imagen y , sinceramente , hay cosas que no se entienden en absoluto . No sé de donde apareció esta parte del script (sé que la pusiste tu en el script original) pero no está nada bien .

Code:

    x=`echo "(320*$INPUT_V_HEIGHT/$INPUT_V_WIDTH)"| bc -l`
    y=`echo "($BASE_SCALED*$x/320)"| bc -l`
    z=`echo "(($OUTPUT_V_HEIGHT*$y)/($BASE_SCALED/1.333))"| bc -l`
    ALTURA_SCALED=$((`echo "scale=0 ; $z/8"| bc -l`*8))


linea 1 - algo * 320
porque es 320 y no cualquier otro valor , no lo vamos a discutir .

linea 2 - algo_otro / 320

No le veo el sentido .

Linea 2 - BASE_SCALED * algo
Linea 3 algo_otro / BASE_SCALED

Estamos mareando la perdiz otra vez .

Line 4 - algo/8 , redondeamos y *8 . Vale , pero para sacar la parte entera de un numero decimal se divide entre 1 y listo . Con esta division he visto diferencia de 4 unidades . Es decir el escalado es impreciso empezando por el redondeo .

Si uno se tira el rollo con lapiz y papel verá que en realidad la penultima linea es esto

Code:

z=`echo "(($OUTPUT_V_HEIGHT*$INPUT_V_HEIGHT*$OUTPUT_V_ASPECT)/($INPUT_V_WIDTH))"| bc -l`


Y la ultima se puede dejar así :
Code:

ALTURA_SCALED=$((`echo "scale=0 ; $z/1"| bc -l`))


Si se pone uno a mirar z es
ALTO_DE_SALIDA(576 para dvd o segun formato) * ASPECTO_DE_IMAGEN_DE_ENTRADA (INPUT_V_HEIGHT/INPUT_V_WIDTH) * ASPECTO_DE_TV

Lo que fastidia la imagen es OUTPUT_V_ASPECT . De ahí se distorsiona , se alarga en vertical .
He dejado una linea así:

Code:
z=`echo "(($INPUT_V_HEIGHT*$BASE_SCALED)/($INPUT_V_WIDTH))"| bc -l`


Es ALTO_DE_ENTRADA * ESCALADO_DE_ANCHO . El ancho escalado(deseado) / el ancho original . Así tengo el mismo aspecto de salida que de entrada , porque escalo de igual manera el ancho y el alto de la imagen de salida .

Otro fallo con el que tropecé - si se da intervalo de entrada , mplex peta . La razón es que tenemos el bitrate muy alto . Es un fichero corto (500 frames por ejemplo) y tamaño del fichero enorme - 4200MB . Si se hace "-os ..." , sin problemas , si se pone "-of (s)vcd" igual de bien . Mplex da error solo si se pone "--interval ..." y no se especifica "-os" .

De todas formas mencoder no hace bien el resampling de audio . Lo dije en mi post anterior .

Ayer puse Equilibrium (que es de 23,976 fps) con mplex y no se hizo nada bien . A los 4 minutos la imagen se paró y el sonido (de por si desincronizado) siguió . Pues eso , que no se codifica bien . El cambio de los fps no está muy allá .

En el manual de Mplayer pone claramente - un encoder sencillo . ¿No le estaremos pidiendo demasiado al mencoder?

Charlie ¿cómo lo llevas con el ffmpeg?

Prodater ¿que secuencia usas para el escalado de imagen?

Termino . Saludos .
_________________
Linux user #358087
Back to top
View user's profile Send private message
Sertinell
Guru
Guru


Joined: 19 May 2004
Posts: 582

PostPosted: Sun Jan 09, 2005 5:40 pm    Post subject: Reply with quote

Respecto al escalado, es cierto qese puede simplificar muxo, los valores de 320 y 240 son por qe son los qe utilice como referencia, si te das cuenta son 1.333, claramente estas cuentas las hice primero a mano, con lapiz y papel, y luego lo puse en el script tal como las habia hecho, casi por tanteo :twisted: :twisted: . Sabia de sobra qe se podian simplificar, pero sinceramente, asi funciona igual :oops: y no tenia muchas ganas.

Respecto al redonde a 8, es asi, las resoluciones deben ser multiplos de 8 si no, no funciona, seguro qe hay forma de qe redondee de verdad, y no siempre a la baja, el error de este escalado es de 7 pixeles :oops: .

El escalado, unicamente funciona con videos sin bandas negras y en 1:1, es decir, no hace flata escalalros para verlos bien en un PC, si codificas desde un SVCD (352 * 576 ,lejos del 4:3 ) a VCD (supongamos qe tu "reproductor" solo lee VCD, ni siquiera DVD's) el script no lo hace bien, pues no tiene en cuenta ni el cropping, ni el escalado a 4:3

Estas cosas creo qe ya las conte.

Te repito, qe el qe la peli se vea cuadrada en el PC y el globo terracqeo ahuevado es normal, se debe visualizar en un televisor, o escalando a 4:3

Code:
mplayer -aspect 1.333 file.mpg


Un saludo
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Sun Jan 09, 2005 7:32 pm    Post subject: Reply with quote

Quote:

Respecto al redonde a 8, es asi, las resoluciones deben ser multiplos de 8 si no, no funciona,


Explicamelo , porfavor .

Con dividir entre 1 se redondea perfectamente .

Y echa una mano en el mplex . Yo solo me pierdo y tampoco tengo tanto tiempo .

EDITADO

Al cambiar los fps usando mplex ocurre esto:
Quote:

AVI file format detected.
Cannot seek backward in linear streams!
Seek failed
AVI: Missing video stream!? Contact the author, it may be a bug :(
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.

Exiting...
# Borrando stream_video.avi
# Borrando divx2pass.log

# Multiplexando Video y audio /home/dat/Equilibrium.interval
INFO: [mplex] mplex version 1.6.2 (2.2.3 $Date: 2004/01/13 20:45:26 $)
**ERROR: [mplex] Unable to open file /home/dat/Equilibrium.mpv for reading.
# Borrando /home/dat/Equilibrium.mpa
# Borrando /home/dat/Equilibrium.mpv


Pa' mi que es del pipe . Dice que puede buscar hacia atras en streams lineales ...
_________________
Linux user #358087
Back to top
View user's profile Send private message
oCHARLIEo
Guru
Guru


Joined: 06 Oct 2003
Posts: 303
Location: Madrid

PostPosted: Mon Jan 10, 2005 2:10 pm    Post subject: Reply with quote

Hola chicos, ha dado la casualidad de que yo tb estaba mirando el algoritmo de escalado por que el que tenemos no es el adecuado para ffmpeg... asique he parido otro, os lo dejo aqui para que le pongais pegas...
Code:

# Este metodo solo funciona si la relacion de aspecto es 1.3 o mayor
# Calculo El Aspect Ratio de entrada
INPUT_V_ASPECT=`echo "$INPUT_V_WIDTH/$INPUT_V_HEIGHT"| bc -l`

# Le quitamos el over-scan al ancho. OJO!! debe seguir siendo MULTIPLO de OCHO
WIDTH_SCALED=$(($OUTPUT_V_WIDTH-$OUTPUT_OVS*8)) #multiplicamos el overscan por 8(4 pixeles a cada lado)

# Si ALTO*ASPECTO=ANCHO  --->> ALTO=1/(ASPECTO/ANCHO)
HEIGHT_SCALED=`echo "1/(${INPUT_V_ASPECT}/${WIDTH_SCALED})"| bc -l`

# Necesito que el alto sea MULTIPLO DE CUATRO para que la longitud del PADDING sea PAR y simplificar el codigo... introduzco un error de 3.999999 pixels (en el peor de los casos)
HEIGHT_SCALED=$((`echo "scale=0 ; $HEIGHT_SCALED/4"| bc -l`*4))

# Calculo el Padding
OUTPUT_V_PAD_WIDTH=$(($OUTPUT_OVS*4))
OUTPUT_V_PAD_HEIGHT=`echo "scale=0 ; ($OUTPUT_V_HEIGHT-$HEIGHT_SCALED)/2"| bc -l`

# Mostramos la informacion:
echo "-> Aspecto de entrada: $INPUT_V_ASPECT"
echo -e "\n# Escalando Video \t-> Width: $WIDTH_SCALED \t\tHeight: $HEIGHT_SCALED"
echo -e "# Padding \t\t-> Width: $OUTPUT_V_PAD_WIDTH x2 \tHeight: $OUTPUT_V_PAD_HEIGHT x2"
echo -e "# Resolucion de Salida \t-> Width: $OUTPUT_V_WIDTH \t\tHeight: $OUTPUT_V_HEIGHT"


He introducido el calculo del padding por que ffmpeg no lo hace automaticamente como mencoder y lo necesito, en la salida del script se pueden sumar los dos valores para comprobar el de salida...
Estoy pensando como tratar los videos que tienen relacion de aspecto menor de 4:3... lo suyo seria meter unas bandas negras laterales mas gordas... pero no me gusta como queda, la verdad...

A ver si termino este script y lo cuelgo para que lo probeis...

Quote:

Explicamelo , porfavor .

Con dividir entre 1 se redondea perfectamente .

Lo que Sertinell busca al hacer un:
Code:

ALTURA_SCALED=$((`echo "scale=0 ; $z/8"| bc -l`*8))

no solo es redondear, lo que quiere es obtener un multiplo de 8 entero... por eso multiplica y divide por 8. Si lo unico que quisiera fuera redondear, efectivamente, con dividir por uno valdria... pero no es el caso.

Quote:

Charlie ¿cómo lo llevas con el ffmpeg?

Estoy en ello, estoy en ello... yo tp tengo mucho tiempo :wink:
_________________
Las Mujeres son malvadas, retorcidas, perversas... pero huelen tan bien...

Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
oCHARLIEo
Guru
Guru


Joined: 06 Oct 2003
Posts: 303
Location: Madrid

PostPosted: Tue Jan 11, 2005 4:30 pm    Post subject: Reply with quote

En el Archivo Publico de mi web teneis una version del script con ffmpeg y un sample con el fragmento de Matrix q paso Sertinell...

Ya me direis...
_________________
Las Mujeres son malvadas, retorcidas, perversas... pero huelen tan bien...

Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Tue Jan 11, 2005 8:14 pm    Post subject: Reply with quote

Dos cosillas , casi insignificantes :

1.¿Como se porta con los FPS "incorrectos"?
No lo he comprobado y la razón es mi segunda pregunta .

2.¿Porque no te gusta la opcion "-od"?
Has puesto la variable en el principio , pero en las opciones no está .
Y ahora explico porque a mi me gusta tanto - muchas veces , cuando tengo unas cuantas pelis y no me sobran ganas , las meto en un RW y las convierto despues . Tambien me pasan algunas peliculas en CD . Si se dispone de "-od" simlemente montas el cdrom y como si fuese un directorio cualquiera . Es un poco mas lento , pero da igual - te ahorras copiar 700MB .

Lo pruebo mañana .

Otra cosa - en el script anterior al usar mplex pusiste un pipe para los FPS incorrectos y el intervalo . No se que le pasa pero se para ahí y no va . Miralo en el wiki .

Saludos.
_________________
Linux user #358087
Back to top
View user's profile Send private message
oCHARLIEo
Guru
Guru


Joined: 06 Oct 2003
Posts: 303
Location: Madrid

PostPosted: Tue Jan 11, 2005 9:20 pm    Post subject: Reply with quote

Quote:

1.¿Como se porta con los FPS "incorrectos"?
No lo he comprobado y la razón es mi segunda pregunta .

Se porta de maravilla ^_^ he hecho varias pruebas y perfecto... incluso con videos entrelazados con fps incorrectos... impresionante!!

Quote:

2.¿Porque no te gusta la opcion "-od"?

:lol: Que sensible, por diox!! No es que no me guste... si te fijas te daras cuenta que me he cargado la mitad de las opciones. Es una cuestion de sencillez, para poder trabajar con el script y centrarme en las opciones de ffmpeg sin que me afecte nada mas... Cuando deje terminada la parte de ffmpeg y me asegure de que funciona, volvere a incluir las opciones que he eliminado... y mas!! ;-)

Quote:

en el script anterior al usar mplex pusiste un pipe para los FPS incorrectos y el intervalo . No se que le pasa pero se para ahí y no va .

bufff, ya no se ni las pruebas que pude hacer para que funcionara la dichosa conversion de fps y el intervalo de los webs... me volvi loco, te lo aseguro. Le echare un vistazo a ver si veo algo raro... pero sinceramente, tal y como esta funcionando ffmpeg no voy a perder mucho mas tiempo con mencoder, el y yo no nos llevamos muy bien, me desespera!!
_________________
Las Mujeres son malvadas, retorcidas, perversas... pero huelen tan bien...

Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Wed Jan 12, 2005 7:31 am    Post subject: Reply with quote

Bien , lo he probado con unos cuantos trozitos que tengo por aquí para esas cosas .

Calidad - bien . FPS - mejor que ninguno hasta ahora (alguien probó tcextract???) . En definitiva - yo contento .

Ahora lo malo :

1. En una pasada no funciona , el resultado es este en todas las pruebas :
Quote:

ug@PIV ~ $ bash /home/dat/scr/eavi2dvd_ffmpeg -p 1 /home/amule/dvd/spb.avi

# eavi2dvd_ffmpeg Version: 0.2a -- 10-01-2004


# Comprobando Existencia de Programas:
OK: mplayer presente en el Sistema
OK: ffmpeg presente en el Sistema

## Estableciendo Formato de Salida a: DVD

## fichero: /home/amule/dvd/spb.avi
############################################
# Video:
# Codec: DIV3
# Resolución: 720x448
# Fps: 23.976
# Bitrate: 924312
############################################
# Audio:
# Codec: mp3
# SampleRate: 44100
# Bitrate: 128 (85)
# Canales: 2
############################################
# Duracion: 240 segundos
############################################
-> Aspecto de entrada: 1.60714285714285714285

# Escalando Video -> Width: 712 Height: 440
# Padding -> Width: 4 x2 Height: 68 x2
# Resolucion de Salida -> Width: 720 Height: 576
# Video Bitrate: 8000

# Detectados 2 canales o menos. Se fuerza salida a MP2

# Codificando el Video /home/amule/dvd/spb.mpg
ffmpeg version 0.4.9-pre1, build 4718, Copyright (c) 2000-2004 Fabrice Bellard
built on Sep 30 2004 19:43:27, gcc: 3.4.2 (Gentoo Linux 3.4.2-r2, ssp-3.4.1-1, pie-8.7.6.5)
Input #0, avi, from '/home/amule/dvd/spb.avi':
Duration: 00:04:00.2, bitrate: 1056 kb/s
Stream #0.0: Video: msmpeg4, 720x448, 23.98 fps
Stream #0.1: Audio: mp3, 44100 Hz, stereo, 127 kb/s
dir2dvd_stats-0.log: No such file or directory


Mirad la ultima linea . Que alguien lo compruebe tambien .

2. Con sonido pcm 1 canal (acordaos del fichero que tenia subido) NO codifica el sonido - se escucha ruido y nada mas .

3.Muestra una cierta inestabilidad . A veces simplemente no quiere codificar . Se corta en la segunda pasada .

Pues , nada mas . Como si fuera poco :wink: [/quote]
_________________
Linux user #358087
Back to top
View user's profile Send private message
Sertinell
Guru
Guru


Joined: 19 May 2004
Posts: 582

PostPosted: Wed Jan 12, 2005 2:38 pm    Post subject: Reply with quote

Hola, charlie he porbado eso y hay 2 cositas qe qeria comentarte:

El resize no va bien, he hecho una salida a 352x576 y el resultado ha salido mal, las bandas de arriba y abajo eran inmensas y la imagen diminuta (escalando a 4:3). Dime qe parte es lo qe no te sirve del resize qe haciamos antes, a ver si puedo adaptarla. El padding es la anchura de las bandas negras no? FFmpeg no centra la imagen como hace mencoder?

El error en tu resize esta en qe para una resolucion horizontal de 352 le sale una vertical de 144
Code:
$ ./dir2dvdff.bash -i -os 90 -of user:352x576 --no_ac3 sample.avi

# dir2dvdff.bash Version: 0.2a  -- 10-01-2004


# Comprobando Existencia de Programas:
   OK: mplayer presente en el Sistema
   OK: ffmpeg presente en el Sistema

## Estableciendo Formato de Salida a: user:352x576

## fichero: sample.avi
############################################
# Video:
#     Codec:            DX50
#     Resolución:       640x272
#     Fps:              25.000
#     Bitrate:          2671584
############################################
# Audio:
#     Codec:            a52
#     SampleRate:       48000
#     Bitrate:          128 (8192)
#     Canales:          2
############################################
#     Duracion: 180 segundos
############################################
-> Aspecto de entrada: 2.35294117647058823529

# Escalando Video       -> Width: 344           Height: 144
# Padding               -> Width: 4 x2  Height: 216 x2
# Resolucion de Salida  -> Width: 352           Height: 576

Cuando deberia de ser alrededor de 288 (eso es a ojo ;) )

Para SVCD tampoco hace el resize de forma correcta.

El problema esta en qe no tiene en cuenta qe la razon entre las resoluciones vertical y horizontal no es 4:3 y qe el televisor realizara un escalado despues.

a ver si me explico, si la resolucion del video es 480x576 el televisor hara el escalado a 480x360, variando la resolucion vertical hasta alcanzar una proporcion de 4:3. De ahi qe en el resize qe tenia yo se usaran tantas veces los valores 320x240, fue la primera resolucion 4:3 qe se me ocurrio en ese momento ( no, no se me ocurrio poner 4 y 3 XD )

Espero qe todo este rollo te sea util ;)

Ahora el problema mas gordo :( : el multiplexado, tu video no se puede dexmultiplexar (esto parece problema de las libavcodec), y tampoco es valido para DVDauthor :(, ahora comprobare si se ve en el DVD, pero no creo qe haya suerte.

Saludos y gracias por el curro

P.D: Prodater no me olvido de ti, en cuanto me desaogue de los examene miro como compilar el mencoder para windows , aunqe tenga qe iniciar el win2k qe tengo aqui abandonado ( no tiene ni el nero instaldo... ).

P.D2: erflako, perdona qe no te eche una mano con mencoder pero esqe a mi tambien me tiene bastante desganado, el qe cosas qe antes iban ahora no vayan ( FPS ) ...
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Fri Jan 14, 2005 6:23 am    Post subject: Reply with quote

He hecho un apaño en plan chapucero para que el fichero final sea "comestible" para dvdauthor .
Tres pasadas , somo antes - audio , dos para el video y al final mplex . Lo que no se comia mplex era el formato de fichero de video y le he puesto "m4v" . Probé casi todos los formatos de ffmpeg y este era el que mejor se le dió a mplex .

Code:

echo -e "\n# Codificando Audio $FILE_INPUT"
ffmpeg -hq -i "${FILE_INPUT}" -y  -f mp2 -vn -pass 1 -acodec $OUTPUT_A_CODEC -ar $OUTPUT_A_SAMPLERATE -ab $OUTPUT_A_BITRATE "${FILE_OUTPUT}.audio"

if [ $VPASS == 2 ]; then
      # Dos pasadas , esta es la primera
      echo -e "\n# Sacando Estadisticas del fichero de Video $FILE_INPUT"
      ffmpeg -hq -i "${FILE_INPUT}" -y ${INTERVAL} -f "m4v" -vcodec $OUTPUT_V_CODEC -an -pass 1 -passlogfile "dir2dvd_stats" -b ${OUTPUT_V_BITRATE} -r $OUTPUT_V_FPS -aspect ${OUTPUT_V_ASPECT} -s ${WIDTH_SCALED}x${HEIGHT_SCALED} -padtop $OUTPUT_V_PAD_HEIGHT -padbottom $OUTPUT_V_PAD_HEIGHT -padleft $OUTPUT_V_PAD_WIDTH -padright $OUTPUT_V_PAD_WIDTH -padcolor 000000 -maxrate ${MAXBITRATE} -deinterlace -bufsize ${BUFSIZE} "/dev/null"
   fi
   
   echo -e "\n# Codificando el Video ${FILE_OUTPUT}.mpg"
   ffmpeg -hq -i "${FILE_INPUT}" -y ${INTERVAL} -f "m4v" -vcodec $OUTPUT_V_CODEC -an -pass 2 -passlogfile "dir2dvd_stats" -b ${OUTPUT_V_BITRATE} -r $OUTPUT_V_FPS -aspect ${OUTPUT_V_ASPECT} -s ${WIDTH_SCALED}x${HEIGHT_SCALED} -padtop $OUTPUT_V_PAD_HEIGHT -padbottom $OUTPUT_V_PAD_HEIGHT -padleft $OUTPUT_V_PAD_WIDTH -padright $OUTPUT_V_PAD_WIDTH -padcolor 000000 -maxrate ${MAXBITRATE} -deinterlace -bufsize ${BUFSIZE} "${FILE_OUTPUT}.video"

echo -e "\n# Mplex"
mplex -f 8 "${FILE_OUTPUT}.audio" "${FILE_OUTPUT}.video" -o "${FILE_OUTPUT}.mpg"

echo -e "\n# Borrando ficheros temporales"
rm -f dir2dvd_stats* 2>/dev/null
rm -f "${FILE_OUTPUT}.video" 2>/dev/null
rm -f "${FILE_OUTPUT}.audio" 2>/dev/null


Sobre el escalado de imagen - no lo he mirado todavía . A mi me parece bastante correcto .

Quote:

## fichero: /home/dat/Equilibrium.avi
############################################
# Video:
# Codec: DX50
# Resolución: 720x480
# Fps: 23.976
# Bitrate: 780056
############################################
# Audio:
# Codec: mp3
# SampleRate: 44100
# Bitrate: 192 (85)
# Canales: 2
############################################
# Duracion: 6403 segundos
############################################
-> Aspecto de entrada: 1.50000000000000000000

# Escalando Video -> Width: 712 Height: 472
# Padding -> Width: 4 x2 Height: 52 x2
# Resolucion de Salida -> Width: 720 Height: 576
# Video Bitrate: 5149


Esta noche os cuento como ha salido la peli .

¿Nadie tiene una version antigua del script con mencoder-mplex?
_________________
Linux user #358087
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Sat Jan 15, 2005 7:55 am    Post subject: Reply with quote

El fichero ha salido bastante bien , la imagen ISO se hace bien , dvdauthor no se queja . Quizas se podria pedir algo mas de calidad de video 8O , ya puestos ...
Charlie ¿tienes man page de ffmpeg? Porque yo no . Toda la informacion la saco de "ffmpeg --help" y es muy pobre . ¿Que es el formato m4v?

La version con la que estoy luchando del script con mplex no cambia bien los FPS . He subido algo al wiki , pero ya estoy pa' rendirme .
_________________
Linux user #358087
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Sun Jan 16, 2005 12:29 pm    Post subject: Reply with quote

El tandem mencoder-mplex me desespera. Ya lo dejo por imposible .
En fin - ffmpeg va demasiado bien . He puesto la segunda peli a ver si sale algún error , pero con el apaño que os comenté estoy contento .

Espero el codigo de Charlie .
_________________
Linux user #358087
Back to top
View user's profile Send private message
oCHARLIEo
Guru
Guru


Joined: 06 Oct 2003
Posts: 303
Location: Madrid

PostPosted: Sun Jan 16, 2005 9:48 pm    Post subject: Reply with quote

Hola, siento el retraso... acabo de llegar de asturias y no he tenido hueco. Mañana desde el curro prometo mirar esto, que ahora me voy a dormir ;-P
_________________
Las Mujeres son malvadas, retorcidas, perversas... pero huelen tan bien...

Por un foro ordenado y un buscador más útil:
[TEMA] Descripción problema (estado)
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Mon Jan 17, 2005 7:21 am    Post subject: Reply with quote

Comento rapidamente las experiencias negativas - mplex se queja del bitrate del video . Si se pone a 10000 para la conversion , al hacer el multiplexado mplex pide "algo" mas y da el tipico error . Tuve que hacer el multiplexado a mano con bitrate 12000 para que salga la peli . ¿Se verá bien en la tele? Y creo que el error es solamente haciendo DVD .

Otra pregunta que hice hace tiempo - ¿Como podemos hacer que salgan dos CDs?
Es decir - 1400MB de fichero final en dos partes . ¿Partiendo el avi en dos?¿O haciendo interval principio:mitad y luego interval mitad:final?¿El script puede llamarse a si mismo recursivamente o ...?

Pues , eso .

Saludos.
_________________
Linux user #358087
Back to top
View user's profile Send private message
Sertinell
Guru
Guru


Joined: 19 May 2004
Posts: 582

PostPosted: Mon Jan 17, 2005 11:38 am    Post subject: Reply with quote

Para partir el archivo en dos lo mejor es qe lo parta mplex al multiplexar ;)
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Mon Jan 17, 2005 8:56 pm    Post subject: Reply with quote

No Sertinell :

Quote:

-S|--max-segment-size num
This option specifies the maximum size of output files in MBytes (2^10) When the limit is reached
a new file is started. The default is (0) unlimited.

Note: This option is not for splitting a long video across multiple VCD's or SVCD's.

It simply splits a single long sequence into in a way that prevents bits of a video GOP(group of
pictures) or audio frame being split between chunks. This is fine for formats like that used for
DVDs where all stream parameters appear every GOP. However, for VCD / SVCD it won't work as the
players expect each file to start a new MPEG sequence.

For VCD / SVCD a different technique is used. If mplex encounters a sequence break (sequence end
followed by start) in the input video stream it starts a new output stream and file at the
sequence start. Thus to split a long video across VCD's/SVCD's you have to get the MPEG video
encoder to introduce sequence splits at the right points (see mpeg2enc(1) for details of how to
do this).


Y lo que interesa es el SVCD .

Buscaremos otra tecnica.

Los ficheros multiplexados con mplex a bitrate 12000 no se cojen por dvdauthor.
_________________
Linux user #358087
Back to top
View user's profile Send private message
Sertinell
Guru
Guru


Joined: 19 May 2004
Posts: 582

PostPosted: Mon Jan 17, 2005 9:04 pm    Post subject: Reply with quote

Creo qe lo qe qeremos es esto ;)
Code:
-M|--split-segment
              When splitting a long stream in files based on -S mplex  does  a
              certain  amount  of  careful  "running  out" to prevent a GOP or
              audio frame being split.  If the files are simply  going  to  be
              concatenated  for  playback  this  "run  out" is superfluous and
              makes it harder for the player  to  maintain  audio/video  sync.
              This  flag allows the run-out to be turned off.  The DVD profile
              turns this option on automatically.

Yo de ingles voy justo, pero por lo qe he probado la opcion, 2 SVCD, uno del tamaño elegido y otro con el resto ;)

Un saludo
Back to top
View user's profile Send private message
erflako
Apprentice
Apprentice


Joined: 18 Apr 2004
Posts: 210
Location: Madrid , España

PostPosted: Tue Jan 18, 2005 7:31 am    Post subject: Reply with quote

Si , Sertinell , la opción -M podría ser valida para SVCD pero lo bueno es que me has hecho releer el man de mplex y he dado con algo que querría hacer hace tiempo - los capítulos de dvd . La peli de una hora la partimos en trozos de 15min y así saltamos hacia delante y atrás facilmente .
Bien.

Ahora lo malo - como dije ayer dvdauthor no coje el fichero hecho con mplex a bitrate 12000 . La salida de dvdauthor es algo como "no se encuentra el primer VOBU sector" .
Según el manual de mplex - si da error como en el caso , hay que bajar el bitrate del video de entrada o subir el de salida (el multiplexado) . Subiendo el de salida a mi no me va . Ahora he puesto las mismas pelis con OUTPUT_V_BITRATE=6000 , no borro los ficheros temporales y uego hago el multiplexado a mano subiendo el bitrate a 8000 . Esta noche veremos .
Lo peor es que con un trozo pequeño la cosa sale bien . Falla cuando es una peli grande . Así que me toca aguantar 4 horas de conversión para ver si he conseguido algo .

¿Hay algun otro multiplexer compatible con dvdauthor?

Porque sería interesante hacer alguna pruebecilla mas .

¿Que os parece si ponemos "Opciones avanzadas" y poder tocar casi todos los parametros desde linea de comandos . Son avanzadas , no para el uso diario sino para casos especiales . Que OUTPUT_V_BITRATE , que OUTPUT_A_BITRATE , que BUFSIZE . que ... cosas .

Charlie nos ha abandonado :lol: . No aparece por aquí , Asturias , y nosotros rompiendonos los cuernos :wink: .

Saludos .
_________________
Linux user #358087
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Goto page Previous  1, 2, 3 ... 12, 13, 14, 15, 16  Next
Page 13 of 16

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum