Capture et convertir des vidéos
- Niveau de difficulté :
- Durée : 15 minutes
- Auteur : JosephK
- Licence : CC BY-SA
- Logiciel/Service concerné : Framatube
Prérequis
Le blog contient des vidéos hébergées sur Framatube uniquement. Pour intégrer des vidéos, nous avons certains besoins :
- Un fichier ouvert au format webm (ou ogv mais le webm est à privilégier) qui sera utilisé par Opera, Firefox et comme lien de téléchargement alternatif
- Un fichier mp4 (ou m4v c'est pareil, c'est du h264) qui sera utilisé par les navigateurs basés sur Webkit, IE9 et dans le lecteur flash alternatif à la balise video.
Comment capturer les vidéos ?
Cas général
Pour faire simple, jDownloader est un logiciel libre qui permet de gérer les téléchargement. Au départ c'est plutôt pour les feu Megaupload et cie mais ça marche très bien pour les sites de streaming grand public : Youtube, Dailymotion, Vimeo…
Donc on récupère simplement l'URL de la page où se trouve la vidéo et jDownloader propose : webm (Youtube uniquement), mp4, mp3, flv, 3gp… Il suffit donc de piocher ce qui nous intéresse.
le fichier webm n'est disponible qu'en version 360p sur youtube
Renommez les fichiers selon la convention d'écriture. C'est important optionnel mais utile pour :
- le référencement naturel
- gagner du temps dans le remplissage du formulaire sur framatube, youtube, dailymotion puisque les infos principales sont déjà dans le nom du fichier
- éviter les problèmes d'encodage des URL
- les éventuels chantiers de migration (le passage de blip.tv à framatube.org a été grandement facilité grâce à ça)
Cas particuliers et autres méthodes
- chercher s'il n'y a pas un lien tout près, soit dans la page soit dans son code source ;)
- si la vidéo est diffusée en HTML5 avec une intégration de la balise vidéo via javascript (Youtube par exemple si on “participe à l'essai HTML5”). Il est impossible de trouver le lien dans le code source. Avec Firefox : Clic-droit > Information sur la page > Media > chercher le fichier vidéo et cliquer sur “Enregistrer sous” (Youtube nomme son fichier videoplayback.htm, il suffit de le renommer et de changer l'extension en webm)
- Si la vidéo est diffusée en flash intégralement “bufferisé” (Youtube, Dailymotion, Vimeo, etc), regardez dans le cache du navigateur ou utilisez videodownloadhelper (ou un équivalent, ils font tous la même chose).
- On peu aussi utiliser la console web de Firefox (Ctrl+Maj+K) pour observer les entrées-sorties réseau… Généralement, lorsqu'on voit passer un lien avec sous-domaine genre proxy-25.dailymotion.com avec dans l'url les mots mp4, aac, h264 ou autre c'est probablement le lien de la vidéo utilisé par le lecteur flash.
- si la vidéo est diffusée en mms (Arte, France Télévision), utilisez mimms (sous Linux)
- si la vidéo est diffusée en rtmp, utilisez flvstreamer (sous Linux)
- si l'un ou l'autre des logiciels ne fonctionne pas essayez de lire le flux avec VLC, si ça passe alors utilisez la fonction Convertir/Enregistrer de VLC > Sélectionnez l'onglet réseau > Collez l'adresse du flux et suivez la procédure (c'est facile)
- pour les vidéos de Canal+, M6, W9… diffusées en rtmpe, le logiciel rtmpdump permet d'écouter le contenu du flux pour repérer l'adresse du fichier vidéo mais c'est pas simple en revanche le logiciel TVDownloader automatise tout ça et c'est très efficace mais les chaînes de télé changeant régulièrement leur protocole de diffusion. TVDownloader a souvent un temps de retard quand on en a besoin…
* pour les autres chaînes de télé non supportées par TVDownloader, il existe un logiciel propriétaire gratuit Stream Transport qui fait la même chose avec un navigateur web intégré (sur windows et plugin flash obligatoire)
Convertir et uploader en gagnant du temps
Cas général
Le plus simple c'est de faire bosser Youtube Si la vidéo dure moins de 15 min il suffit de l'uploader, attendre une demi-heure en gros (ça dépend de la taille de la vidéo) et scanner la page contenant la vidéo avec jDownloader pour récupérer webm et mp4.
- Vérifier la qualité du fichier obtenu. Ça revient à avancer au milieu et à la fin de la vidéo pour contrôler que la synchronisation audio est bonne.
Le mieux c'est d'ouvrir le fichier webm avec Firefox et le fichier mp4 avec Chromium ou Midori
- Prendre une capture de la vidéo avec VLC par exemple.
- Uploader sur Framatube.org et sur Dailymotion.
NB: la fenêtre modale d'upload des fichiers (capture 1) peut être fermée sans risque d'interrompre l'upload, ça permet de remplir le reste en attendant.
Lorsqu'on a enregistré titre, description, tags, catégories (on peut en cocher plusieurs) il faut on peut rétro-dater la publication (voir capture 2). C'est une habitude prise avec blip.tv et c'est peut-être pas plus mal…
Cas particuliers
Pour les vidéos défectueuses ou de plus de 15 min.
- WinFF existe sous Windows, Linux et en version Portable Framakey.
La version portable est fourni avec une catégorie Framatube pour vous simplifier la tâche. Il suffit de choisir Webm, Mp4 ou Ogv dans la résolution voulue (360p est amplement suffisant pour une conférence ou une interview par exemple, il faut que le chargement de la vidéo soit rapide ; conservez la taille d'origine pour les screencasts ou les films d'animation, là c'est la qualité de l'image qui prime).
Après, il est toujours possible de peaufiner : cliquez sur le bouton Options pour faire apparaître les onglets. Si vous voulez ce même menu pour un WinFF installé sur votre machine, importez ce fichier (clic-droit > enregistrer-sous ; puis dans WinFF, Éditer > Présélection > Importer).
- Personnellement, j'utilise Arista Transcoder (sous linux) qui fait bien sont boulot (par lots si besoin). On sélectionne le format webm et la moulinette se mets en route. Attention par contre à ne pas avoir de fichier .srt avec le même nom que la vidéo à convertir à côté parce qu'il incruste automatiquement les sous-titres. (basé sur ffmpeg)
- Sinon, VLC peut aussi parfaitement convertir en webm (cf plus haut) (basé sur ffmpeg mais digère vraiment tout ce qu'il est capable de lire)
- S'il faut faire du montage, Pitivi est très bien (sous linux). Simple, pas de prise de tête. Pour la conversion ça prend généralement plus de temps mais c'est aussi plus efficace en terme de poids de fichier et qualité de l'image. (basé sur gstreamer)
- En dernier recours, Kino converti les fichier en dv pour travailler dessus. Le fichier est généralement propre et passe beaucoup mieux à la conversion, soit directement depuis Kino, soit depuis Arista mais le fichier obtenu et généralement plus lourd et de moins bonne qualité à causes des conversions successives.
- Ensuite, on peut passer un petit coup de mkclean (sous linux mais les binaires existent pour windows… jamais marché chez moi) pour rendre le fichier webm obtenu conforme au format (il ne l'est jamais). Perso, je zappe cette étape parce que soit ça me génère un fichier corrompu, soit ça réduit la taille d'1ko, tout ça pour simplement placer les metadata au début du fichier et faciliter la tâche des lecteurs de vidéos (qui se débrouillent déjà très bien alors bon…)
Récupérer les sous-titres
Code HTML pour le blog
La méthode est expliquée sur cet exemple utilisé pour cet article :
///html <div style="text-align:center"> <video width="590" height="360" controls="controls" preload="metadata" poster="http://www.framatube.org/images/media/895l.jpg"> <source src="http://framatube.org/files/1271-_stub_nina-paley_make-art-not-lawmp4.mp4" type="video/mp4" /> <source src="http://framatube.org/files/1270-_stub_nina-paley_make-art-not-lawwebm.webm" type="video/webm" /> <track src="http://www.framablog.org/public/_docs/make_art_not_law.fr.srt" kind="subtitles" srclang="fr" label="Français" /> </video> </div> ///
Les sous-titres doivent être uploadés sur le framablog pour fonctionner.
Il faut mettre des liens vers les fichiers webm et srt pour les personnes qui utilisent d'anciens navigateurs ou qui veulent simplement lire la vidéo en local.