Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/12/2017, à 15:44

berserk

[résolu] Création de .mkv et encodage des sous-titres

Bonjour et joyeuses fêtes

Je voudrais intégrer des sous-titres (format .srt uniquement) à des vidéos pour obtenir un fichier .mkv, ce sont des sous-titres que je télécharge sur le net.
J'ai fait quelques tests avec mkvtoolnix, et apparemment selon les paramètres ça marche plus ou moins bien, c'est à dire que les caractères accentués ou les caractères spéciaux comme œ æ ... ne s'affichent pas correctement.
J'utilise le lecteur VLC  configuré par défaut en windows-1252 pour les sous-titres

En résumé ce que ça donne :

1) Sous-titres non intégrés (vidéo et sous-titres sont 2 fichiers distincts) :

Ça fonctionne normalement

2) Sous-titres intégrés dans mkv

a) en laissant les paramètres par défaut de mkvtoolnix

-caractères accentués : KO
-caractères spéciaux : KO

b) en spécifiant l'encodage 8859-15 dans mkvtoolnix

1514212064.png

-caractères accentués OK
-caracteres speciaux KO

c) en spécifiant  l'encodage windows-1252 dans mkvtoolnix

tout fonctionne


=====> Est-ce que ça veut dire que ces sous-titres sont encodés en windows-1252 ?
Quand je veux créer un .mkv dois je toujours mettre windows-1252 dans mkvtoolnix ou ça dépend des sous-titres ?

Merci

Dernière modification par berserk (Le 28/12/2017, à 20:19)

Hors ligne

#2 Le 25/12/2017, à 16:56

Coeur Noir

Re : [résolu] Création de .mkv et encodage des sous-titres

Est-ce que ça veut dire que ces sous-titres sont encodés en windows-1252 ? → oui, il semblerait bien, dans ce cas.

Quand je veux créer un .mkv dois je toujours mettre windows-1252 dans mkvtoolnix ou ça dépend des sous-titres ?
→ non pas toujours, ça dépend des propriétés du fichier de sous titres, de son encodage de texte, et de « où » il a été créé.
Ce sera souvent du windows-1252 puisque c'est l'encodage de base dans ce système, et que ce système est le plus répandu.
Sous Linux ce sera plutôt  ISO-8859-15 ou UTF-8.


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#3 Le 26/12/2017, à 11:30

berserk

Re : [résolu] Création de .mkv et encodage des sous-titres

Merci
Entre-temps j'ai fait des recherches, et certaines personnes conseillent d'encoder les sous-titres en UTF-8 avant de faire le .mkv.
Je l'ai fait avec iconv puis j'ai crée un .mkv et je n'ai pas touché à l'encodage des caractères dans mkvtoolnix comme j'ai fait auparavant : et ça fonctionne.
En fait j'aimerais bien que les .mkv que je crée fonctionnent bien aussi sous windows et autre plateformes (lecteur blu ray de salon, TV etc...), donc est-ce que c'est une bonne idée de convertir les sous-titres en UTF-8 ? Ça va pas poser de problème pour les autre plateformes ?

Dernière modification par berserk (Le 26/12/2017, à 11:33)

Hors ligne

#4 Le 26/12/2017, à 13:04

LukePerp

Re : [résolu] Création de .mkv et encodage des sous-titres

berserk a écrit :

est-ce que c'est une bonne idée de convertir les sous-titres en UTF-8 ? Ça va pas poser de problème pour les autre plateformes ?

L'UTF-8 est clairement à préférer pour les sous-titres, et n'auras aucun problème avec les autres systèmes. Parce que c'est une norme internationale ISO (iso 10646). Que ce soit windows, linux, mac, iphone ou android, aucun n'échouera tant que le programme dédié est capable est de lire les sous titres incrustés. Mais ça, c'est un autre problème... Pour palier à ce défaut, tu peux fournir dans un sous-dossier à ton film les sous-titres séparés au format srt

Dernière modification par LukePerp (Le 26/12/2017, à 13:05)


Desktop & Laptop - Ubuntu Mate dernière LTS - Intel i5 - 16 Go - Dual boot Windows offline

Hors ligne

#5 Le 26/12/2017, à 21:04

grigouille

Re : [résolu] Création de .mkv et encodage des sous-titres

