Je suis un amateur de cinéma mondial et de films régionaux depuis des décennies. Les sous-titres sont l'outil essentiel qui m'a permis de profiter des meilleurs films dans différentes langues et de différents pays.
Si vous aimez regarder des films avec des sous-titres, vous avez peut-être remarqué que parfois les sous-titres ne sont pas synchronisés ou ne sont pas corrects.
Saviez-vous que vous pouvez modifier les sous-titres et les améliorer ? Laissez-moi vous montrer quelques modifications de base des sous-titres sous Linux.
Extraire des sous-titres à partir de données de sous-titres codés
Vers 2012, 2013, j'ai découvert un outil appelé CCEextractor. Au fil du temps, c'est devenu l'un des outils essentiels pour moi, surtout si je tombe sur un fichier multimédia dans lequel le sous-titre est intégré.
CCExtractor analyse les fichiers vidéo et produit des fichiers de sous-titres indépendants à partir des données de sous-titrage.
CCExtractor est un outil multiplateforme, gratuit et open source. L'outil a beaucoup mûri depuis ses années de formation et a fait partie de
L'outil, pour le dire simplement, est plus ou moins un ensemble de scripts qui fonctionnent les uns après les autres dans un ordre sérialisé pour vous donner un sous-titre extrait.
Vous pouvez suivre les instructions d'installation de CCExtractor sur cette page.
Après l'installation, lorsque vous souhaitez extraire les sous-titres d'un fichier multimédia, procédez comme suit :
ccextractor <path_to_video_file>
La sortie de la commande ressemblera à ceci :
Ce fichier contient du texte Unicode bidirectionnel qui peut être interprété ou compilé différemment de ce qui apparaît ci-dessous. Pour réviser, ouvrez le fichier dans un éditeur qui révèle les caractères Unicode masqués.En savoir plus sur les caractères Unicode bidirectionnels Afficher les caractères masqués$ ccextractor $something.mkv | |
CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke. | |
Télétexte tiré du telxcc de Petr Kutalek | |
—————————————————— ———————– | |
Entrée :$something.mkv | |
[Extrait :1] [Mode flux :détection automatique] | |
[Program :Auto ] [Hauppage mode :No] [Utiliser le code MythTV :Auto ] | |
[Mode de synchronisation :Auto] [Débogage :Non] [Entrée de tampon :Non] | |
[Utiliser pic_order_cnt_lsb pour H.264 : Non] [Imprimer les traces du décodeur CC : Non ] | |
[Format cible :.srt] [Encodage :UTF-8] [Délai :0] [Trim lines :Non] | |
[Ajouter des données de couleur de police :Oui] [Ajouter une composition de police :Oui] | |
[Convertir la casse :Non] [Joindre l'édition vidéo :Non] | |
[Heure de début de l'extraction :non définie (à partir du début)] | |
[Heure de fin d'extraction :non définie (à la fin)] | |
[Diffusion en direct :Non] [Fréquence d'horloge :90000] | |
[Page télétexte :détection automatique] | |
[Texte des crédits de début :aucun] | |
[Quantisation-mode :fonction interne de CCExtractor] | |
————————————————— ————– | |
Ouverture du fichier :$something.mkv | |
Le fichier semble être un conteneur Matroska/WebM | |
Analyse des données en mode Matroska | |
Type de document :matroska | |
Échelle de code temporel :1000000 | |
Application de multiplexage :libebml v1.3.1 + libmatroska v1.4.2 | |
Application d'écriture :mkvmerge v8.2.0 ('World of Adventure') 64bit | |
Titre :$something | |
Entrée de suivi : | |
Numéro de piste :1 | |
UID :1 | |
Type :vidéo | |
ID de codec :V_MPEG4/ISO/AVC | |
Langue :mal | |
Nom :$something | |
Entrée de suivi : | |
Numéro de piste :2 | |
UID :2 | |
Type :audio | |
ID de codec :A_MPEG/L3 | |
Langue :mal | |
Nom :$something | |
Entrée de suivi : | |
Numéro de piste :3 | |
UID :un numéro | |
Type :sous-titre | |
ID de codec :S_TEXT/UTF8 | |
Nom :$something | |
99 % | 144:34 | |
100 % | 144:34 | |
Fichier de sortie :$something_eng.srt | |
Terminé, temps de traitement =6 secondes | |
Problèmes ? Ouvrir un ticket ici | |
https://github.com/CCExtractor/ccextractor/issues |
Il analyse essentiellement le fichier multimédia. Dans ce cas, il a constaté que le fichier multimédia est en
CCExtractor est un outil merveilleux qui peut être utilisé pour améliorer les sous-titres avec Subtitle Edit que je partagerai dans la section suivante.
Lecture intéressante :Il existe un résumé intéressant des sous-titres sur
Modification des sous-titres avec l'outil SubtitleEditor
Vous savez probablement que la plupart des sous-titres sont au format .srt
1 | |
00:00:00,959 –> ; 00:00:13,744 | |
"LE CABINET | |
OF DR. CALIGARI" | |
2 | |
00:00:40,084 –> ; 00:01:02,088 | |
UN CONTE de la réapparition moderne d'un mythe du XIe siècle | |
involte l'influence étrange et mystérieuse | |
d'un moine saltimbanque sur un somnambule. |
Le sous-titre de l'extrait que j'ai partagé provient d'un joli vieux film allemand intitulé Le Cabinet du Dr Caligari (1920)
Subtitleeditor est un outil merveilleux lorsqu'il s'agit d'éditer des sous-titres. L'éditeur de sous-titres est et peut être utilisé pour manipuler la durée, la fréquence d'images du fichier de sous-titres pour qu'il soit synchronisé avec le fichier multimédia, la durée des pauses entre les deux et bien plus encore. Je vais partager ici une partie de l'édition de base des sous-titres.
Installez d'abord subtitleeditor de la même manière que vous avez installé ccextractor, en utilisant votre méthode d'installation préférée. Dans Debian, vous pouvez utiliser cette commande :
sudo apt install subtitleeditor
Une fois installé, voyons quelques-uns des scénarios courants dans lesquels vous devez modifier un sous-titre.
Manipuler les fréquences d'images pour synchroniser avec le fichier multimédia
Si vous constatez que les sous-titres ne sont pas synchronisés avec la vidéo, l'une des raisons peut être la différence entre les fréquences d'images du fichier vidéo et du fichier de sous-titres.
Comment connaître les fréquences d'images de ces fichiers, alors ?
Pour obtenir la fréquence d'images d'un fichier vidéo, vous pouvez utiliser l'outil mediainfo. Vous devrez peut-être d'abord l'installer à l'aide du gestionnaire de packages de votre distribution.
L'utilisation de mediainfo est simple :
$ mediainfo somefile.mkv | grep Frame Format settings : CABAC / 4 Ref Frames Format settings, ReFrames : 4 frames Frame rate mode : Constant Frame rate : 25.000 FPS Bits/(Pixel*Frame) : 0.082 Frame rate : 46.875 FPS (1024 SPF)
Vous pouvez maintenant voir que la fréquence d'images du fichier vidéo est de 25 000 FPS. L'autre fréquence d'images que nous voyons concerne l'audio. Bien que je puisse expliquer pourquoi des fps particuliers sont utilisés dans l'encodage vidéo, l'encodage audio, etc., ce serait un sujet différent. Il y a beaucoup d'histoire qui lui est associée.
Ensuite, il faut connaître la fréquence d'images du fichier de sous-titres et c'est un peu compliqué.
Habituellement, la plupart des sous-titres sont au format compressé. Décompressez l'archive .zip avec le fichier de sous-titres qui se termine par quelque chose.srt. Parallèlement, il existe généralement un fichier .info portant le même nom qui peut parfois avoir la fréquence d'images du sous-titre.
Si ce n'est pas le cas, c'est généralement une bonne idée d'aller sur un site et de télécharger le sous-titre à partir d'un site qui contient ces informations sur la fréquence d'images. Pour ce fichier allemand spécifique, je vais
Comme vous pouvez le voir dans le lien, la fréquence d'images du sous-titre est de 23,976 FPS. De toute évidence, il ne fonctionnera pas bien avec mon fichier vidéo avec une fréquence d'images de 25 000 FPS.
Dans ce cas, vous pouvez modifier la fréquence d'images du fichier de sous-titres à l'aide de l'outil Éditeur de sous-titres :
Sélectionnez tout le contenu du fichier de sous-titres en faisant CTRL+A. Allez dans Timings -> Changer la fréquence d'images et modifiez les fréquences d'images de 23,976 ips à 25 000 ips ou tout ce que vous souhaitez. Enregistrez le fichier modifié.
Modification de la position de départ d'un fichier de sous-titres
Parfois, la méthode ci-dessus peut suffire, parfois même si elle ne suffira pas.
Vous pouvez trouver des cas où le début du fichier de sous-titres est différent de celui du film ou d'un fichier multimédia alors que la fréquence d'images est
Dans ce cas, procédez comme suit :
Sélectionnez tout le contenu du fichier de sous-titres en faisant CTRL+A. Allez dans Timings -> Sélectionnez Déplacer les sous-titres.
Modifiez la nouvelle position de départ du fichier de sous-titres. Enregistrez le fichier modifié.
Si vous voulez être plus précis, utilisez mpv pour voir le film ou le fichier multimédia et cliquez sur le timing, si vous cliquez sur la barre de chronométrage qui montre combien le film ou le fichier multimédia s'est écoulé, cliquer dessus révélera également le microseconde.
J'aime généralement être précis, alors j'essaie d'être aussi précis que possible. C'est très difficile en MPV car le temps de réaction humain est imprécis. Si je veux être super précis, j'utilise quelque chose comme Audacity, mais c'est un autre jeu de balle car vous pouvez en faire beaucoup plus avec. Cela pourrait également être quelque chose à explorer dans un futur article de blog.
Manipuler la durée
Parfois, même faire les deux ne suffit pas et vous devez même réduire ou ajouter la durée pour la synchroniser avec le fichier multimédia. C'est l'un des travaux les plus fastidieux car vous devez fixer individuellement la durée de chaque phrase. Cela peut arriver surtout si vous avez des fréquences d'images variables dans le fichier multimédia (de nos jours rares mais vous obtenez toujours de tels fichiers).
Dans un tel scénario, vous devrez peut-être modifier la durée manuellement et l'automatisation n'est pas possible. Le meilleur moyen est soit de réparer le fichier vidéo (ce qui n'est pas possible sans dégrader la qualité vidéo) ou d'obtenir une vidéo d'une autre source avec une qualité supérieure, puis de la transcoder avec les paramètres que vous préférez. Encore une fois, bien qu'il s'agisse d'une entreprise majeure sur laquelle je pourrais faire la lumière dans un futur article de blog.
Conclusion
Ce que j'ai partagé ci-dessus concerne plus ou moins l'amélioration des fichiers de sous-titres existants. Si vous deviez commencer un scratch, vous avez besoin de beaucoup de temps. Je n'ai pas du tout partagé cela parce qu'un film ou tout matériel vidéo d'une heure par exemple peut facilement prendre de 4 à 6 heures ou même plus selon les compétences du sous-titreur, la patience, le contexte, le jargon, les accents, l'anglais natif, traducteur, etc., tout cela fait une différence dans la qualité du sous-titre.
J'espère que vous trouverez cela intéressant et qu'à partir de maintenant, vous gérerez un peu mieux vos sous-titres. Si vous avez des suggestions à ajouter, veuillez laisser un commentaire ci-dessous.