¿Como insertar subtitulos a videos en Linux?

Hola a tod@s,

Llevo ya varios días intentándolo y he conseguido algo, aunque necesito utilizar dos programas, con lo cual el proceso tarda un día entero.

Primero inserto los subtítulos con el Avidemux, pero no logro generar un fichero que ya lea la PS3. Luego paso este fichero por un script que conseguí usando el ffmpeg.

Si alguien sabe cómo generar un video PS3Ready desde el Avidemux o meter subtítulos con el ffmpeg, se lo agradecería.

Por cierto, los subtítulos tienen que ir metidos en el vídeo, nada de meterlos en un stream aparte que la PS3 pasa de ellos.

Un saludo.
Hola,

Pues me autorespondo yo mismo. Igual puede ayudar a alguien.

Antes de nada decir que esto es una m..... Lo mejor sería no tener que meter los subtítulos en el vídeo, porque como los subtítulos no sean exactos para la versión del archivo... la hemos cagao.

Yo utilicé el programa h264enc que podéis encontrar en sourceforge. Este programa está bastante bien porque tiene un montón de profiles para diferentes "plataformas", entre ellas la ps3 en dos modalidades. La pena es que no tiene ninguna opción para meter los subtítulos en el vídeo (se puede meter como otro stream en mp4, pero eso no lo lee la ps3 por ahora) así que hay que hacer chapucillas.

h264enc utiliza mencoder y MP4Box para generar el vídeo final, por lo que es lo único que necesitamos. Os pego el batchfile modificado para que veais lo que hay que hacer:

################### START OF COMMANDS ###################

test -d /home/arponero/.h264enc/h264enc.xsIb8596 || mkdir -p /home/arponero/.h264enc/h264enc.xsIb8596
test -e "/home/arponero/H264-8557.avi" && mv -f "/home/arponero/H264-8557.avi" "/home/arponero/H264-8557.avi.old"

mencoder "/home/arponero/Series/Perdidos/Perdidos Temporada 4/English/LostS04E01.mp4" -o "/home/arponero/H264-8557.avi" -vf softskip,harddup -af resample=48000:0:2 -srate 48000 -channels 2 -oac faac -faacopts mpeg=4:br=128:object=2 -ovc x264 -x264encopts bitrate=8000:me=umh:me_range=24:nodct_decimate:nointerlaced:8x8dct:threads=auto:nofast_pskip:trellis=1:partitions=p8x8,b8x8,i8x8,i4x4:mixed_refs:keyint=240:keyint_min=24:frameref=3:bframes=3:bime:b_adapt:b_pyramid:weight_b:direct_pred=auto:subq=6:brdo:chroma_me:cabac:deblock:nossim:nopsnr:level_idc=41 -sub Perdidos.srt -subpos 90
sleep 3

MP4Box -aviraw video "/home/arponero/H264-8557.avi" -out /home/arponero/.h264enc/h264enc.xsIb8596/h264.h264
MP4Box -aviraw audio "/home/arponero/H264-8557.avi" -out /home/arponero/.h264enc/h264enc.xsIb8596/aac.raw
mv -f /home/arponero/.h264enc/h264enc.xsIb8596/*.raw /home/arponero/.h264enc/h264enc.xsIb8596/audio.aac
test -e "/home/arponero/H264-8557.mp4" && mv -f "/home/arponero/H264-8557.mp4" "/home/arponero/H264-8557.mp4.old"
MP4Box -fps $(mplayer "/home/arponero/H264-8557.avi" -identify -nosound -vo null -nocache -frames 1 | grep '^ID_VIDEO_FPS' | tail -1 | awk -F= '{print $2}') -tmp /home/arponero/.h264enc/h264enc.xsIb8596 -add /home/arponero/.h264enc/h264enc.xsIb8596/*.h264 -add /home/arponero/.h264enc/h264enc.xsIb8596/*.aac "/home/arponero/H264-8557.mp4"
sleep 3

rm -rf /home/arponero/.h264enc/h264enc.xsIb8596

#################### END OF COMMANDS ####################


Cambiad los directorios y ya está. Una cosa muy importante que me costó encontrar: tenéis que crear el fichero ~/.mplayer/mencoder.conf con al menos lo siguiente:

fontconfig = yes
subfont-text-scale=2
font=~/.mplayer/subfont.ttf


esto es para tener un tamaño de subtítulo razonable. Ojo al fichero subfont.ttf (si no lo tenéis, poned cualquier otro ttf).

Espero os sea útil.
1 respuesta