Avec ffmpeg ?


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#6 Le 27/12/2017, à 10:07

grisouille

Re : [résolu] Création de .mkv et encodage des sous-titres

berserk a écrit :

Je voudrais intégrer des sous-titres (format .srt uniquement) à des vidéos pour obtenir un fichier .mkv

Bonjour, je me suis fait un petit script nautilus pour faire ça :

#!/bin/sh
# REQUIRES:     mkvmerge, zenity, gvfs  
# DESCRIPTION:  utilitaire pour ajouter des soustitres dans un .mkv

# test si un fichier a été selectionné
if [ $# -eq 0 ]; then
    zenity --error --title="Erreur" --text="Vous devez choisir au moins un fichier."
    exit 1
fi

(while [ $# -gt 0 ]; do
	movie="$1"
	# test si la vidéo est un .mkv ou avi ou mp4
	if  file -i -b "$movie" | grep -q -E "matroska|msvideo|mp4" ; then 
		# nom du fichier de sortie avec sous-titre
		movieSrt=`echo "$movie" | sed 's/\.\w*$/.Vostfr.mkv/'`
		# selection du fichier sous-titre
		srt=$(zenity --file-selection --title="Choisir un sous-titre pour $movie ")
		# test si non fichier subrip			
		if ! xdg-mime query filetype "$srt" | grep -q "subrip" ; then
			notify-send -i video-player "Aucun sous-titre selectionné"
		# et si non encoder en utf-8
		elif ! file -i "$srt" | grep -q "charset=utf-8" ; then
			srt="$(basename "$srt")"
			zenity --question --title="conversion UTF8" --text="$srt n'est pas encodé en UTF-8.\nVoulez vous le convertir ?"
			#si oui, conversion
			if [ $? -eq 0 ];then
				# conversion du sous-titre en utf8
				sauv="$srt.old"
				cp "$srt" "$sauv"
				iconv -f iso8859-1 -t utf-8 "$sauv" > "${srt}"
				sed -i -e "s/\r$//" $srt # fin de ligne unix
				# remet le fichier vidéo dans la boucle
				set "$@" $movie
			fi

		# si fichier subrip et encoder en utf-8
		else
			# Traitement
			mkvmerge -v -o "$movieSrt" "$movie" --default-track 0 --language 0:fre "$srt"  |  zenity --progress --pulsate --width="200" --height="150" --text="Ajout sous-titre en cours ..."  --auto-close --auto-kill
			if [ $? -eq 0 ]; then
				# si traitement ok 
				gvfs-trash "$movie" "$srt" # mise à la poubelle des anciens fichiers
				notify-send -i video-player "Ajout du sous-titre terminé "
			else
 			 	notify-send -i video-player "Erreur de traitement"
				gvfs-trash "$movieSrt"
			fi
		fi
	else
		# si pas un .mkv ou .avi
		zenity --error --text="Ajout de sous-titre impossible dans $movie" --title "Erreur"
	fi

	shift
	done
)

exit 0

si ça peut t'aider ou t'inspirer wink

Hors ligne

#7 Le 27/12/2017, à 11:18

berserk

Re : [résolu] Création de .mkv et encodage des sous-titres

merci je garde ça sous la main, je testerai

Hors ligne

#8 Le 27/12/2017, à 20:15

berserk

Re : [résolu] Création de .mkv et encodage des sous-titres

@grisouille
ça marche comment ton script ?
quand je l'éxécute j'ai un message "vous devez choisir au moins un fichier"
je n'ai pas nautilus mais caja car je suis sous mate

EDIT : c'est bon j'ai trouvé il faut mettre le script dans ~/.config/caja/scripts
mais la conversion en UTF-8 n'a pas l'air de marcher car dans le mkv obtenu les caractères spéciaux comme œ ne s'affiche pas correctement

Dernière modification par berserk (Le 27/12/2017, à 20:43)

Hors ligne

#9 Le 27/12/2017, à 21:15

grisouille

Re : [résolu] Création de .mkv et encodage des sous-titres

ah ! alors...
remplace  iso8859-1 par iso8859-15 dans cette ligne :

iconv -f iso8859-1 -t utf-8 "$sauv" > "${srt}"

n'hésite pas si tu vois d'autre "merdouille"
wink

Hors ligne