[yt-dlp] Comment intégrer des sous-titres dans la vidéo

Applications multimedia / jeux
Répondre
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

[yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

Bonjour,
Selon le manuel yt-dlp, cet outil permet d'intégrer des sous-titres dans une vidéo en téléchargement, mais il n'y a aucun exemple de la façon de le faire.
Quelqu'un a-t-il connu de tels problèmes ?
Merci.
benjarobin
Maître du Kyudo
Messages : 16481
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par benjarobin »

Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

Voici output ou j'utilise l'option "embed-subs".
Dans le fichier aaa.mp4 il n'y a pas de sous-titres

Code : Tout sélectionner

(arte_env) pavel@ALABAMA:~/arte_env$ yt-dlp --embed-subs -o "aaa.mp4" "www.arte.tv/fr/videos/092925-000-A/un-million-d-annees/"
WARNING: [generic] The url doesn't specify the protocol, trying with http
[ArteTV] 092925-000-A: Downloading JSON metadata
[ArteTV] 092925-000-A: Downloading m3u8 information
[ArteTV] 092925-000-A: Downloading m3u8 information
[info] 092925-000-A: Downloading 1 format(s): VO-STF-2232+VO-STF-program_audio_0-VO
[info] Writing video subtitles to: aaa.fr.vtt
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 1
[download] Destination: aaa.fr.vtt
[download] 100% of 7.40KiB in 00:00
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 199
[download] Destination: aaa.fVO-STF-2232.mp4
[download] 100% of 599.54MiB in 02:22
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 200
[download] Destination: aaa.fVO-STF-program_audio_0-VO.mp4
[download] 100% of 35.42MiB in 00:29
[Merger] Merging formats into "aaa.mp4"
Deleting original file aaa.fVO-STF-2232.mp4 (pass -k to keep)
Deleting original file aaa.fVO-STF-program_audio_0-VO.mp4 (pass -k to keep)
[EmbedSubtitle] Embedding subtitles in "aaa.mp4"
Deleting original file aaa.fr.vtt (pass -k to keep)
(arte_env) pavel@ALABAMA:~/arte_env$ 
benjarobin
Maître du Kyudo
Messages : 16481
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par benjarobin »

Alors techniquement si les sous titres (de type .vtt) ont bien été inséré dans le fichier .mp4
Mais manifestement cela est "mal" fait, il y a un bug dans yt-dlp (il faut faire un rapport de bug).
Si tu utilises --write-subs à la place de --embed-subs, cela créer un fichier .vtt à coté de la vidéo, qui lui fonctionne.
Après tu peux réincorporer le fichier de sous titre avec mkvtoolnix-gui dans le fichier vidéo.

Rapport de bugs :
- https://trac.ffmpeg.org/ticket/5641
- https://github.com/ytdl-org/youtube-dl/issues/16338
- https://code.videolan.org/videolan/vlc/-/issues/24949
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

Comment fonctionne ce mkvtoolnix-gui ?
Dans le manuel, il n'y a aucune information sur la façon de procéder.
J'ai donc procédé comme ceci :

Image

Dans le fichier résultant, il n'y a pas de sous-titres.
benjarobin
Maître du Kyudo
Messages : 16481
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par benjarobin »

Tu dois générer un .mkv et non un .mp4
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

Si je change d'extension, cela ne fait rien : le fichier .mkv ne contient pas de sous-titres.
benjarobin
Maître du Kyudo
Messages : 16481
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par benjarobin »

Chez moi cela marche TM :lol:
C'est quelle vidéo que tu as utilisé ? Lien ? Ligne de commande utilisée pour récupérer le fichier ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

A partir de ce lien j'ai pu récupérer la vidéo et le fichier de sous-titres .vtt.
https://www.arte.tv/fr/videos/104892-000-A/frost/
benjarobin
Maître du Kyudo
Messages : 16481
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par benjarobin »

J'ai fait ceci (et cela fonctionne)

Code : Tout sélectionner

python3 -m pip install --user --force-reinstall https://github.com/fstirlitz/yt-dlp/archive/arte-v2.tar.gz
python3 -m  yt_dlp --write-subs "https://www.arte.tv/fr/videos/104892-000-A/frost/"
Obtenu les fichiers :
  • Frost [104892-000-A].en.vtt
  • Frost [104892-000-A].mp4
Puis :
  • Lancer mkvtoolnix-gui
  • Clique droit (dans section fichiers source) -> Ajouter des fichiers
  • Sélectionner le fichier .vtt ainsi que le .mp4
  • A la question "que faut-il faire avec ces fichiers" : Première case : "Ajouter comme nouveaux fichiers sources aux ..."
  • Le fichier de destination est automatiquement remplit avec le chemin vers Frost [104892-000-A].en.mkv
  • Cliquer sur "Lancer le multiplexage"
Déplacer le fichier .mkv dans un autre dossier vide, et ouvrir le fichier .mkv avec VLC pour vérifier que les sous titres fonctionne...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
waitnsea
Maître du Kyudo
Messages : 2095
Inscription : jeu. 15 mars 2012, 05:08

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par waitnsea »

Bonjour,
J'ai un bug que je n'arrive pas à résoudre avec mkvtoolnix-gui : au lancement j'ai un pop-up

Code : Tout sélectionner

Un problème a été détecté à l'installation de MKVToolNix :
La ligne de version renvoyée par mkvmerge (« Erreur : Le fichier « /tmp/MKVToolNix-process-JXhYzH.json » ne peut pas être ouvert en lecture : open file error. ») n'a pas pu être reconnue.

Certaines opérations ne fonctionneront pas correctement dans cette situation. Merci de réinstaller MKVToolNix ou de corriger le problème manuellement.
, et si je passe outre par la suite d'autres messages d'erreur et un échec

Par contre, en cli

Code : Tout sélectionner

 $ mkvmerge -o Frost.mkv  --default-track 0 --language 0:fre Frost.en.vtt  Frost.mp4
me donnera un résultat parfait et rapide :

Code : Tout sélectionner

...
Le multiplexage a pris 4 secondes
un résultat correct sauf, bien sûr, que malgré --language 0:fre j'aurais des sous-titres en anglais, les seuls que contiennent la source

Edit : et en chargeant spécifiquement le fichier de s/t FR par $ python3 -m yt_dlp --write-subs --sub-langs fr "https://www.arte.tv/fr/videos/104892-000-A/frost/" j'obtiens un fichier de s/t en français que la commande suivante compile avec succès

Code : Tout sélectionner

mkvmerge -o Frost.mkv Frost.fr.vtt Frost.mp4
...
Progression : 100%
Les entrées CUE (l'index) sont en cours d'écriture…
Le multiplexage a pris 7 secondes.
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

benjarobin a écrit : jeu. 23 juin 2022, 20:05 Ouvrir le fichier .mkv avec VLC pour vérifier que les sous titres fonctionne...
Peut-tu essayer avec un lecteur autre que VLC, car il est tout à fait possible que VLC lise simplement le fichier .vtt pendant la lecture de la vidéo.
Autrement changer le nom / extension du fichier de sous-titres et réessayer avec VLC.
benjarobin
Maître du Kyudo
Messages : 16481
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par benjarobin »

Quand je teste avec VLC, le fichier .mkv est seul dans un dossier, il n'y a pas le fichier .vtt à coté. Et cela fonctionne sans souci chez moi
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Pavel_47
newbie
Messages : 7
Inscription : sam. 11 juin 2022, 16:31

Re: [yt-dlp] Comment intégrer des sous-titres dans la vidéo

Message par Pavel_47 »

benjarobin a écrit : ven. 24 juin 2022, 15:18 Quand je teste avec VLC, le fichier .mkv est seul dans un dossier, il n'y a pas le fichier .vtt à coté. Et cela fonctionne sans souci chez moi
Bon, j'ai essayé avec VLC. En effet, cela fonctionne, mais si on compare ces sous-titres intégrés, leur apparence est très différente par rapport à ceux lorsque on regarde ARTE en ligne.
Existe-t-il un moyen d'intégrer les sous-titres comme c'est fait par ARTE ?
Répondre