Salut à toi !
Un petit journal pour te présenter srtsync, mon premier vrai projet open source en Python.
Je me suis largement inspiré de py-webrtcvad
L'idée c'est d'utiliser la détection de parole pour extraire d'une vidéo un signal pouvant servir à synchroniser des sous-titres.
Pour le moment, il ne peut que les étirer et les décaler, mais je pense que ça répond à la majorité des cas.
Je suis ouvert à toutes propositions pour améliorer ce projet.
# Commentaire supprimé
Posté par Anonyme . Évalué à 2. Dernière modification le 26 décembre 2018 à 02:32.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Ajustement désynchronisé de l'orthographe du titre
Posté par pums974 . Évalué à 3.
Merci pour les avoir remarqué, mais je ne trouve pas la fonction
journaledit
…[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -7. Dernière modification le 26 décembre 2018 à 10:36.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -8. Dernière modification le 26 décembre 2018 à 10:42.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Ajustement désynchronisé de l'orthographe du titre
Posté par Benoît Sibaud (site web personnel) . Évalué à 5. Dernière modification le 26 décembre 2018 à 09:38.
Corrigé, merci.
[^] # Re: Ajustement désynchronisé de l'orthographe du titre
Posté par pums974 . Évalué à 0.
Merci
# Très bonne idée !
Posté par bibifric05 . Évalué à 5.
Oui, c'est une excellente idée et si ça marche je te tire mon chapeau !
Quelle nuisance, ces sous-titres décalés…
Le problème, c'est que parfois le décalage est variable au cours du temps et là, ça sera dur à corriger…
[^] # Re: Très bonne idée !
Posté par pums974 . Évalué à 4.
Si c'est une question de vitesse, un étirement des sous titres permet de résoudre le problème. Et c'est souvent suffisant.
Par contre il y a le cas des coupures pub qui ne sont pas coupés de la même manière et/ou des séries qui ont un générique court et un générique long.
Pour ces cas là pour l'instant je ne peux rien faire. Mais je ne pense pas que ce soit impossible…
[^] # Re: Très bonne idée !
Posté par Anonyme . Évalué à 4.
C'est juste que le sous-titre n'a pas été réalisé avec une vidéo source utilisant le même nombre d'images par seconde. Cas typique : une conversion PAL/NTSC
Un soft comme gnome-subtitles te permet de corriger facilement ce genre de chose.
Sur un fichier du genre émission télé où on veut pas se spoiler le premier visionnage en éditant manuellement, ce genre de cas est gérable avec les fonctions de décalage des sous-titres d'un bon lecteur. Sur un lecteur comme VLC c'est mal fichu.
Bref, pour moi cet outil avec reconnaissance vocale est pratique pour le travail de synchronisation dans une équipe de sous-titrage ou transcription (d'abord un transcript à chaud puis synchronisé avec l'outil) mais pas nécessairement utile pour le spectateur qui veut jusque regarder sa vidéo et au final ça demandera toujours une intervention humaine pour peaufiner le résultat.
[^] # Re: Très bonne idée !
Posté par pums974 . Évalué à 2.
Désolé si je n'ai pas été clair, mais il n'y as pas de reconnaissance vocale, juste de la détection d'activité vocale. Mon outil ne fait qu'appliquer une seule fonction de type
f(t) = stretch * t + décalage
à l'ensemble des sous-titres.Si ceux-ci ne sont pas cohérents entre eux, mon outil de sert à rien.
Je pense tout le contraire justement:
Ca devrais permettre d'éviter de décaler les sous-titres toutes les 5 min, de ne pas te spoiler la fin de la video en passant par gnome-subtitles et d'aller plus vite qu'avec gnome-subtitles.
Par la suite ca devrais aussi être plus simple en l’intégrant comme plugin dans kodi par exemple
[^] # Re: Très bonne idée !
Posté par Anonyme . Évalué à 2.
D'accord, en fait j'avais vraiment pas compris le fonctionnement :)
C'est bien de montrer le potentiel et la direction que tu veux prendre mais il te reste beaucoup de chemin avant que les arguments que tu présentes ne soient plus au conditionnel. Ici, je ne juge que de l'état actuel comme n'importe quel utilisateur potentiel.
Pour le moment, ce programme ne traite que d'un cas idéal qui est certes le décalage le plus pénible, mais qui est assez rare pour les séries car il y a souvent plusieurs décalages imbriqués.
Vu que ton prog ne traite qu'un décalage progressif, ça se remarque rapidement dès les deux premières minutes, et tout comme un décalage dû à une recap sequence manquante tu n'as pas besoin d'aller plus loin dans le visionnage.
Là où tu n'as pas le choix que de te spoiler pour vérifier c'est quand il y a des problèmes de synchro plus lourds comme des coupures pub, un film en deux CDs (pour les anciens DVDRip), un double épisode remis en un dans une édition DVD/BR ou encore les scènes additionnelles ou plus longues d'une director's cut et ça ton outil ne permet pas encore d'y remédier.
Je ne trouve pas que cette opération soit beaucoup plus lente à réaliser via un soft d'édition. Au départ oui parce qu'il faut apprendre un peu à utiliser l'outil mais après ça se fait en quelques clics, juste le temps de choisir les bonnes options de conversion des fps. C'est aussi peu compliqué que de désaturer une image avec The Gimp.
Encore une fois, il n'y a pour l'instant pas de gain significatif de vitesse.
Le seul intérêt de ce programme c'est du confort et de la facilité en automatisant cette tâche et d'en faire un script puis comme tu le dis un plugin. C'est véritablement sur cet argument-là qu'en l'état actuel il sort du lot.
# SMPlayer
Posté par Strash . Évalué à 10.
Une fonctionnalité que j'aimais beaucoup dans SMPlayer et que je regrette dans mon VLC aujourd'hui est la possibilité de demander la prochaine ligne de sous-titre.
En une touche on pouvait dire au sous-titres que "maintenant" affiche la prochaine ligne de dialogue, et décale tout pour que ça soit synchro comme ça.
En général en quelques appui sur cette touche, je synchronisais. Et si cela se décalait petit à petit, une ou deux fois dans l'épisode un appui supplémentaire réglais la chose.
Je ne comprends pas pourquoi cette fonctionnalité n'est pas en standard dans tout les logiciels qui gèrent les sous-titres.
[^] # Re: SMPlayer
Posté par pums974 . Évalué à 3.
C'est vrai que c'est pas idiot comme mechanisme. Plus simple qu'un décalage temporel comme dans vlc ou kodi. J'imagine qu'il faut faire plus de lobbying pour faire connaître cette idée.
[^] # Re: SMPlayer
Posté par Anonyme . Évalué à 2. Dernière modification le 27 décembre 2018 à 04:08.
Ça ne marche que quand les subs sont en retard, pas quand ils sont en avance, d'où l'intérêt du décalage temporel.
VLC a mis un pas de 50ms de décalage ce qui est ridicule. Je me souviens que BSPlayer avait une fonction similaire mais incrémentée à la seconde, chose qui facilite vraiment la correction à la volée.
[^] # Re: SMPlayer
Posté par Strash . Évalué à 9. Dernière modification le 27 décembre 2018 à 09:05.
Heu… non, ça marche dans les deux sens, car tu as aussi une touche pour demander la phrase précédente.
Mon problème principal pour le décalage temporel de VLC n'est pas le pas, mais le fait que je ne sais jamais dans quel sens décaler. C'est peut-être que je suis limité mentalement, mais j'y arrives pas !
[^] # Re: SMPlayer
Posté par gUI (Mastodon) . Évalué à 6.
Je confirme que c'est pas évident. Je suis musicien, plutôt doué rythmiquement en plus, et il me faut un certain effort de concentration pour y arriver.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: SMPlayer
Posté par Anonyme . Évalué à 2.
Ton affirmation de départ parle uniquement du prochain sub, je ne fais que dire que en pratique le décalage se fait dans les deux directions donc une seule touche c'est pas suffisant. Là oui c'est plus cohérent.
Mais il reste un soucis c'est que le temps que tu entendes le personnage et que tu fasses la manip, il y a un décalage de synchronisation de quelques secondes donc tu es tout de même obligé d'affiner avec le système classique d'offset.
Tu gères le temps de retard (delay) d'affichage des sous-titres. En appuyant sur G le sous-titre s'affiche -100ms en retard, soi 100ms en avance. C'est un coup à prendre.
Le fait d'avoir un pas assez conséquent te permet de constater rapidement que tu es allé dans le mauvais sens et te permet aussi de ne pas passer trois plombes à revenir à zéro et faire l'opération dans l'autre sens. Ça et le fait que VLC ne réaffiche pas à chaud plusieurs fois la même ligne de sous-titre même quand on fait l'opération dans l'autre sens ça rend la fonction pénible par rapport au vieux BSPlayer ou un Kodi/XBMC personnalisé bien plus agréables à utiliser en comparaison.
[^] # Re: SMPlayer
Posté par Strash . Évalué à 7. Dernière modification le 27 décembre 2018 à 12:26.
Pour l'avoir utilisé des années, ton affirmation prouve que tu n'as pas testé la fonctionnalité. J'arrivais à caler les sous-titres très facilement et de façon précise à l'aide de cette fonction, sans jamais utiliser le système classique d'offset :
Tout ce process doit prendre quelques secondes tout au plus (a condition que les personnages parlent…). Et tu peux même le préparer pendant les silences.
Je dois être con mais même avec ton explication, je doit réfléchir intensément pour arriver à comprendre dans quel sens mon sous-titre va se décaler. Et encore je suis pas sur de comprendre :
"s'affiche en avance" cela veut dire qu'il va s'afficher avant par rapport à ce qu'il était avant la modif ou est-ce qu'il va avancer par rapport à la vidéo (et donc s'afficher après) ? Je pense que c'est la première option mais à chaque fois que j'essaie de caler des sous-titres avec les fonctions temporelles je dois me reposer la question.
Alors qu'avec ma méthode, pas de souci, car je synchro une ligne de dialogue (discrète) avec une ligne de temps et pas deux lignes de temps à la fois.
[^] # Re: SMPlayer
Posté par pralines . Évalué à 1. Dernière modification le 27 décembre 2018 à 12:39.
je confirme
fini de me prendre la tête avec les décalages en ms !
maintenant, je vais faire comme ça, sauf quand je devrai passer le sous-titre à un malheureux windowsien (auquel cas, je corrigerai dans un éditeur de sous-titres)
comme quoi, on apprend des choses même en moulant
Envoyé depuis mon Archlinux
[^] # Re: SMPlayer
Posté par Strash . Évalué à 8.
J'ai créé la demande de fonctionnalité sur le bugtracker de VLC. En espérant que quelqu'un s'y attelle !
https://trac.videolan.org/vlc/ticket/21605#ticket
[^] # Re: SMPlayer
Posté par Anonyme . Évalué à 2.
oui c'est ça.
Mais je pense que ce qui te trompe c'est de parler de caler un sous-titre au lieu de penser uniquement en terme de retard. La fonction s'appelle subdelay en anglais.
Non parce que tout simplement j'en ai pas l'utilité et j'ai fait autrement. J'ai assimilé la fonction de retard et c'était facile à utiliser avec BSPlayer.
Puis après en passant à Linux et pour éviter de me battre avec VLC je vérifiais la disponibilité des subs avant de dl une version de la vidéo (en particulier les séries parce que pour les films c'est moins gênant). Et quand pas de hardsub ni de version synchro disponible, je passe par gnome-subtitles que j'ai appris à utiliser en faisant du fansub et en moins de 5 mn c'est résolu définitivement.
Ça m'a aussi incité à sauter le pas et à me forcer à ne plus utiliser de trad ni même de sous-titres en VO pour du contenu anglophone, ce qui ouvre encore l'horizon sur d'autres contenus.
Après c'est cool si ça marche.
[^] # Re: SMPlayer
Posté par refreketu . Évalué à 2.
Par curiosité : pourquoi as-tu remplacé SMPlayer par VLC ?
[^] # Re: SMPlayer
Posté par Strash . Évalué à 2.
SMPlayer n'existe pas sur le système que j'utilise actuellement.
[^] # Re: SMPlayer
Posté par refreketu . Évalué à 3.
Je compatis :-)
[^] # Re: SMPlayer
Posté par littlebreizhman . Évalué à 3. Dernière modification le 27 décembre 2018 à 00:02.
J'utilise smplayer.
Comment utilise-t-on cette fonctionnalité dont j'ignorais l'existence ?
Jusqu'à maintenant, j'ajoute ou enlève des centaines de millisecondes au pifomètre.
Pardon pour le squat de journal, super projet.
[^] # Re: SMPlayer
Posté par Strash . Évalué à 1.
Après une petite recherche sur le web, je suis tombé là dessus : https://aboutdevice.com/top-smplayer-keyboard-shortcut-or-hotkeys/
A priori il s'agirait des touches R et T (Take subtitle up/down). Ca m'a l'air facile à retenir car ce sont les deux lettres autour du "S" de "Subtitles" dans l'alphabet, et c'est deux touches côte à côte sur le clavier.
Comme je l'ai expliqué SMPlayer n'est pas disponible sur ma plateforme donc je ne peux pas vérifier.
[^] # Re: SMPlayer
Posté par pralines . Évalué à 5.
non, pas le bon axe :-)
les touches R/T permettent de monter/descendre les sous-titres dans l'espace vertical de l'écran
les touches G/Y permettent de monter/descendre, dans le temps (phrase précédente/suivante)
Envoyé depuis mon Archlinux
[^] # Re: SMPlayer
Posté par littlebreizhman . Évalué à 2. Dernière modification le 27 décembre 2018 à 19:17.
Super
Merci à vous deux
# Aggressiveness
Posté par gUI (Mastodon) . Évalué à 5. Dernière modification le 26 décembre 2018 à 11:44.
Super projet, merci du partage !
Juste une remarque sur le paramètre
aggressiveness
: à lire le README, on ne comprend pas trop à quoi il sert, ni quoi mettre comme valeurs.Quelques exemples (et la valeur par défaut) seraient les bienvenus :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Aggressiveness
Posté par pums974 . Évalué à 1.
Bonne remarque, je vais corriger ça au plus vite.
aggressiveness est une valeur entre 0 et 3 dont le valeur par défaut est 3 et qui caractérise la sensibilité de la détection d'activité vocale. 3 étant le plus sensible.
# ca tombe bien
Posté par Anonyme . Évalué à 3. Dernière modification le 26 décembre 2018 à 12:57.
j'ai un film russe avec des sous titre de qualité mais des décalages vraiment merdique, je ne peux pas proposer cela sans me faire expulser de mon groupe.
vais essayer ca l'air sexy :)
prépare toi a être célèbre si cela fonctionne pas trop mal
[^] # Re: ca tombe bien
Posté par pums974 . Évalué à 1.
N'hésite pas à me faire remonter toutes difficultés. J'ai encore peu de recul sur son efficacité.
Pour ce qui est de la célébrité, j'ai un peu rater mon coup en publiant le jour de Noël…
# Mais c'est génial
Posté par Tarnyko (site web personnel) . Évalué à 2. Dernière modification le 22 janvier 2019 à 05:17.
Hello pums974,
Je viens de tester ton outil avec un cas concret qui m'embêtait depuis quelques mois. J'ai ouvert la vidéo et… tu sais que tu es génial ? C'est INCROYABLEMENT efficace. Adopté !
Je l'ai testé sous Windows ; l'installation était sportive, entre autres j'ai dû y installer un compilo C (j'en ferai bien un paquet auto-extractible avec cx_Freeze, que je partagerai ici si tu n'as rien contre).
Je viens de t'envoyer une pull request pour corriger deux-trois soucis que j'ai rencontrés.
Merci encore !
[^] # Re: Mais c'est génial
Posté par Tarnyko (site web personnel) . Évalué à 2.
Bon ben c'est fait ; la version "Windows standalone" est prête :
srtsync-win32_git22463a1.zip
C'est assez lourd car tout est embarqué (Python, ffmpeg…). Je coderai peut-être un petit frontal quand j'aurai le temps.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.