[Turorial] Añadir subtítulos a películas para ps3 en LINUX

Conversación publicada en el foro Multimedia

Bien, pues tras varios quebraderos de cabeza intentando meter subtítulos a series para poder verlas por tv a través de la ps3 y con el problema de q en muchas veces, éstos me pierdan calidad, creo q he dado con la manera definitiva de poder hacerlo sin perder calidad, de una forma sencilla, rfont color="red">ápida y eficaz. os explico:

---- A mi me ha funcionado perfectamente bajo ubuntu, para las demás distribuciones, supongo q también ----

1.- Instalamos mencoder , programa q usaremos con tal finalidad, y tb la fuente q deseamos para los subtítulos, a mi criterio, ttf-freefont. Para ello, desde ubuntu/debian, basta con poner desde consola:

[email protected]:~$ sudo apt-get install mencoder ttf-freefont

2.- Ahora, a través de la consola, nos ponemos en la ruta q contiene el video y los subtítulos (han de estar en el mismo directorio).

[email protected]:~$ cd /media/Downloads/Series/Lost (por ejemplo)

3.- Una vez en el directorio, le daremos la orden para q empiece a incrustar.

[email protected]:~$ mencoder -ovc xvid -xvidencopts pass=1 -oac copy Titulo.avi -o Tituloconsubs.avi -sub Nombresubs.srt -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1

Donde Titulo.avi, es el nombre q tiene la peli en cuestión, Tituloconsubs.avi es el nombre del video resultante, es decir, el video con los títulos ya incrustados y Nombresubs.srt, el nombre q tiene el archivo con subtítulos.

Ejemplo: (ya una vez en la ruta dónde esta el video Lost1x05 y sus subtítulos Lost1x05.srt). En el ejemplo expuesto, nos daria un video resultante de nombre Lost1x05consubs.avi en la misma carpeta dónde estan Lost1x05.avi y Lost1x05.srt. Asi q una vez terminado el proceso (no cerrar la consola antes), podeis borrar Lost1x05.avi y Lost1x05.srt.

[email protected]:~$ mencoder -ovc xvid -xvidencopts pass=1 -oac copy Lost1x05.avi -o Lost1x05consubs.avi -sub Lost1x05.srt -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1

Bien, pues ante la dificultad de memorizar/aprender una cadena de comandos tan complicada como esta (al menos para mi), alguna mente brillante se dedicó a hacer algo q facilitara el proceso para mentes no tan privilegiadas (como la mia XD). Este algo tan útil consiste en crear en tu home (Carpeta personal ó de usuario), un archivo nuevo SIN EXTENSIÓN, q nombraremos subs. Lo abrimos, y dentro le ponemos lo siguiente:


#!/bin/bash

read -p "Selecciona el archivo de vídeo: " video_ini

read -p "Selecciona el archivo de subtitulos: " subs

read -p "Selecciona el nombre del archivo de salida: " video_fin

mencoder -ovc xvid -xvidencopts pass=1 -oac copy $video_ini -o $video_fin -sub $subs -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1

Luego, guardamos y cerramos. Sigamos:

Una vez el archivo subs creado, vamos a darle permiso de ejecución y a copiarlo dentro de /usr/bin , para q, desde consola al ajecutar el programa, nos lo detecte sea cual sea la ruta en la q estemos, sin necesidad de tener q ir a su ruta para ejecutarse.

[email protected]:~$ chmod +x subs

Primero le hemos dado los permisos, y ahora, vamos a meterlo dónde se merece estar:

[email protected]:~$ cp subs /usr/bin

Bien, pues ya está. Ahora, para poder usarlo, lo q debemos hacer es, desde consola, ir a la ruta dónde este el video y los subtítulos para por ejemplo, el caso anterior.

[email protected]:~$ cd /media/Downloads/Series/Lost (por ejemplo)

Y una vez en la ruta deseada, basta q pongamos en la consola subs

[email protected]:~$ subs
Selecciona el archivo de vídeo: Lost1x05.avi
Selecciona el archivo de subtitulos: Lost1x05.srt
Selecciona el nombre del archivo de salida: Lost1x05consubs.avi

Y os saldrá algo similar a ésto:

MEncoder 2:1.0~rc2-0ubuntu13+medibuntu1 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4600+ (Family: 15, Model: 75, Stepping: 2)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0 data: 0x0 - 0x15cc9000
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO: [XVID] 608x336 12bpp 23.976 fps 983.1 kbps (120.0 kbyte/s)
[V] filefmt:3 fourcc:0x44495658 size:608x336 fps:23.98 ftime:=0.0417
SUB: Detected subtitle file format: subviewer
SUB: Read 630 subtitles.
SUB: Adjusted 5 subtitle(s).
xvid: using library version 1.1.2 (build xvid-1.1.2)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
================================================== ========================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
================================================== ========================
audiocodec: framecopy (format=55 chans=2 rate=48000 bits=0 B/s=16357 sample-0)
VDec: vo config request - 608 x 336 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.81:1 - prescaling to correct movie aspect.
videocodec: XviD (608x336 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=608x336, sampled=608x336
xvid: 2Pass Rate Control -- 1st pass
Writing header...1f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
ODML: vprp aspect is 16384:9054.
Setting audio delay to 0.048s.
Writing header...
ODML: vprp aspect is 16384:9054.
Setting audio delay to 0.048s.

1 duplicate frame(s)!
Pos: 0.1s 4f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.006 [0:0]
1 duplicate frame(s)!
Pos: 0.2s 7f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.011 [0:0]
1 duplicate frame(s)!
Pos: 0.3s 10f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.014 [0:0]
1 duplicate frame(s)!
Pos: 0.4s 13f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.019 [0:0]
1 duplicate frame(s)!
Pos: 0.5s 16f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.024 [0:51]
1 duplicate frame(s)!
Pos: 0.7s 19f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.029 [0:59]
1 duplicate frame(s)!
Pos: 0.8s 22f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.033 [0:66]
.......................

Y nada, ahora a esperar q acabe

Errores conocidos:
Yo tuve uno, q fue al crear el archivo subs, puesto q desde la web dónde segui este tutorial, sea pq usaba una codificación de carácteres distinta o por el motivo q fuera, no me pillaba bien los comandos y me daba error. Si os pasa lo mismo, la solución es fácil.Con sabiduria y paciencia de Santo, hacedlo a mano, es decir, copiad el q hay pero lo escribis todo a mano, o es q igual el orginal estaba mal, o no sé.

De momento, esto junto al twonkymedia, es de lo más útil q he encontrado. En fin, suerte y si os enterais de algo más posteadposteadpostead!

Fuente : http://miblogdelinux.nireblog.com/ modificada y explicada segun experiencias.
GTA 5 Red Dead Redemption 2 Final Fantasy XV Kingdom Hearts 3 The Last of Us 2 God of War FIFA 17 Final Fantasy VII Remake Horizon: Zero Dawn