[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: [Ayuda] Ayuda con mplayer



On Sat, 2003-09-13 at 18:41, Miguel José Hdz y López wrote:
> Hola lista..  alguien de ustedes ha usado mplayer?  Estoy batallando un 
> poco, tengo una pelicula con sus subtitulos en español, el detalle es 
> que quiero grabar otro archivo .avi de esa pelicula ya con los 
> subtitulos en español para asi poder grabarlo a vcd y tener mi pelicula 
> ya subtitulada.
> 
> Alguien ya ha hecho eso?
> 
> Ahora, lo que intente hacer fue esto:
> mplayer -sub subtitles.sub -font /root/.mplayer/arial.tff pelicula.avi > 
> new-file.avi
> 
> pero ni asi funciono :(
> Espero sus comentarios.

Hola, puedo sentir tu dolor, también he caminado por ese derrotero de
amargura que significa usar mplayer y mencoder para pasar de un formato
a otro. Bueno, primero, para convertir a VCD, tienes que pasar de AVI
(que es una cáscara para una multitud de codificadores) a MPG-2. Para
ésto tienes que usar mplayer especificándole que decodifique a un par de
archivos el audio y el video. Luego con transcode (un paquete que
instalas aparte) pasas por mencoder para codificar y mezclar de nuevo
audio y video en el nuevo formato. Con vcdimager creas las opciones y
los capitulos y toda la cosa.

Bueno, ahora ¿por qué he sufrido tanto si parece tan fácil? Bueno, pues
porque nunca he conseguido que se sincronicen audio y video. Quizá sea
que mi máquina no sea muy rápida (Pentium III a 1GHz, 256KB de cache y
1.5 GB de RAM) o que mi karma es malo o que la alineación de los
planetas no ha sido la adecuada.

Preguntándo cómo se hace el asunto en una lista, un chavo español me
pasó un programilla en shell (que anexo como añadido) que a él le jala.
Por supuesto a mí no.

Espero que alguien haya resuelto el asunto, porque tengo algo así como
unos 180GB de programas de televisión y cosas que uno se encuentra en la
red que me encantaría poder convertir a VCD o SVCD para poderlos ver en
un tocador de DVD y con la comodidad de estar tumbado frente a la telera
en la sala y no en una silla frente a la compu.

Saludos.


#!/bin/bash

# Este script pasa un Divx a SVCD. Para los archivos temporales se
# necesita al menos 4.5 Gigas (m2v y mpa, los .mpg y los .bin)

DIR=`pwd`
TEMPFOLDER=/tmp/divx2svcd-$RANDOM
TEMPLATE=/home/paranouei/DIVX-TO-VCD/templates/SVCD-480x576-CQ-2CD
CDSIZE=795

if [ $# -eq 0 ]; then
	echo "Usage:"
	echo "        divx2svcd <divxfile>"
	exit 1
fi

mkdir $TEMPFOLDER
cd $TEMPFOLDER

echo "Dir: $DIR"
echo "Temp: $TEMPFOLDER"
tcprobe -i "$1" > $TEMPFOLDER/info

WIDTH=`grep '\[avilib\] V:' $TEMPFOLDER/info | perl -e ' $line=<STDIN> ; $line =~ /width=(\d+)/  ;  print $1' `
HEIGHT=`grep '\[avilib\] V:' $TEMPFOLDER/info | perl -e ' $line=<STDIN> ; $line =~ /height=(\d+)/  ;  print $1' `
FPS=`grep '\[avilib\] V:' $TEMPFOLDER/info | perl -e ' $line=<STDIN> ; $line =~ /V: (.+?) fps/  ;  print $1' `
FPS=`echo "scale=1 ; $FPS/1"| bc -l`

echo "Archivo de $WIDTH X $HEIGHT a $FPS fps"

if [ $FPS == "29.9" -o $FPS == "30" -o  $FPS == "23.9" ]; then
	WIDTH_OUT=480
	HEIGHT_OUT=480
	MPEG_OPTIONS=s,2,$TEMPLATE
else
	WIDTH_OUT=480
	HEIGHT_OUT=576
	MPEG_OPTIONS=s,3,$TEMPLATE
fi

echo "Salida: $WIDTH_OUT x $HEIGHT_OUT"

# Ahora calculamos los valores pa los bordes.

ANCHO_1_1_OUT=`echo "($HEIGHT_OUT * 4/3)"| bc -l`
ALTO_OUT=`echo "$HEIGHT / ($WIDTH / $ANCHO_1_1_OUT)" | bc -l`
# Redondeamos
ALTO_OUT=`echo "scale=0 ; $ALTO_OUT/1"| bc -l`
# Nos aseguramos de que sea par
ALTO_OUT=`echo "scale=0 ; $ALTO_OUT+$ALTO_OUT%2" | bc -l`

BORDE=`echo "scale=0 ; ($HEIGHT_OUT-$ALTO_OUT)/2"| bc -l`

echo "alto sin bordes: $ALTO_OUT, con borde: $BORDE"

cd $TEMPFOLDER
echo "Ejecutando: transcode -i "$1"  -V -x mplayer -y mpeg -F $MPEG_OPTIONS -Z ${WIDTH_OUT}x$ALTO_OUT -Y -$BORDE,0,-$BORDE,0 --export_asr 2 -E 44100 -b 160 -o $DIR/Pelicula"
transcode -i "$1"  -V -x mplayer -y mpeg -F $MPEG_OPTIONS -Z ${WIDTH_OUT}x$ALTO_OUT -Y -$BORDE,0,-$BORDE,0 --export_asr 2 -E 44100 -b 160 -o $DIR/Pelicula
rm $TEMPFOLDER/*
rmdir $TEMPFOLDER

cd $DIR

#Ahora multiplexamos el .mpg
mplex -f 5 -m 2 -V -S $CDSIZE Pelicula.m2v Pelicula.mpa -o Pelicula%d.mpg


# Y creamos las imagenes...
for i in `ls *mpg` ; do
	vcdimager -t svcd -c $i.cue -b $i.bin $i
done


[Hilos de Discusión] [Fecha] [Tema] [Autor]