dimarts, 23 d’octubre del 2012

Com incrustar subtítols en GNU-Linux en una única comanda

Després de l'especial Sitges 2012, torno amb un artícle una mica tècnic però que pot ser d'utilitat. Personalment, quan miro pel·lícules descarregades d'Internet, que no siguin mkv, prefereixo tenir els subtítols en arxius apart (.srt). Però a vegades puc trobar-me amb reproductors que no admeten subtítols o, simplement, vull pujar un vídeo per fer streaming i llavors la cosa ja no funciona.

Després de mirar-m'ho una mica he trobat una solució molt senzilla per incrustar els subtítols dins d'un vídeo (via PCTux). És per comanda però és molt més fàcil que amb Avidemux o qualsevol altre programa.

1. Instal·lar el paquet "mencoder"

Aquest paquet ens instal·lar la comanda que farem servir:
sudo apt-get install mencoder

2.Inscrustar subtítols

La gràcia d'aquest mètode és que inscrustar els subtítols es fa amb una única comanda
mencoder arxiu_pelicula.avi -sub arxiu_subtitols.srt -oac copy -ovc xvid -xvidencopts pass=1 -o arxiu_sortida.avi
Amb això ja crearà un nou arxiu de vídeo amb els subtítols. Si voleu fer proves, es podeu modificar la font, la mida o el color del text amb la mateixa comanda.

En cas que no surti bé

Pot ser que l'axiu de subtítols tingui alguna codificació estranya. Si no apareixen correctament els accents o així (en principi s'hauria de detectar) podeu veure la codificació amb la comanda "file" sobre l'arxiu de subtítols:
file arxiu_subtitols.srt
Això us mostrarà la codificació. Per exemple:
arxiu_subtitols.srt: ISO-8859 text, with CRLF line terminators
D'aquí només hem de recordar el que hi ha després dels dos punts. Normalment és "ISO-8859" o bé "UTF-8".
Un cop fet això, per executar la comanda cal fer-ho així:
mencoder arxiu_pelicula.avi -sub arxiu_subtitols.srt -oac copy -ovc xvid -xvidencopts pass=1 -o arxiu_sortida.avi -subcp ISO-8859 -subfont-text-scale 3.8
Aquesta versió especifica la codificació dels caràcters i, de pas, modifica la mida de la font.