k3b

raul84

Mi problema con el k3b es que no consigo grabar un vcd. Primero me pedía el vcdimager, lo bajé y ahora cuando intento grabar me pone:

Charset conversion failed
vcdxbuild returned an unknown error (code 1)

Y si le doy a Show Debugging Output, el resultado es este:

Devices

HL-DT-ST CD-RW GCE-8481B 1.01 (/dev/hdd, ) at /media/cdrom1 [CD-R; CD-RW; CD-ROM] [CD-ROM; CD-R; CD-RW] [SAO; TAO; RAW; SAO/R16; RAW/R96P; RAW/R96R]
PIONEER DVD-ROM DVD-116 1.22 (/dev/hdc, ) at /media/cdrom0 [CD-ROM; DVD-ROM] [DVD-ROM; CD-ROM] [None]

K3bVcdXml:

<?xml version="1.0"?>
<videocd class="vcd" xmlns="http://www.gnu.org/software/vcdimager/1.0/" version="2.0" >

<album-id></album-id>
<volume-count>1</volume-count>
<volume-number>1</volume-number>
<restriction>0</restriction>
</info>
<pvd>
<volume-id>VIDEOCD</volume-id>
<system-id>CD-RTOS CD-BRIDGE</system-id>
<application-id>CDI/CDI_VCD.APP;1</application-id>
<preparer-id>K3B - VERSION 0.11.23</preparer-id>
<publisher-id>K3B - VERSION 0.11.23</publisher-id>
</pvd>
<filesystem>
<folder>
<name>SEGMENT</name>
</folder>
</filesystem>
<sequence-items>
<sequence-item id="sequence-000" src="/home/raul/.aMule/Incoming/---pelicula---.mpg" >
<default-entry id="entry-000" />
</sequence-item>
</sequence-items>
</videocd>

System


K3b Version: 0.11.23
KDE Version: 3.4.0
QT Version: 3.3.3
Kernel: 2.6.10-5-386

vcdxbuild


<log level="error">charset conversion failed</log>

vcdxbuild comand:


/usr/bin/vcdxbuild --progress --gui --cue-file=/tmp/kde-raul/VIDEOCD.cue --bin-file=/tmp/kde-raul/VIDEOCD.bin /tmp/kde-raul/k3blzZopb.tmp

raul84

Bueno, ya he encontrao la solución. Para quien le interese y no lo sepa hay que añadir esto: "--filename-encoding=iso8859-1" en Propiedades de k3b/Programas/Parametros de usuarios y en vcdxbuild poner la susodicha línea.

Y

Si lo que quieres es pasar un divx a vcd yo uso este script muy bueno
#!/bin/bash

Este script pasa un Divx a VCD. Para los archivos temporales se

necesita al menos 4.5 Gigas (m1v y mpa, los .mpg y los .bin)

DIR=pwd
TEMPFOLDER=/tmp/divx2vcd-$RANDOM
TEMP_TEMPLATE=/tmp/tcmplex-template-$RANDOM

CDSIZE Values. VCDs are write in Mode 2, so the filesizes are the

the following:

74 Min/650Mb ---> CDSIZE=735

80 Min/700Mb ---> CDSIZE=795

CDSIZE=795
#VIDEORATE=1150
AUDIORATE=224

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

FILE=$1
if [ "$1" == "basename \"$1\"" ]; then
FILE="$DIR/$1"
fi

mkdir $TEMPFOLDER
cd $TEMPFOLDER

tcprobe -i "$FILE" > $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_1=echo "scale=1 ; $FPS/1"| bc -l
FRAMES=grep '\[avilib\] V:' $TEMPFOLDER/info | \
perl -e ' $line=<STDIN> ; $line =~ /frames=(\d+)/ ; print $1'

SEGUNDOS_TOTAL=echo "scale=0 ; ($FRAMES / $FPS)"| bc -l
HORAS=echo "scale=0 ; ($SEGUNDOS_TOTAL / 3600)"| bc -l
MINUTOS=echo "scale=0 ; (($SEGUNDOS_TOTAL - 3600 * $HORAS)/60)"| \
bc -l

SEGUNDOS=echo "scale=0 ; ($SEGUNDOS_TOTAL % 60)"| bc -l


echo "*************** FILE INFO ***************"
echo "Frame Size: ${WIDTH}x${HEIGHT} - FPS: $FPS"
echo "Length: $FRAMES - Seconds: $SEGUNDOS_TOTAL"
echo "$HORAS hours, $MINUTOS minutes, $SEGUNDOS seconds"

if [ $FPS_1 == "29.9" -o $FPS_1 == "30" -o $FPS_1 == "23.9" ]; then
WIDTH_OUT=352
HEIGHT_OUT=240
else
WIDTH_OUT=352
HEIGHT_OUT=288
fi

echo "Video Output: ${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"

Borramos Pelicula.m1v y Pelicula.mpa

rm -f Pelicula.m1v Pelicula.mpa

cd $TEMPFOLDER

echo "transcode -i \"$FILE\" -V -x mplayer -y mpeg2enc,mp2enc \
-F 1 -Z ${WIDTH_OUT}x$ALTO_OUT -Y -$BORDE,0,-$BORDE,0 \
--export_asr 2 -E 44100 -b $AUDIORATE -o $DIR/Pelicula"
transcode -i "$FILE" -V -x mplayer -y mpeg2enc,mp2enc \
-F 1 -Z ${WIDTH_OUT}x$ALTO_OUT -Y -$BORDE,0,-$BORDE,0 \
--export_asr 2 -E 44100 -b $AUDIORATE -o $DIR/Pelicula

rm $TEMPFOLDER/*
rmdir $TEMPFOLDER

cd $DIR

Si no hay Pelicula.m1v y Pelicula.mpa salir

[ -f Pelicula.m1v -a -f Pelicula.mpa ] || exit 1

rm -f Pelicula*.mpg

#Ahora multiplexamos el .mpg
echo "maxFileSize = $CDSIZE" > $TEMP_TEMPLATE
tcmplex -i Pelicula.m1v -p Pelicula.mpa -o Pelicula.mpg \
-m 1 -F $TEMP_TEMPLATE
rm $TEMP_TEMPLATE

Y creamos las imagenes...

for i in ls Pelicula*mpg ; do
vcdimager -t vcd2 -c $i.cue -b $i.bin $i
done

-- Final divx2vcd --

Solo le indicas el divx y te crea las imagenes necesarias para grabar en los cds

Sacado de http://dvdripping-guid.berlios.de/index_es.html

raul84

No era eso, me referia simplemente a grabar un mpg. Pero gracias de todos modos.

Y

ah! bueno, pues con esto es suficiente

Y creamos las imagenes...

for i in ls Pelicula*mpg ; do
vcdimager -t vcd2 -c $i.cue -b $i.bin $i
done

Usuarios habituales