View previous topic :: View next topic |
Qe video ves mejor? |
menc.m2v |
|
94% |
[ 18 ] |
transc.m2v |
|
5% |
[ 1 ] |
|
Total Votes : 19 |
|
Author |
Message |
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Wed Oct 13, 2004 10:09 pm Post subject: |
|
|
Quote: | Me pasó algo muy raro - puse un fichero y el sonido es horrible - no se escucha nada mas que un ruido .
Hice prueba con ac3 y tampoco .
·····
·····
·····
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 22050 Hz, 1 ch, 8 bit (0x8), ratio: 22050->22050 (176,4 kbit)
Selected audio codec: [pcm] afm:pcm (Uncompressed PCM) |
Tiu de donde sacaste un avi con audio en PCM . Bueno creo qe se por qe es,
Code: | toolame -m d -b $SRATE -e "${FILE}.wav" "${FILE}.mpa"
| Es linea codifica en dualchanel (stereo, 2 canales totalmente diferenciados, qe no se complementan) por lo qe si el audio es mono aparecen ruidos
Cambia
Quote: | toolame -m d -b $SRATE -e "${FILE}.wav" "${FILE}.mpa" | por
Quote: | toolame -m m -b $SRATE -e "${FILE}.wav" "${FILE}.mpa" | y cuenta el resultado.
···········································································································
Quote: | Sertinell , la opcion -dumpaudio funciona y se puede multiplexear .
¿Hasta que punto es ac3 en la salida ? - no lo se .
Lo escucho solamente en el ordenata y no hay manera de saberlo .
Y no lo paso por toolame . Lo dejo así en crudo "stream.dump" y al mplex .
Si lo pasas por toolame sale ruido ( como en el avi que intenté hoy ) .
Ademas , toolame no maneja ac3 : | GRACIAS. Deberia de ser TOTALMENTE AC3, igualqe si el audio fuera mp3 este archivo "stream.dump" seria mp3. Lo de qe al pasar por toolame sale ruido, es normal, lo preocupante seria qe lo cojiera, toolame solo coje mp3 y wav(raw y PCM). Tengo un colega con un equipo AC3 asi qe en cuanto lo piye por banda le hago probar esa opcion.
Aun tengo qe arreglar lo de l codificacion directa desde el DVD es cambiar un par de cositas solo, pero hoy me voy al sobre qe mñn hay universidad, autoescuela y entenamiento, asta la noxe(quizas durante las clases ... ) no me vereis por aqui...
Saludos
P.D. Tio utiliza las etiquetas de code y edita el post donde pegaste el script qe seria mucho mas comodo de leer, gracias |
|
Back to top |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Fri Oct 15, 2004 7:50 pm Post subject: |
|
|
Aquí os pongo lo ultimo que he podido conseguir :
Code: |
#!/bin/bash
#
# Autor Sertinell
#
# Reestructurado y mejorado (espero) por er Flako
# Con la colaboracion de oCHARLIEo
#
# Estamos en http://forums.gentoo.org/
#
#######################################################################
#
# special thanks to prodater64 and Maurus from www.kvcd.net
#
######################################################################
#
# DEPENDENCIAS :
# mjpegtools ->> para disponer de mplex
# mplayer ->> lo normal es que con el venga mencoder
# toolame ->> con el codificaremos el audio si es WAV
#
# NO-DEPENDENCIAS : microsoft
#
# This script has not been tested on animals .
#
# (me ha gustado)
#
#
##Variables##
SIZE=4200 #Tamaño TOTAL del DVD
ASPECT=1.3333 #Aspect ratio 1.3333 para TV normal 1.7777 para paronamicas
FPS=23.976 #Frames por segundo
#RESH=608 #resolucion horizontal original(ej:640) estos datos se sacan
#RESV=336 #Resolucion vertical original(ej:480 luego del fichero avi
BASE=352 #Resolucion horizontal final
ALTURA=576 #Resolucion vertical final# 480 para NTSC
OVS=2 #Overscan
MINS=325 #Duracion en minutos, si son varios archivos a codificar, DURACION TOTAL
SRATE=112 #Bitrate de sonido en mp2, con 112 va sobrado
VPASS=2 #nuemro de pasadas, a mi me gusta mas 2, pero si no quieres la maxima calidad 1 tarda justo la mitad de tiempo
PROPNAME=`basename $0`
AC3="no" # salida ac3 - por defecto no
EXTENSION="" # para guardar la extension de los ficheros a tratar . si no lo hago asi da error en el until/case
DIR="yes"
CONVERTED_FILES=0
clear
# mensaje de ayuda
#######################################################################
help_msg () {
echo "El script $PROPNAME codifica todos los ficheros"
echo "con la misma extension dentro de un directorio ."
echo ""
echo "USO : $PROPNAME <opciones> ext [nombre_de_fichero]"
echo ""
echo "opciones :"
echo "-h/-help/--help este mensaje"
echo "-p/--pass N numero de pasadas (por defecto 2)"
echo "--ac3 salida de soindo ac3 forzada "
echo " ¡ usar con cuidado !"
echo " si el sonido del fichero avi no es ac3"
echo " corre el riesgo de no tener sonido en la salida"
echo "-s/--single se codifica un solo fichero"
echo " con nombre nombre_de_fichero y extension ext"
echo ""
echo " El parametro ext es obligatorio ."
echo ""
echo "extensiones soportadas:"
echo "avi y ogm"
exit 1
}
# funcion de extraccion de informacion del fichero - por oCHARLIEo
#######################################################################
getInfo () {
echo "Extrayendo informacion del fichero $FILE"
mplayer -vo null -ao null -frames 1 -quiet $FILE > $INFO_FILE 2>/dev/null
# si se deja FPS da error en mencoder ???
#FPS=`grep 'ID_VIDEO_FPS' "$INFO_FILE" | sed 's/ID_VIDEO_FPS=//' | sed 's/,/./' ` # TAMPOCO
#FPS=`grep 'VIDEO: ' $INFO_FILE | \
# perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] \d+x\d+ \d+bpp (.+?) fps .+? #kbps/ ; print $1' | sed 's/,/./' `
RESH=`grep 'VIDEO: ' $INFO_FILE | \
perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] (\d+)x\d+ \d+bpp .+? fps .+? kbps/ ; print $1' `
RESV=`grep 'VIDEO: ' $INFO_FILE | \
perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] \d+x(\d+) \d+bpp .+? fps .+? kbps/ ; print $1' `
rm $INFO_FILE # ya no lo necesitamos
echo ""
echo "INFO : fps - $FPS ; resh - $RESH ; resv - $RESV"
}
# funcion de extraccion de audio
#######################################################################
getAudio () {
echo -e "Extrayendo audio de $FILE en formato "\\c
if [ $AC3 = "no" ]; then
# sin salida ac3 - el audio a un .wav
echo " WAV"
mplayer -nojoystick -nolirc -quiet -vo null -vc null -ao pcm -aofile "$FILE.wav" "$FILE"
else
# salida ac3 - a un .mpa
echo " AC3"
mplayer "$FILE" -dumpaudio
fi
}
# algunas variables
#######################################################################
varAdjust () {
###########RESIZE#################
##################################
BASE1=$(($BASE-$OVS*8)) #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))
##################################
##################################
VF="pp=hb:100:100/vb,scale=$BASE1:$ALTURA1:1:0:9,hqdn3d=10:12:8,noise=3th,expand=$BASE:$ALTURA:-1:-1:$SUB "
SWS=9
AVRATE=`echo "$(((( $SIZE * 1024 * 8 ) / ( ( $MINS ) * 60 ))-$SRATE))" | bc -l`
echo "AVRATE= ${AVRATE}"
SUBS=" " #Variables residuales de otro script, cuando tenga ganas lo edito y las quito XD
SUB="0" # Igual qe la de arriba
LMIN=1
if (( $AVRATE > 800 ))
then
LMIN=0.5
fi
if (( $AVRATE > 1000 ))
then
LMIN=0.4
fi
if (( $AVRATE > 1800 ))
then
LMIN=0.3
fi
if (( $AVRATE > 3000 ))
then
LMIN=0.1
fi
if (( $AVRATE > 4000 ))
then
LMIN=0.01
fi
case "$FPS" in
"25") KEYINT=15 ;;
"23.976") KEYINT=18 ;;
"29.970") KEYINT=18 ;;
esac
}
# fincion principal - aqui se hace todo el trabajo
#######################################################################
aviConversion () {
OUTFILE="${FILE}.mpv"
INFO_FILE="${FILE}.info"
# extraemos informacion del fichero
getInfo
# ajustamos algunas variables , resize , etc.
varAdjust
# extraemos el audio
getAudio
if [ $VPASS = 2 ]; then
# Dos pasadas , esta es la primera
YY=$YY+1 # un contador sin sentido
echo ""
echo "Pasada $YY - $FILE"
echo "mencoder"
mencoder -of rawvideo -sws $SWS -noskip -nosound -noaspect -noautoexpand $SUBS -vf $VF -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme=2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=$LMIN:vpass=1:vrc_buf_size=1835:vbitrate=$AVRATE:vrc_maxrate=8000:aspect=1.333:keyint=$KEYINT:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -ofps $FPS "$FILE" -o "/dev/null"
# borramos el log de la primera pasada
rm "divx2pass.log"
fi
# Una sola pasada o la segunda
YY=$YY+1
echo ""
echo "Pasada $YY - $FILE"
echo "mencoder"
mencoder -of rawvideo -sws $SWS -noskip -nosound -noaspect -noautoexpand $SUBS -vf $VF -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme=2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=$LMIN:vpass=1:vrc_buf_size=1835:vbitrate=$AVRATE:vrc_maxrate=8000:aspect=1.333:keyint=$KEYINT:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -ofps $FPS "$FILE" -o "$OUTFILE"
if [ $AC3 = "no" ]; then
# el .wav a .mpa y borramos el .wav
toolame -m d -b $SRATE -e "${FILE}.wav" "${FILE}.mpa"
rm "${FILE}.wav"
# ahora el multiplexer
mplex -f 9 -r 0 -v 1 -b 230 -V -p 1 -h -o "{$FILE}.mpg" "${OUTFILE}" "${FILE}.mpa"
else
# y si usamos ac3 :
mplex -f 9 -r 0 -v 1 -b 230 -V -p 1 -h -o "{$FILE}.mpg" "${OUTFILE}" "stream.dump"
rm "stream.dump"
fi
# borramos los ficheros temporales y el log
rm "${FILE}.mpa" "${OUTFILE}"
rm "divx2pass.log"
}
# comprobamos las opciones de linea de comandos
if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" -o $# = 0 ]; then
help_msg
else
until [ -z "$1" ] ; do
case "$1" in
"--pass") shift; VPASS="$1"; shift ;;
"-p") shift; VPASS="$1" ; shift ;;
"--ac3") shift; AC3="yes" ;;
"-s") shift; DIR="no" ;;
"--single") shift; DIR="no" ;;
"avi") shift; EXTENSION="avi" ; break ;;
"ogm") shift; EXTENSION="ogm" ; break ;; # sin comprobar
esac
done
fi
if [ "$DIR" = "yes" ]; then
for var in *.${EXTENSION}
do
FILE="${var}"
aviConversion
(( CONVERTED_FILES += 1 ))
done
echo "han sido codificados ${CONVERTED_FILES} archivos"
else
FILE="$1.$EXTENSION"
aviConversion
fi
|
Lo he reorganizado un poco . Así lo veo mas legible .
Si a alguien no le gusta la nueva opcion "-s" , simplemente que no la use , pero a mi no me desagrada ,
porque no tengo ganas de convertir todos los ficheros avi de un directorio y tampoco copiar el fichero que quiero usar .
En fin - al la antigua sigue funcionando .
Necesito que alguien me eche una mano .
A razón de los problemas de audio que tuve ( y sigo teniendo ) quiero hacer la parte de la extraccion de audio automatica.
Es decir - se mira en el fichero INFO y segun el audio codec hacemos lo apropiado con el sonido .
Además así quitamos la opción --ac3" .
Al grano - a ver ai alguien puede sacar el string del audio codec al estilo
del resto de la información :
Code: |
#FPS=`grep 'ID_VIDEO_FPS' "$INFO_FILE" | sed 's/ID_VIDEO_FPS=//' | sed 's/,/./' ` # TAMPOCO
#FPS=`grep 'VIDEO: ' $INFO_FILE | \
# perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] \d+x\d+ \d+bpp (.+?) fps .+? #kbps/ ; print $1' | sed 's/,/./' `
|
Algo parecido . Yo no se como hacerlo si no - lo haría.
Gracias .
P.D. Jo , ya soy "tux's lil' helper" . No me lo puedo creer . ¿ Y a quien he ayudado ? _________________ Linux user #358087 |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Fri Oct 15, 2004 11:14 pm Post subject: |
|
|
Joder maxo, ye lo has currado, como se nota qe soy un inutil programando, pero como base voy bien , era la primera vez qe programaba algo
Code: | # si se deja FPS da error en mencoder ???
#FPS=`grep 'ID_VIDEO_FPS' "$INFO_FILE" | sed 's/ID_VIDEO_FPS=//' | sed 's/,/./' ` # TAMPOCO
#FPS=`grep 'VIDEO: ' $INFO_FILE | \
# perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] \d+x\d+ \d+bpp (.+?) fps .+? #kbps/ ; print $1' | sed 's/,/./' ` |
Sigo sin creerme qe no te funcionen los FPS: Code: | mplayer -vo null -ao null -frames 0 -identify "${FILE}" 2>/dev/null |
grep "^ID" |
sed -e 's/[`\\!$"]/\\&/g' |
sed -e '/^ID_FILENAME/ { s/^ID_FILENAME=\(.*\)/ID_FILENAME="\1"/g; }'>${INFO_FILE}
FPS=`grep 'ID_VIDEO_FPS' ${INFO_FILE} | sed 's/ID_VIDEO_FPS=//' | sed 's/,/./' `
RESH=`grep 'ID_VIDEO_WIDTH' ${INFO_FILE} | sed 's/ID_VIDEO_WIDTH=//' `
RESV=`grep 'ID_VIDEO_HEIGHT' ${INFO_FILE} | sed 's/ID_VIDEO_HEIGHT=//' `
echo $FPS | De verdad qe asi no te los coje? he probado en 2 Pc's ya y en los 2 funciona (una mdk y mi gentoo) Es algo para qe puebes a ver si larga el valor de los FPS
Respecto al audio: Code: | # /usr/share/doc/mplayer-1.0_pre5-r3/TOOLS/midentify *.avi
ID_FILENAME="hasta.qe.la.ley.los.separe.avi"
ID_VIDEO_FORMAT=XVID
ID_VIDEO_BITRATE=923296
ID_VIDEO_WIDTH=640
ID_VIDEO_HEIGHT=272
ID_VIDEO_FPS=23,976
ID_VIDEO_ASPECT=0,0000
ID_AUDIO_CODEC=mp3
ID_AUDIO_FORMAT=85
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=2
ID_LENGTH=5403
| Ahi tenemos TODOS los datos, ese script es lo qe yo copie en mi primer script, y lo qe yo sigo usando para cojer los valores y generar el info file,me parece mas comodo, para cojer el audio Code: | CHANELS=`grep 'ID_AUDIO_NCH' ${INFO_FILE} | sed 's/ID_AUDIO_NCH=//' | sed 's/,/./' ` |
Si son 2 canales pos a codificar en estereo, si es uno a codificar en mono
Code: | ID_AUDIO_CODEC=mp3
ACODEC=`grep 'ID_AUDIO_CODEC' ${INFO_FILE} | sed 's/ID_AUDIO_CODEC=//' | sed 's/,/./' ` |
Si es variable es AC3 pues se va directo al paso del ac3, si es mp3 u otra cosa, se va hacia la funcion del toolame y ahi ya decide entre 1 o mas canales (se supone qe si son mas seria ac3, pero por si no es ac3 seria recomendable pasarlo a mp2 DualCHanel)
En lo referente a DVD, te respondopor aqui, qe creo qe todo sobre el script cuanta mas gente lo lea mejor .
Cuando en mencoder en vez de meterle file,se le mete "dvd://#TRACK" mencoder codifica el video correspondiente a la pista seleccionada (TRACK), pero esto es cosa mia, es sencillito ^^, este finde espero poder ponerlo
A otra cosa mariposa:
No actualizaste a mi ultima modificacion
Quote: | mplayer -nojoystick -nolirc -quiet -vo null -vc null -ao pcm -aofile "$FILE.wav" "$FILE"
POR
mplayer -nojoystick -nolirc -quiet -vo null -vc dummy -ao pcm -aofile "$FILE.wav" "$FILE" | Lo descubri ayer, para un archivode 20 mins, el anterior tardaba 4 mins en sacar el audio, esta opcion 30 Sec .
Por ahora creo qe nada mas, lo sigo mirando, creo qe en la opcion -s seria bueno cojer tambien la variable de los segundos, de la peli, tambien se podria hacer para un directorio.
Code: | mplayer -vo null -ao null -frames 0 -identify "$1" 2>/dev/null |
grep "^ID" |
sed -e 's/[`\\!$"]/\\&/g' |
sed -e '/^ID_FILENAME/ { s/^ID_FILENAME=\(.*\)/ID_FILENAME="\1"/g; }'>"${FILE}data.log"
FPS=`grep 'ID_VIDEO_FPS' "${FILE}data.log" | sed 's/ID_VIDEO_FPS=//' | sed 's/,/./' `
RESH=`grep 'ID_VIDEO_WIDTH' "${FILE}data.log" | sed 's/ID_VIDEO_WIDTH=//' `
RESV=`grep 'ID_VIDEO_HEIGHT' "${FILE}data.log" | sed 's/ID_VIDEO_HEIGHT=//' `
SECS=`grep 'ID_LENGTH' "${FILE}data.log" | sed 's/ID_LENGTH=//'`
|
eso a mi me asigna TODAS las variables, "${FILE}data.log" = ${INFO_FILE}
Por hoy ya dejo de "protestar/dar ideas"
Saludos |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Fri Oct 15, 2004 11:51 pm Post subject: |
|
|
lo actualizo con algunas cosas editadas y la opcion -svcd añadida
Code: | #!/bin/bash
#
# Autor Sertinell
#
# Reestructurado y mejorado (espero) por er Flako
# Con la colaboracion de oCHARLIEo
#
# Estamos en http://forums.gentoo.org/
#
#######################################################################
#
# special thanks to prodater64 and Maurus from www.kvcd.net
#
######################################################################
#
# DEPENDENCIAS :
# mjpegtools ->> para disponer de mplex
# mplayer ->> lo normal es que con el venga mencoder
# toolame ->> con el codificaremos el audio si es WAV
#
# NO-DEPENDENCIAS : microsoft
#
# This script has not been tested on animals .
#
# (me ha gustado)
#
#
##Variables##
SIZE=4200 #Tamaño TOTAL del DVD
ASPECT=1.3333 #Aspect ratio 1.3333 para TV normal 1.7777 para paronamicas
FPS=23.976 #Frames por segundo
#RESH=608 #resolucion horizontal original(ej:640) estos datos se sacan
#RESV=336 #Resolucion vertical original(ej:480 luego del fichero avi
BASE=352 #Resolucion horizontal final
ALTURA=576 #Resolucion vertical final# 480 para NTSC
OVS=2 #Overscan
MINS=325 #Duracion en minutos, si son varios archivos a codificar, DURACION TOTAL
SRATE=112 #Bitrate de sonido en mp2, con 112 va sobrado
VPASS=2 #nuemro de pasadas, a mi me gusta mas 2, pero si no quieres la maxima calidad 1 tarda justo la mitad de tiempo
PROPNAME=`basename $0`
AC3="no" # salida ac3 - por defecto no
EXTENSION="" # para guardar la extension de los ficheros a tratar . si no lo hago asi da error en el until/case
DIR="yes"
CONVERTED_FILES=0
clear
# mensaje de ayuda
#######################################################################
help_msg () {
echo "El script $PROPNAME codifica todos los ficheros"
echo "con la misma extension dentro de un directorio ."
echo ""
echo "USO : $PROPNAME <opciones> ext [nombre_de_fichero]"
echo ""
echo "opciones :"
echo "-h/-help/--help este mensaje"
echo "-svcd Codifica en SVCD en vez de DVD"
echo "-p/--pass N numero de pasadas (por defecto 2)"
echo "--ac3 salida de soindo ac3 forzada, un svcd no soporta ac3 "
echo " ¡ usar con cuidado !"
echo " si el sonido del fichero avi no es ac3"
echo " corre el riesgo de no tener sonido en la salida"
echo "-s/--single se codifica un solo fichero"
echo " con nombre nombre_de_fichero y extension ext"
echo ""
echo " El parametro ext es obligatorio ."
echo ""
echo "extensiones soportadas:"
echo "avi y ogm"
exit 1
}
# funcion de extraccion de informacion del fichero - por oCHARLIEo
#######################################################################
getInfo () {
echo "Extrayendo informacion del fichero $FILE"
mplayer -vo null -ao null -frames 1 -quiet $FILE > $INFO_FILE 2>/dev/null
# si se deja FPS da error en mencoder ???
#FPS=`grep 'ID_VIDEO_FPS' "$INFO_FILE" | sed 's/ID_VIDEO_FPS=//' | sed 's/,/./' ` # TAMPOCO
#FPS=`grep 'VIDEO: ' $INFO_FILE | \
# perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] \d+x\d+ \d+bpp (.+?) fps .+? #kbps/ ; print $1' | sed 's/,/./' `
RESH=`grep 'VIDEO: ' $INFO_FILE | \
perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] (\d+)x\d+ \d+bpp .+? fps .+? kbps/ ; print $1' `
RESV=`grep 'VIDEO: ' $INFO_FILE | \
perl -e ' $line=<STDIN> ; $line =~ /VIDEO: \[.+?\] \d+x(\d+) \d+bpp .+? fps .+? kbps/ ; print $1' `
rm $INFO_FILE # ya no lo necesitamos
echo ""
echo "INFO : fps - $FPS ; resh - $RESH ; resv - $RESV"
}
# funcion de extraccion de audio
#######################################################################
getAudio () {
echo -e "Extrayendo audio de $FILE en formato "\\c
if [ $AC3 = "no" ]; then
# sin salida ac3 - el audio a un .wav
echo " WAV"
mplayer -nojoystick -nolirc -quiet -vo null -vc null -ao pcm -aofile "$FILE.wav" "$FILE"
else
# salida ac3 - a un .mpa
echo " AC3"
mplayer "$FILE" -dumpaudio
fi
}
# algunas variables
#######################################################################
varAdjust () {
###########RESIZE#################
##################################
BASE1=$(($BASE-$OVS*8)) #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))
##################################
##################################
SWS=9
AVRATE=`echo "$(((( $SIZE * 1024 * 8 ) / ( ( $MINS ) * 60 ))-$SRATE))" | bc -l`
echo "AVRATE= ${AVRATE}"
SUBS=" " #Variables residuales de otro script, cuando tenga ganas lo edito y las quito XD
SUB="0" # Igual qe la de arriba
VF="pp=hb:100:100/vb,scale=$BASE1:$ALTURA1:1:0:9,hqdn3d=10:12:8,noise=3th,expand=$BASE:$ALTURA:-1:-1:$SUB "
LMIN=1
if (( $AVRATE > 800 ))
then
LMIN=0.5
fi
if (( $AVRATE > 1000 ))
then
LMIN=0.4
fi
if (( $AVRATE > 1800 ))
then
LMIN=0.3
fi
if (( $AVRATE > 3000 ))
then
LMIN=0.1
fi
if (( $AVRATE > 4000 ))
then
LMIN=0.01
fi
case "$FPS" in
"25") KEYINT=15 ;;
"23.976") KEYINT=18 ;;
"29.970") KEYINT=18 ;;
esac
}
# fincion principal - aqui se hace todo el trabajo
#######################################################################
aviConversion () {
OUTFILE="${FILE}.mpv"
INFO_FILE="${FILE}.info"
# extraemos informacion del fichero
getInfo
# ajustamos algunas variables , resize , etc.
varAdjust
# extraemos el audio
getAudio
if [ $VPASS = 2 ]; then
# Dos pasadas , esta es la primera
YY=$YY+1 # un contador sin sentido
echo ""
echo "Pasada $YY - $FILE"
echo "mencoder"
mencoder -of rawvideo -sws $SWS -noskip -nosound -noaspect -noautoexpand $SUBS -vf $VF -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme=2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=$LMIN:vpass=1:vrc_buf_size=${BUFSIZE}:vbitrate=$AVRATE:vrc_maxrate=${MAXBITRATE}:aspect=${ASPECT}:keyint=$KEYINT:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -ofps $FPS "$FILE" -o "/dev/null"
fi
# Una sola pasada o la segunda
YY=$YY+1
echo ""
echo "Pasada $YY - $FILE"
echo "mencoder"
mencoder -of rawvideo -sws $SWS -noskip -nosound -noaspect -noautoexpand $SUBS -vf $VF -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme=2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=$LMIN:vpass=1:vrc_buf_size=1835:vbitrate=$AVRATE:vrc_maxrate=${MAXBITRATE}:aspect=${ASPECT}:keyint=$KEYINT:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -ofps $FPS "$FILE" -o "$OUTFILE"
if [ $AC3 = "no" ]; then
# el .wav a .mpa y borramos el .wav
toolame -m d -b $SRATE -e "${FILE}.wav" "${FILE}.mpa"
rm "${FILE}.wav"
# ahora el multiplexer
mplex -f ${PLEX} -r 0 -v 1 -b 230 -V -p 1 -h -o "{$FILE}.mpg" "${OUTFILE}" "${FILE}.mpa"
else
# y si usamos ac3 :
mplex -f 9 -r 0 -v 1 -b 230 -V -p 1 -h -o "{$FILE}.mpg" "${OUTFILE}" "stream.dump"
rm "stream.dump"
fi
# borramos los ficheros temporales y el log
rm "${FILE}.mpa" "${OUTFILE}"
rm "divx2pass.log"
}
# comprobamos las opciones de linea de comandos
if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" -o $# = 0 ]; then
help_msg
else
#asignamos variables para DVD, la opcion por defecto
PLEX=9
MAXBITRATE=8000
BUFSIZE=1835
until [ -z "$1" ] ; do
case "$1" in
"--pass") shift; VPASS="$1"; shift ;;
"-p") shift; VPASS="$1" ; shift ;;
"--ac3") shift; AC3="yes" ;;
"-svcd") shift;PLEX=4;MAXBITRATE=2500;BUFSIZE=917;AC3="no"; shift;; # si -svcd esta en la linea de comandos, definimos de nuevo las variables, esta vez cn esos valores.Un SVCD no soporta ac3
"-s") shift; DIR="no" ;;
"--single") shift; DIR="no" ;;
"avi") shift; EXTENSION="avi" ; break ;;
"ogm") shift; EXTENSION="ogm" ; break ;; # sin comprobar
"mkv") shift; EXTENSION="mkv" ; break ;; # sin comprobar
esac
done
fi
if [ "$DIR" = "yes" ]; then
for var in *.${EXTENSION}
do
FILE="${var}"
aviConversion
(( CONVERTED_FILES += 1 ))
done
echo "han sido codificados ${CONVERTED_FILES} archivos"
else
FILE="$1.$EXTENSION"
aviConversion
fi |
Saludos |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Sat Oct 16, 2004 11:06 am Post subject: |
|
|
Actualizado error GORDO enla linea de comandos de mencoder
Elflako actualiza tambien el tuyo qe el error lo has introducido tu |
|
Back to top |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Sat Oct 16, 2004 11:48 am Post subject: |
|
|
Me ha gustado la opcion "-svcd".
Ya me ha funcionado lo de sacar la info del avi . Vete a saber que habia hecho mal.
Ahora todo va bien . Pongo los cambios en getAudio , ya lo hace segun el codec de entrada :
Code: |
getAudio () {
echo "Extrayendo audio de $FILE en formato $ACODEC"
if [ "$SVCD" = "yes" ]; then
# si hacemos SVCD codificamos directamente a mp3
mplayer -nojoystick -nolirc -quiet -vo null -vc dummy -ao pcm -aofile "$FILE.wav" "$FILE"
else
# si es DVD - segun el codec de entrada
case "$ACODEC" in
"ac3")
mplayer "$FILE" -dumpaudio
AC3="yes"
;;
"a52")
mplayer "$FILE" -dumpaudio
AC3="yes"
;;
"mp3")
mplayer -nojoystick -nolirc -quiet -vo null -vc dummy -ao pcm -aofile "$FILE.wav" "$FILE"
;;
"pcm")
;;
esac
fi
}
|
Ahora pasa otra cosita - si hacemos svcd y ponemos AC·=no donde se miran las opciones de entrada , luego , al mirar el codec del AVI si es ac3
cambiaremos al flag AC3 a "yes" y no nos servirá de nada .
Por eso pongo un flag SVCD y luego compruebo si es SVCD o no .
Esta es la parte de la comprobacion de las opciones de linea de comandos :
Code: |
# comprobamos las opciones de linea de comandos
if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" -o $# = 0 ]; then
help_msg
else
# asignamos variables para DVD, la opcion por defecto
PLEX=9
MAXBITRATE=8000
BUFSIZE=1835
until [ -z "$1" ] ; do
case "$1" in
"--pass") shift; VPASS="$1"; shift ;;
"-p") shift; VPASS="$1"; shift ;;
"-svcd")
shift
PLEX=4
MAXBITRATE=2500
BUFSIZE=917
SVCD="yes"
shift
;;
# si -svcd esta en la linea de comandos, definimos de nuevo las variables,
# esta vez con esos valores.Un SVCD no soporta ac3
"-s") shift; DIR="no" ;;
"--single") shift; DIR="no" ;;
"avi") shift; EXTENSION="avi" ; break ;;
"ogm") shift; EXTENSION="ogm" ; break ;; # sin comprobar
"mkv") shift; EXTENSION="mkv" ; break ;; # sin comprobar
esac
done
fi
|
Ahora al llamar getAudio y encontrar codec ac3 y haciendo SVCD el flag AC3 quedará a "no" .
Bueno , basicamente es esto , excepto el sonido pcm .
Si le pongo :
Code: |
mplayer -nojoystick -nolirc -quiet -vo null -vc dummy -ao pcm -aofile "$FILE.wav" "$FILE"
|
el mencoder no va .
¿ QUE LE PONEMOS AL SONIDO PCM ?
¿ Que os parece la idea de poner una opcion "-c/-chunks N"
para partir el avi en N trozos y así hacer capitulos en el DVD ?
Normalmente en un dvd de 4,3GB entran 3 o 4 pelis ( eso si quieres grabar muchas en el mismo disco ) .
Si le das al siguiente capitulo se salta la peli entera .
Para "rebobinar" tienes que ir a x8 , x20 o algo asi . Si se hacen capitulos ( que no lo son , pero son trozos )
podemos saltar hacia delante o atras .
Tambien valdria para SVCD .
A efectos de grabacion seran unas cuantas pelis en el mismo disco , pero como logica de espectador serán capitulos .
Espero respuestas .
Sertinell , lo del dvd//... me parece muy bien . Pero esto es un ripeo "al vuelo" ¿no?
Y pregunto ¿ como de pequeño/grande saldrá el archivo codificado ?
Es decir - si un disco dvd comercial tiene 6GB ¿ a cuanto dejariamos la peli ?
Saludos . _________________ Linux user #358087 |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Sat Oct 16, 2004 2:38 pm Post subject: |
|
|
Creo qe la opcion -ac3 deberia seguir existiendo, hay veces qe puedes qerer codificar la peli a DVD y hacer mp2 qe ocupa menos espacio para darle mas calidad al video, por ejemplo en pelis de amores y chochas
Edito: lo acabo de ver, y si el audio es OGG qe hacemos? Estoy corrifgiendo varias cosas, ahora lo añado.
Quote: | ¿ QUE LE PONEMOS AL SONIDO PCM ? | Ummm, pilla mi JID(sertinell (AT) njs (DOT) netlab (DOT) cz ), y me pasas un sample en PCM, pa qe haga unas pruebecillas, man mplayer en mano.
Quote: |
¿ Que os parece la idea de poner una opcion "-c/-chunks N"
para partir el avi en N trozos y así hacer capitulos en el DVD ? |
Esto la mejor forma de acerlo es al crear el proyecto de DVD con el programa de autoria. Creo qe DVDstyler lo hace, lo qe ahora mismo no se es si para crearlas lo qe hace es cortar la peli en caxitos con mpgtx. Es cuestionde mirarlo.
Quote: |
A efectos de grabacion seran unas cuantas pelis en el mismo disco , pero como logica de espectador serán capitulos . |
No exactamente, en mi DVD de sobremesa primero se selecciona la pista, qe es la pelicula, y despues el capitulo, qe viene especificado en los archivos de informacion del DVD. Por eso creo q para hacer eso lo mejor seria DVDauthor, para el DVD, o vcdxbuild, para SVCD.
Quote: |
Sertinell , lo del dvd//... me parece muy bien . Pero esto es un ripeo "al vuelo" ¿no?
Y pregunto ¿ como de pequeño/grande saldrá el archivo codificado ?
| Tan peqeño como tu elijas,el tamaño seguira siendo $SIZE, solo cambian algunas opciones de $VF, y sí es un ripeo al vuelo .
Voy a editar unas cosillas de la linea de multiplexado para SVCD, para qe corte la pelicula en archivos de 800 MB.
Saludos
P.D: Me encanta qe para poner las variaciones solo hay qe indicar la funcion, envez de pegarlo entero. mucho mas practico. |
|
Back to top |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Sat Oct 16, 2004 8:47 pm Post subject: |
|
|
Jo , me he quedado acojonado . Si tengo problemas con pcm y me planteas ogg ...
Mañana rectifico lo de l--ac3 . Pero en este plan le tenemos que poner --mp3 forzado . _________________ Linux user #358087 |
|
Back to top |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Sun Oct 17, 2004 8:42 pm Post subject: |
|
|
Modifico y añado lo siguiente :
Code: |
CONVERTED_FILES=0
SVCD="no" # por defecto - DVD
AUDIO="no" # una variable para indicar audio codec forzado . Por defecto es el codec del fichero AVI
INFO="no" # solo info , por defecto - NO
clear
# mensaje de ayuda
#######################################################################
help_msg () {
echo ""
echo "El script $PROPNAME codifica todos los ficheros"
echo "con la misma extension dentro de un directorio ."
echo ""
echo "USO : $PROPNAME <opciones> ext [nombre_de_fichero]"
echo ""
echo "Opciones :"
echo "-h/-help/--help este mensaje"
echo "-svcd codifica en SVCD en vez de DVD"
echo "-p/--pass N numero de pasadas (por defecto 2)"
echo "-s/--single se codifica un solo fichero"
echo " con nombre nombre_de_fichero y extension ext"
echo "-af forzar salida de audio en siguiente formato :"
echo " ac3 , a52 , mp3 , pcm , ogg"
echo " No intentar mejorar el codec de audio"
echo " puede corromper el sonido de salida ."
echo "-info solo muestra informacion del(los) fichero(s)"
echo " no se hace ninguna conversion"
echo ""
echo " El parametro ext es obligatorio ."
echo ""
echo "Extensiones soportadas:"
echo "avi , ogm , mkv"
exit 1
}
......................................................
getAudio () {
echo "Extrayendo audio de $FILE en formato $ACODEC"
if [ "$SVCD" = "yes" ]; then
# si hacemos SVCD codificamos directamente a mp3
mplayer -nojoystick -nolirc -quiet -vo null -vc dummy -ao pcm -aofile "$FILE.wav" "$FILE"
else
if [ "$AUDIO" = "no" ]; then
# si es DVD y no forzamos la salida de audio - segun el codec de entrada
case "$ACODEC" in
"ac3")
mplayer "$FILE" -dumpaudio
AC3="yes"
;;
...............................................................
YY=0
# extraemos informacion del fichero
getInfo
if [ "$INFO" = "no" ]; then # si no tenemos "-info" convertimos , si "-info" - lo saltamos
# ajustamos algunas variables , resize , etc.
varAdjust
......................................................................
rm "divx2pass.log"
fi # if[INFO=no] termina aqui
.........................................................................
# comprobamos las opciones de linea de comandos
if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" -o $# = 0 ]; then
help_msg
else
# asignamos variables para DVD, la opcion por defecto
PLEX=9
MAXBITRATE=8000
BUFSIZE=1835
until [ -z "$1" ] ; do
case "$1" in
"--pass") shift; VPASS="$1"; shift ;;
"-p") shift; VPASS="$1"; shift ;;
"-af") shift; ACODEC="$1"; AUDIO="yes"; shift ;;
"-svcd")
shift
PLEX=4
MAXBITRATE=2500
BUFSIZE=917
SVCD="yes"
shift
;;
"-info") INFO="yes"; shift ;;
# si -svcd esta en la linea de comandos, definimos de nuevo las variables,
# esta vez con esos valores.Un SVCD no soporta ac3
"-s") shift; DIR="no" ;;
"--single") shift; DIR="no" ;;
"avi") shift; EXTENSION="avi" ; break ;;
"ogm") shift; EXTENSION="ogm" ; break ;; # sin comprobar
"mkv") shift; EXTENSION="mkv" ; break ;; # sin comprobar
esac
done
fi
...............................................
|
Por lo demás - sin cambios.
Sertinell , dame alguna idea sobre como trabajar el sonido pcm y ogg .
No hay manera de mandarte un fichero tan pequeño.
Saludos. _________________ Linux user #358087 |
|
Back to top |
|
|
oCHARLIEo Guru
Joined: 06 Oct 2003 Posts: 303 Location: Madrid
|
Posted: Mon Oct 18, 2004 8:24 pm Post subject: |
|
|
Se que me vais a matar... pero me he puesto a modificar un poco el codigo... y he cambiado un monton de cosas!! Para empezar, no me gustaba mucho la idea de que el script convirtiera todos los ficheros de una determinada extension dentro de un directorio...
Aunque un fichero tenga la extension AVI no quiere decir que lo que tenga dentro sea un contenedor RIFF (q sea un avi vamos), y por otro lado, me gustaba mas la idea de que se pudiera especificar el nombre de los ficheros de entrada mediante comodines, de forma que diciendole que convierta los ficheros /home/mispelis/*.avi tendriamos lo mismo de antes.
He organizado todo en funciones de una manera que me parece mas logica y he cambiado algunos nombres de variables ^_^ (sorry, es que no me enteraba d q era cada cosa)
Si la reestructuracion no gusta mucho me disculpo ya de antemano.
En enlace a la propuesta de nueva version:
http://nexusvi.no-ip.org/images/dir2dvd2.bash _________________ 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 |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Mon Oct 18, 2004 9:45 pm Post subject: |
|
|
Bien . No me desagrada . Se nota la programación en C ( por los nombres de funciones ) .
Mira la ultima actualización de getAudio . Lo que tu tienes como INPUT_A_CODEC te sirve para escoger el modo de extraccion de audio , algo como :
Code: |
case "$ACODEC" in
"ac3")
mplayer "$FILE" -dumpaudio
AC3="yes"
;;
"a52")
mplayer "$FILE" -dumpaudio
AC3="yes"
;;
"mp3")
mplayer -nojoystick -nolirc -quiet -vo null -vc dummy -ao pcm -aofile "$FILE.wav" "$FILE"
;;
"pcm")
;;
"ogg")
;;
esac
fi
|
El pcm me da problemas por ahora .
Y no se puede mejorar el codec . Si tienes pcm no lo puedes hacer ac3 . Por lo menos no como lo estamos haciendo .
Tambien le pusimos un parametro "-info" que se salta la conversion .
En fin - el script es de Sertinell. _________________ Linux user #358087 |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Tue Oct 19, 2004 12:33 pm Post subject: |
|
|
Esta noche miro el script, Hay algunas cosas qe tengo qe modificar de la linea de comandos, opciones qe he puesto mal(fuera del estandar) por error MIO. Esta noche, ahora tengo practicas de 4a8 :'( Y esta noche cuando llegue os lo digo.
Respecto a las modificaciones, mientras no se salga de madre a mi me da igual
Saludos |
|
Back to top |
|
|
oCHARLIEo Guru
Joined: 06 Oct 2003 Posts: 303 Location: Madrid
|
Posted: Tue Oct 19, 2004 12:38 pm Post subject: |
|
|
Pues efectivamente se me paso tu ultima modificacion porque pille directamente el fichero de sertinell y ni me fije, sorry.
Pero, no entiendo muy bien el porque forzar el audio a un codec concreto... ya que si lo que buscamos es codificar el video para su reproduccion en un DVD, el fichero de salida debe ser MPEG y eso excluye el audio en OGG, el audio en PCM solo se justifica si tiene mas de 2 canales(mientras no sepamos convertirlo a ac3) y en cualquier otro caso el audio deberia ir en mp2 (ojo, no en mp3) que es el formato que admite por defecto un fichero MPEG.
- un PCM de 2 canales yo lo convierto a MP2 que ocupa mucho menos y no pierdes calidad de una forma aprecible.
- un PCM de mas de 2 canales, puedes pasarlo a MP2 y perder los canales extras o bien meterlo como PCM y sacrificar MUCHO sitio.
- un AC3 o bien lo transformo a MP2 para ahorrar espacio, o lo conservo tal cual para pasarlo al DVD.
- un OGG no te queda otra que convertilo...
Me gustaria hacer tb un comentario con respecto a la resolucion y los fps predeterminados... os habeis percatado de que no se ajustan a ningun estandar?? 352x576 23.976fps
Cuando reproduces un video con este formato debe preescalarlo (para meter la interpolacion y conservar el aspecto 1.333) y te lo redimensiona a 768x576 y sino probad a lanzarlo con el mplayer y os dira:
Code: |
Aspecto es 1,33:1 - prescalando a aspecto correcto.
VO: [xv] 352x576 => 768x576 Planar YV12
|
Que tampoco es ninguna resolucion estandar puesto que la resolucion DVD-PAL es 720x576 que seria lo mas parecido... resultado: en un DVD de sobremesa puede que se reproduzca y puede que no...
Yo propongo que para las resoluciones-fps de salida predeterminado nos ajustemos a algun estandar y metamos opciones para poder tocar estos parametros a gusto del consumidor
VCD-PAL -> 352x288@25fps
SVCD-PAL -> 480x576@25fps
DVD-PAL -> 720x576@25fps _________________ 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 |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Tue Oct 19, 2004 8:08 pm Post subject: |
|
|
Lo del sonido ha sido un error mio . Me pareció que como estaban ahí las cosas podia meterlas directamente ...
Bueno , ya lo he quitado . Sertinell ya me tiró de las orejas .
Refleccionando sobre el tema :
si tenemos ac3 lo podemos dejar o hacer mp2 ( a pcm me parece gilipollés )
si tenemos mp3 - a mp2 y punto ( porque no lo podemos hacer ac3 , claro )
si tenemos pcm o algo otro - todavia no sabemos como tratarlo
Entonces la unica opcion factible por ahora es algo como "-af mp2" . Es decir - forzar el ac3 a mp2 haciendo dvd ( si haces svcd te lo dejará por defecto )
Lo demás no tiene sentido .
Lo del video de salida - bien . Tengo aquí un ajuste de las cosas con formato de salida según se quiere .
Los FPS hay que cojerlos del fichero de entrada . Creo que oCHARLIo dijo lo del audio que se desfasa etc.
Bueno . Mañana intento el audio y lo pego por aquí . _________________ Linux user #358087 |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Tue Oct 19, 2004 8:14 pm Post subject: |
|
|
Haber, vamos a trabajar todos a partir del de charlie OK ? creo qe esta muy diferenciado en funciones, y seria lo mas comodo, voy mirando eso qe he dixo, qe acabo de llegar
Ahora lo pego |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Tue Oct 19, 2004 8:48 pm Post subject: |
|
|
Bueno ya esta subido con los cambios,
os dejo la direccion aqui qe si lo pego se va a tomar por culo el foro, ademas de qe qeda incomodo
http://sertinell.spymac.net/dir2dvd2.bash
Hay lo teneis, los cambios son, en la linea de comandos de mencoder, donde
el error era grave, en la linea de multiplexado, donde creo qe era leve, y en
la parte de los comentarios, qe si lo usa alguien qe no sepa como funciona en
us entrañas ahora, creo, le qedaria mas claro. Hay qe mirar con seria lo de
cambiar los FPS de entrada hacia un estandar sin qe se desincronice con el
audio, ahora qe somos ma, a ver si lo averiguamos.
Un saludo.
Last edited by Sertinell on Wed Oct 20, 2004 6:00 am; edited 1 time in total |
|
Back to top |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Tue Oct 19, 2004 9:24 pm Post subject: |
|
|
El link que pones no me funciona . Me lleva a www.spymac.com y nada mas .
Solucionado - es .net _________________ Linux user #358087 |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Wed Oct 20, 2004 6:01 am Post subject: |
|
|
Arreglado |
|
Back to top |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Sat Oct 23, 2004 8:10 pm Post subject: |
|
|
El script que está en vuestras paginas a mi no me funciona . Vete a saber porque .
Hace las cosas pero todo sale a cuadraditos - con una resolucion penosa .
Partiendo de la ultima modificacion de oCHARLIo he intentado hacer algo , pero hago una mezcla entre lo que tenia y el de charli ,
porque si no me hago un lio y no salgo ni patrás .
Lo siento , pero no soy capaz de ver ningun error que podria provocar la perdida de calidad en la imagen y tampoco puedo arreglar las cosas en el script como esta puesto en las paginas .
Cuelgo en mi pagina lo que he podido hacer .
P.D. La pagina de charli no me abre . _________________ Linux user #358087 |
|
Back to top |
|
|
krawek Apprentice
Joined: 15 Oct 2003 Posts: 163 Location: Buga - Colombia
|
Posted: Sun Oct 24, 2004 3:01 am Post subject: |
|
|
hola
y es posible convertir un VCD a otro formato? |
|
Back to top |
|
|
oCHARLIEo Guru
Joined: 06 Oct 2003 Posts: 303 Location: Madrid
|
Posted: Sun Oct 24, 2004 12:09 pm Post subject: |
|
|
pues efectivemente erflako... parece que es script estaba calculando mal el Bitrate de salida (creo que ha sido culpa mia ;-P) ya lo he solucionado y lo he preparado para que recoja la duracion del video en segundos de forma automatica...
http://nexusvi.no-ip.org/images/dir2dvd_23_10_2004.bash
Tambien he metido una nueva opcion para especificar si quieres DVD,SVCD o VCD en la salida, ajustando tb los tamaños de salida... parece que ahora hay problemas con los buffers underflows creo que habra que recalcular las variables BUFSIZE y MUXBUFSIZE...
Tb tengo pendiente el ajustar los FPS sin que suponga retardos en el video de salida... he visto que podemos usar algun filtro de telecine... pero no me gustan mucho por que suelen meter entrelazado...
krawek si es posible, pero no con este script... su filosofia en un principio seria pasar lo que sea a MPEG2 para poder reproducirlo en un DVD y VCD ya es MPEG2... pero claro la decision final en esto no me corresponde a mi (ya que solo colaboro), el autor es Sertinell.
PD:En enlace ya funciona... tenia el apache apagado ^_^
Un saludo _________________ 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 |
|
|
erflako Apprentice
Joined: 18 Apr 2004 Posts: 210 Location: Madrid , España
|
Posted: Sun Oct 24, 2004 3:29 pm Post subject: |
|
|
Desde anoche tengo una cosa parecida a la tuya - lo del vcd etc.
A mi me da error haciendo vcd . Lo hace , pero con error en ... buffer underrrun ...
Ahora al tajo - yo cojo el audio codec del fichero de entrada . Asi como tienes las cosas
puede que te salga mal la cosa - un avi con ac3 lo tienes que obligar para que te haga ac3 de salida .
Coje al audio del avi y tratalo segun el caso .
Lo mencioné antes - el script lo tengo colgado en mi pagina - "www" que esta al lado de "mp" .
El problema lo tengo en un avi con pcm en un canal (???)
Lo mejor que he conseguido es :
Code: |
# transcode -i $FILE -o video -m audio -x divx,af6 -y mpeg2enc,wav
# transcode -i $FILE -o video -m audio -x divx,raw -y mpeg2enc,wav
|
Ambas cosas funcionan , pero , claro , uso transcode .
La idea original de Sertinell de usar solamente mplayer-mencoder no la puedo mantener .
Con transcode el video se puede hacer con null y el audio es decente ( segun se mire ) .
Por lo menos se escucha y no tiene ruido .
Si decidimos usar transcode creo que podriamos codificar casi cualquier audio a ac3 . Esta por comprobarlo .
La decision final es de Sertinell .
( Como dijo oCHARLIEo - yo solo colaboro )
Tambien intento poner un paramentro formato de audio de salida - asi podriamos obligar un audio segun se quiere en DVD .
En (S)VCD tiene que ir mp2 ¿no? Pero en dvd puedes dejar mp2 teniendo ac3/a52 en la entrada .
Ahora mismo no tenemos medios de tratar pcm ( sin contar con transcode ) y si te toca un fichero así
a lo mejor no se oye nada en la salida - lo tratarías como un "no-ac3" y vete a saber que saldría .
Con el que tengo yo - ruido .
Si mirais el script que tengo los nombres de funciones estan un poco cambiadas ( no te ofendas oCHARLIEo ,
así las tenia antes , así se quedaron )
La estructura del script sin embargo es la misma .
He añadido una funcion de comprobacion del espacio de disco - puede que en un momento dado no tengas
espacio para hacer la octava pelicula . No esta muy fino , pero ... ya lo arreglaré .
Lo de los FPS - por ahora los cojo del fichero de entrada .
Comentad como lo veis - lo del sonido de salida , el transcode y a ver como arreglamos los fps.
Saludos . _________________ Linux user #358087 |
|
Back to top |
|
|
oCHARLIEo Guru
Joined: 06 Oct 2003 Posts: 303 Location: Madrid
|
Posted: Sun Oct 24, 2004 4:38 pm Post subject: |
|
|
erflako no encuentro tu script por ningun lado macho ^_^ ponme un link por que debo ser muy torpe...
Por otro lado, no te entiendo muy bien con lo del sonido, no lo puedes convertir a AC3, aunque si puedes conservar el sonido AC3 por defecto (si pones a "yes" la variable global lo hara por defecto).
Yo de momento no conozco ningun conversor a AC3 y aun asi el problema que tendrias es que tu fuente original deberia ser de 5 canales, y en un MP3 solo tienes dos...
El sonido en un VCD,SVCD solo puede ser PCM(2 canales) o MP2 y en un DVD ademas puede ser AC3 y PCM(5 canales), en el script tienes una opcion para conservar el sonido AC3 y podemos agregar otra para conservar el sonido PCM si ves que da problemas... (no lo he probado pero deberia funcionar bien con los PCMs de 2 o mas canales) de esa forma los (S)VCD saldrian con el sonido en PCM original y se deberia reproducir sin problemas en un DVD...
PD: tronko, edita tus post anteriores y elimina esos fragmentos de codigo porque descuadran todo el hilo y se lee fatal, anda hazme el favor ^_^ _________________ 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)
Last edited by oCHARLIEo on Sun Oct 24, 2004 4:53 pm; edited 1 time in total |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Sun Oct 24, 2004 4:50 pm Post subject: |
|
|
Perdonadme por el tiempo qe he estado desaparecido
1º Me parece perfecto q qerais hacer VCD, pero un VCD es mpeg-1, no mpeg-2. Eso tambien habria qe cambiarlo.
2º Respecto a usar transcode ... Si es la unica forma qe has encontrado perfecto, pero yo he codificado de PCM Raw a PCM wav header con mplayer, sin nigun problema. Con la misma linea qe usamos dese el principio para sacar elmp3 a un wav.
3º Quote: | krawek si es posible, pero no con este script... su filosofia en un principio seria pasar lo que sea a MPEG2 para poder reproducirlo en un DVD y VCD ya es MPEG2... pero claro la decision final en esto no me corresponde a mi (ya que solo colaboro), el autor es Sertinell. | Krawek el script se trata de eso, de pasar un avi o lo qe sea a un mpeg reproducible en un DVD, si quieres pasar un VCD a DVD oSVCD ya te aviso qe vas a perder calidad, se pierde en toda codificacion, esto es como el tlefono roto
4º La variable MUXBUFFSIZE para SVCD y VCD si tiene un valor concreto, el problema es qe mi documentacion la obtengode KVCD.net, y alli trabajan con windows y no multiplexan el DVD, ya se encarga elprograma de autoria. Ahora os pego el valor para SVCD y VCD. La variable BUFFSIZE SI tiene valor para los 3 ahora os lo pego.
5º
Quote: | La decision final es de Sertinell .
( Como dijo oCHARLIEo - yo solo colaboro ) |
Vosotros ya habeis invertido casi mas tiempo q yo en el script;). |
|
Back to top |
|
|
Sertinell Guru
Joined: 19 May 2004 Posts: 582
|
Posted: Sun Oct 24, 2004 5:06 pm Post subject: |
|
|
Code: | vrc_buf_size= the vbv buffer size (VCD=327, SVCD=917, DVD=1835) |
Ahi teneis los valores de BUFSIZE. Respecto a MUXBUFSIZE mplex dice qe se debe poner el mismo valor con el qe secodifico el video. Pero segun los datos qe tengo y eso, sipara SVCD son 230 (eso es seguro) 937/4=~230 pues por regla de 3 salen el resto.
Respecto a las definiciones qe habeis escojido para el estandar, a mi personalmente me gusta elegir la resolucion segun el filme, el tamaño del qe dispongo etc. Me gustaria tener una opcion para poder habilitar la eleccion libre de las resoluciones. Antes era el autor ahora soy yo el qe colabora y aporta ideas
P.E. Mis SVCD siempre los hago a 352x576 por qe aunqe no es standar mi DVD lo coje perfectamente y si quiero meterlo en un CD solo, 480*576 hay veces qe es demasiado grande y aparecen artefactos.
los FPs, hasta qe charlie no ocnsiga qe no se desincronice, es el qe mas cerca lo tiene , creo qe deberiamos dejar qe cojiera los valores del video original, para qe no haya desincronizaciones mientras lo solucionamos
Edito:No habia leido esto
Quote: | El sonido en un VCD,SVCD solo puede ser PCM(2 canales) o MP2 y en un DVD ademas puede ser AC3 y PCM(5 canales), en el script tienes una opcion para conservar el sonido AC3 y podemos agregar otra para conservar el sonido PCM si ves que da problemas... (no lo he probado pero deberia funcionar bien con los PCMs de 2 o mas canales) de esa forma los (S)VCD saldrian con el sonido en PCM original y se deberia reproducir sin problemas en un DVD... | Un SVCD con PCM !!! Con lo qe ocupa un PCM de 90 Min no nos qeda sistio para el video en un CD. Yo voto por pasar el PCM a mp2(tanto para DVD como SVCD), mis pruebas me dicen qe extrayendo el audio con la opcion de siempre mplayer lo extrae al wav y no hay problemas para codificarlo con toolame, pero si las preubas de erflako dicen lo contrario ...(mis prubeas fueron con un WAV a 44.100 Hz y stereo)
Un saludo |
|
Back to top |
|
|
|
|
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
|
|