Cita
Primero empezaremos por los requisitos, lo único que necesitamos es el paquete mencoder (y las dependencias que pueda tener) y una fuente instalada en nuestro sistema que sea de nuestro agrado, en mi caso utilizo FreeSans Bold (incluida en el paquete ttf-freefont), que me gusta mucho como queda y se lee a la perfección en el vídeo. Instalemos pues:
# aptitude install mencoder ttf-freefont
Lo próximo será ponernos manos a la obra. Abriremos un terminal y nos situaremos en la carpeta donde tenemos el vídeo y los subtítulos, pues nos será mucho más cómodo a la hora de introducir el comando.
Bien, supongamos que estamos en este caso:
* Archivo de vídeo: Heroes.S02E01.HDTV.XviD-XOR.avi
* Archivo de subtítulos: Heroes.S02E01.HDTV.XviD-XOR.srt
* Archivo de salida deseado: Heroes.S02E01.avi
Situados en la carpeta en cuestión introducimos el siguiente comando:
$ mencoder -ovc lavc -lavcopts vcodec=mpeg4 -oac copy Heroes.S02E01.HDTV.XviD-XOR.avi -o Heroes.S02E01.avi -sub Heroes.S02E01.HDTV.XviD-XOR.srt -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1
Tras esto mencoder empezará a codificar el vídeo creando el nuevo archivo .avi con los subtítulos ya pegados en él.
Como se puede ver, el comando es un poco engorroso de recordar, y como tiene varias variables no se le podría poner un alias, pero para eso he creado un script (sí, yo solito!!!) que aunque es muy básico nos sirve para no tener que recordar todos los parámetros. Es el 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 lavc -lavcopts vcodec=mpeg4 -oac copy $video_ini -o $video_fin -sub $subs -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1
En el script lo único que deberíais cambiar sería la ruta de la fuente, en caso de que queráis utilizar otra distinta. Como se utiliza el script? Muy sencillo:
Primero lo creamos, con kate, gedit, nano o lo que más rabia os de, le dáis un nombre, por ejemplo yo le he puesto como nombre pegar_subs, después le damos permisos de ejecución y lo copiamos a la carpeta /usr/bin (así no tendremos que indicar la ruta al script ya que estará en nuestro PATH):
# nano pegar_subs
# chmod +x pegar_subs
# cp pegar_subs /usr/bin
Para usarlo, abrimos un terminal y nos vamos a la carpeta donde tenemos el vídeo y los subtítulos y tecleamos:
$ pegar_subs
Nos preguntará por el nombre del vídeo, el nombre de los subtítulos y el nombre que le queremos dar al archivo de salida. Como en ese diálogo no hay autocompletado, lo mejor es copiar el nombre del archivo directamente y pegarlo en el terminal. Tras esto tendremos nuestro vídeo con los subtítulos integrados.
Con la fuente FreeSans que le tengo puesta podéis ver una muestra de como queda:
El único problema que me he encontrado es con los símbolos "¡" y "º", si alguien sabe qué parámetro hay que introducir para conseguir que salgan bien (se sustituyen por "¿"), ya sabe donde decirlo :P
Deberían ponerse correctamente usando la codificación ISO 8859-15, pero por más que miro el manpage no doy con el parámetro correcto.
# aptitude install mencoder ttf-freefont
Lo próximo será ponernos manos a la obra. Abriremos un terminal y nos situaremos en la carpeta donde tenemos el vídeo y los subtítulos, pues nos será mucho más cómodo a la hora de introducir el comando.
Bien, supongamos que estamos en este caso:
* Archivo de vídeo: Heroes.S02E01.HDTV.XviD-XOR.avi
* Archivo de subtítulos: Heroes.S02E01.HDTV.XviD-XOR.srt
* Archivo de salida deseado: Heroes.S02E01.avi
Situados en la carpeta en cuestión introducimos el siguiente comando:
$ mencoder -ovc lavc -lavcopts vcodec=mpeg4 -oac copy Heroes.S02E01.HDTV.XviD-XOR.avi -o Heroes.S02E01.avi -sub Heroes.S02E01.HDTV.XviD-XOR.srt -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1
Tras esto mencoder empezará a codificar el vídeo creando el nuevo archivo .avi con los subtítulos ya pegados en él.
Como se puede ver, el comando es un poco engorroso de recordar, y como tiene varias variables no se le podría poner un alias, pero para eso he creado un script (sí, yo solito!!!) que aunque es muy básico nos sirve para no tener que recordar todos los parámetros. Es el 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 lavc -lavcopts vcodec=mpeg4 -oac copy $video_ini -o $video_fin -sub $subs -font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf -subfont-autoscale 1
En el script lo único que deberíais cambiar sería la ruta de la fuente, en caso de que queráis utilizar otra distinta. Como se utiliza el script? Muy sencillo:
Primero lo creamos, con kate, gedit, nano o lo que más rabia os de, le dáis un nombre, por ejemplo yo le he puesto como nombre pegar_subs, después le damos permisos de ejecución y lo copiamos a la carpeta /usr/bin (así no tendremos que indicar la ruta al script ya que estará en nuestro PATH):
# nano pegar_subs
# chmod +x pegar_subs
# cp pegar_subs /usr/bin
Para usarlo, abrimos un terminal y nos vamos a la carpeta donde tenemos el vídeo y los subtítulos y tecleamos:
$ pegar_subs
Nos preguntará por el nombre del vídeo, el nombre de los subtítulos y el nombre que le queremos dar al archivo de salida. Como en ese diálogo no hay autocompletado, lo mejor es copiar el nombre del archivo directamente y pegarlo en el terminal. Tras esto tendremos nuestro vídeo con los subtítulos integrados.
Con la fuente FreeSans que le tengo puesta podéis ver una muestra de como queda:
Ántes:

Después:

El único problema que me he encontrado es con los símbolos "¡" y "º", si alguien sabe qué parámetro hay que introducir para conseguir que salgan bien (se sustituyen por "¿"), ya sabe donde decirlo :P
Deberían ponerse correctamente usando la codificación ISO 8859-15, pero por más que miro el manpage no doy con el parámetro correcto.
Por cierto, se me olvidaba mencionarlo, los comandos que tienen delante # se introducen como root y los que tienen $ se introducen como usuario normal.
Este tema ha sido editado por Scarface: 03 November 2007 - 14:38












