Problemas con subtítulos (.srt) en VLC

+1
0
-1

A veces hay subtítulos que no se muestran correctamente: aparecen y desaparecen. Esto se debe a la codificación del fichero de texto .srt, que no está en UTF-8, haciendo que los diálogos que contienen caracteres extraños, como letras acentuadas, no se muestren.

Solución: abrir el fichero de subtítulos con gedit y guardarlo codificado en utf-8, sobrescribiendo el archivo original.

Comentarios

Imagen de patriciologico

En Gnomesword (biblia) baje unos diccionarios que venian en iso-8859, intente hacer lo mismo que tu sugieres para los .srt, pero me reemplazo las palabras con tilde y las eñes por espacios en blanco o caracteres rarisimos, como solucion parche abri el texto y lo edite con buscar y reemplazar, ej. buscar "Á" reemplazar por "a", asi con todas las silabas que se veian mal. Tienes alguna idea de como arreglarlo de forma mas decente a la que use yo?

Saludos
-----------------------------------------------------------------------
Blog: http://cielonocturno.blogspot.com Linux User #408707

Jabber ID: patriciologico@jabberes.org - patriciologico@ubuntu-es.org
------------------------------------------

Linux User #408707 Ubuntu User#4232
Jabber ID: patriciologico@jabberes.org

Imagen de Anónimo

Lo único que te puedo sugerir es que uses el siguiente script que encontré hace un tiempo para codificar ficheros a utf-8, a ver si te codifica correctamente:

#! /bin/sh

# Chequeamos los parámetros de la línea de comandos
if [[ ! -d $1 ]]
then
echo "¡Error en los parámetros! Uso: $0 ";
exit 1
fi

# Crea los archivos temporales
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15

# Localiza todos los archivos en el directorio
find $1 -type f > $tempfile;

# Abre el archivo temporal
exec 3< $tempfile

while read -u3 filename
do
# Chequea el tipo de codificación del archivo
typefile=$(file --mime "$filename");
if [[ -n $(echo $typefile | grep "text/") ]]
then
encoding=$(echo $typefile | cut -d'=' -f2);
if [[ $encoding != "utf-8" ]]
then
if [[ -n "$(iconv --list | grep -i $encoding)" ]]
then
# Cambia la codificación
tempfile2=`tempfile 2>/dev/null` || tempfile2=/tmp/test$$
trap "rm -f $tempfile2" 0 1 2 5 15
iconv --from-code=$encoding --to-code=utf-8 "$filename" > $tempfile2
mv -f $tempfile2 "$filename"
echo "$filename: $encoding -> utf8";
fi
fi
fi;
done;

exec 3<&-

Imagen de tiroxino

lo siento el código que te he puesto no se muestra correctamente, hay líneas que están mal. Deberían poner una etiqueta html para escribir código...

Imagen de tiroxino

El código del script lo puedes encontrar aquí:

http://www.liberaliatempus.com/articulos/linux/conversion-de-archivos-a-...

Imagen de patriciologico

Muchas Gracias por las luces Tiroxino!
-----------------------------------------------------------------------
Blog: http://cielonocturno.blogspot.com Linux User #408707

Jabber ID: patriciologico@jabberes.org - patriciologico@ubuntu-es.org
------------------------------------------

Linux User #408707 Ubuntu User#4232
Jabber ID: patriciologico@jabberes.org

Imagen de Anónimo

Preferencias =>Input/codecs =>Subtitulos => Codificacion de texto de subtitulos => ISO-8859-1

Imagen de Anónimo

Muchas gracias Anonimo, con Codificacion de texto de subtitulos => ISO-8859-1 he conseguido resolver el problema de ciertas lineas de subtitulos q no se veian en VLC de manera rapida y sencilla, ufff ya puedo sentarme a disfrutar de una buena peli ; )

Imagen de Anónimo

Gracias por la respuesta, yo tb solucione el problema.

Imagen de equiman

La masa facil y sin tener que ponerse a cambiar nada de los archivos. Muchas gracias ;)

No se si mi version de VLC sea diferente, asi que por si las moscas dejo la ruta como la encontre yo:

Menu Opciones -> Preferencias

Entrada/Codecs -> Otros Codecs -> Subtitulos

Codificación de Texto de Subtitulos: ISO-8859-1 

Imagen de piponazo

Hola gente!

Efectivamente el problema es por la codificación, para una rápida y sencilla recodificación de archivos con la codificación de windows a utf-8 tan solo teneis que hacer lo siguiente:

$ recode latin1..utf-8 nombre-archivo

Espero que os sea de ayuda ;) 

Daría todo lo que se, por la mitad de lo que ignoro.

Imagen de gfondeur

Gracias viejo ahora puedo disfrutar de mis series favoritas con todos sus subtitulos..............

Imagen de caarlb

Tu solucion me funciono muy bien! gracias