Date de publication: le dimanche 25 novembre 2007 à 15h51
Dernière modification: par Pascal BOYER le mardi 28 décembre 2010 à 12h55
« Article précédent: ffmpeg : conversion de fichier .flv en mp3 / avi / mpg
» Article suivant: Mplayer : télécharger, enregistrer et encoder / convertir les fichiers multimédia audio et/ou vidéo
Il n'est pas rare que des vidéos initialement diffusées sur des sites comme Dailymotion soient retirées et deviennent donc inaccessibles.
Un exemple parmi tant d'autres: la vidéo sur la conférence du chercheur en génétique moléculaire Christian VELOT sur les OGM.
Initialement, la vidéo était accessible ici: lien à la vidéo
Il peut donc être intéressant de savoir télécharger les vidéos pour assurer la pérennité de la diffusion de l'information.
Et pour illustrer très concrètement la procédure à suive, nous allons voir comment télécharger la vidéo de l'interview du même chercheur Christian VELOT dans lequel il explique les pressions administratives dont il est l'objet. Pressions qui sont allées jusqu'à lui signifier sont renvoi....
Avis de recherche
Je lance un avis de recherche à propos de la vidéo (Eclairage scientifique sur les OGM) dont je donne le lien ci-dessus et que je n'ai jamais eu l'heur de regarder.
Afficher le code source
Tout d'abord, il faut se rendre sur le site de diffusion de la vidéo que l'on souhaite récupérer. Ici il s'agit de la page suivante:
Une fois cette page affichée, il faut afficher le code source de la page. Avec le navigateur Firefox il suffit de faire un clic-droit n'importe où sur la page (sauf bien sûr dans la zone occupée par la vidéo) et ce choisir, dans le menu contextuel qui vient d'apparaître, l'option Code source de la page.
Le menu contextuel de Firefox pour afficher le code source de la page
Première méthode
Trouver l'URI de la vidéo
Dans la nouvelle fenêtre qui s'ouvre alors, il faut rechercher la ligne suivante (plutôt à la fin du fichier):
so47497cce5a35e.write("video_player_47497cce5a35e");// ]]></script><noscript><object classid=....
...qui contient quelque part ceci (vers le début de la ligne en regard de l'extrême longueur de la ligne):
http%3A%2F%2Fwww.dailymotion.com%2Fget%2F15%2F320x240%2Fflv%2F5352600.flv%3Fkey%3D395f09e641561f2fc2b86233671d35751302885
Ceci constitue l'URI de la vidéo que l'on souhaite télécharger.
Pour vous aidez à trouver le bon passage, vous devez d'abord voir passer ceci (en gras je mets en évidence des points de repères faciles à voir):
prevURL=http%3A%2F%2F......
&nextURL=http%3A%2F%2F...
&selfURL=http%3A%2F%2F...
&autoStart=1
&logURL=http%3A%2F%2F...
&url= http%3A%2F%2Fwww.dailymotion.com%2Fget%2F15%2F320x240%2Fflv%2F5352600.flv%3Fkey%3D395f09e641561f2fc2b86233671d35751302885
Télécharger la vidéo
Pour cela on va utiliser wget en ligne de commande, comme ceci:
wget http%3A%2F%2Fwww.dailymotion.com%2Fget%2F15%2F320x240%2Fflv%2F5352600.flv%3Fkey%3D395f09e641561f2fc2b86233671d35751302885
---14:44:23-- http://[http://www.dailymotion.com/get/15/320x240/flv/5352600.flv?key=395f09e641561f2fc2b86233671d35751302885]/
=> `index.html'
Résolution de http://www.dailymotion.com/get/15/320x240/flv/5352600.flv?key=395f09e641561f2fc2b86233671d35751302885... échec: Nom ou service inconnu.
A partir du message d'erreur renvoyé par la commande, nous allons relancer la même commande mais en lui passant cette cois-ci l'URI renvoyé par la dernière ligne du message ci-dessus (auquel on peut accessoirement ajouter l'extension .flv):
wget http://www.dailymotion.com/get/15/320x240/flv/5352600.flv?key=395f09e641561f2fc2b86233671d35751302885
--14:44:37-- http://www.dailymotion.com/get/15/320x240/flv/5352600.flv?key=395f09e641561f2fc2b86233671d35751302885
=> `5352600.flv?key=395f09e641561f2fc2b86233671d35751302885'
Résolution de www.dailymotion.com... 195.8.214.142, 195.8.214.141, 195.8.214.140
Connexion vers www.dailymotion.com|195.8.214.142|:80...connecté.
requête HTTP transmise, en attente de la réponse...303 See Other
Emplacement: http://proxy-41.dailymotion.com/15/320x240/flv/5352600.flv?395f09e641561f2fc2b86233671d35751302885 [suivant]
--14:44:37-- http://proxy-41.dailymotion.com/15/320x240/flv/5352600.flv?395f09e641561f2fc2b86233671d35751302885
=> `5352600.flv?395f09e641561f2fc2b86233671d35751302885'
Résolution de proxy-41.dailymotion.com... 195.8.214.41
Connexion vers proxy-41.dailymotion.com|195.8.214.41|:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 34 110 935 (33M) [video/x-flv]
100%[======================================================>] 34 110 935 991.02K/s ETA 00:00
14:45:18 (808.99 KB/s) - « 5352600.flv?395f09e641561f2fc2b86233671d35751302885 » sauvegardé [34110935/34110935]
Voilà. La vidéo est téléchargée dans le fichier 5352600.flv?395f09e641561f2fc2b86233671d35751302885 ou 5352600.flv?395f09e641561f2fc2b86233671d35751302885.flv
Il ne reste plus qu'à le renommer à notre guise et à le visualiser avec mplayer ou kaffeine.
Deuxième méthode
Trouver l'URI de la vidéo
Il peut arriver que l'URI récupéré dans le code source avec la première méthode ne permette pas, au final, de télécharger la vidéo. On n'obtient en fait que des messages d'erreur nous indiquant que le système n'a pas pus se loguer, etc....
On va donc commencer par récupérer, dans la même ligne du code source que celle indiquée dans la première méthode, le lien commençant par:
&selfURL=http%3A%2F%2F...
Par exemple, pour télécharger la vidéo de l'interview du même Christian VELOT disponible sur cette page:
http://www.dailymotion.com/video/x310pi_c-velot-la-science-la-recherche-et_politics
...on récupère ce lien dans le code source:
wget http%3A%2F%2Fwww.dailymotion.com%2Fvideo%2Fx310pi_c-velot-la-science-la-recherche-et_politics
--12:35:19-- http://[http://www.dailymotion.com/video/x310pi_c-velot-la-science-la-recherche-et_politics]/
=> `index.html'
Resolving http://www.dailymotion.com/video/x310pi_c-velot-la-science-la-recherche-et_politics... failed: Name or service not known.
Et on recommence avec, cette fois-ci, le lien renvoyé par le message ci-dessus:
wget http://www.dailymotion.com/video/x310pi_c-velot-la-science-la-recherche-et_politics
--12:43:48-- http://www.dailymotion.com/video/x310pi_c-velot-la-science-la-recherche-et_politics
=> `x310pi_c-velot-la-science-la-recherche-et_politics.1'
Resolving www.dailymotion.com... 195.8.214.142, 195.8.214.141, 195.8.214.140
Connecting to www.dailymotion.com|195.8.214.142|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
[ <=> ] 49,920 216.70K/s
12:43:48 (216.07 KB/s) - `x310pi_c-velot-la-science-la-recherche-et_politics' saved [49920]
On est donc maintenant en présence du fichier suivant:
x310pi_c-velot-la-science-la-recherche-et_politics
...que l'on va éditer pour trouver le lien qui mène à la vidéo.
Télécharger la vidéo
Dans ce fichier, vous trouverez un passage de plusieurs lignes commençant toutes de la sorte:
so474bffdbef32e.addVariable
Parmi toutes ces lignes, celle qui nous intéresse commence ainsi:
so474bffdbef32e.addVariable("url8", "http%3A%2F%2Fwww.dailymotion.com%2F....
Et c'est le lien de cette ligne que nous allons placer dans la commande wget:
wget http%3A%2F%2Fwww.dailymotion.com%2Fget%2F15%2F320x240%2Fon2%2F5086422.on2%3Fkey%3Dae1b15acf1019fcdfa26ef7d61adef241303370
--13:24:29-- http://[http://www.dailymotion.com/get/15/320x240/on2/5086422.on2?key=ae1b15acf1019fcdfa26ef7d61adef241303370]/
=> `index.html'
Resolving http://www.dailymotion.com/get/15/320x240/on2/5086422.on2?key=ae1b15acf1019fcdfa26ef7d61adef241303370... failed: Name or service not known.
On recommence avec l'URI renvoyé par le message ci-dessus (on peut éventuellement ajouter l'extension .flv) :
wget http://www.dailymotion.com/get/15/320x240/on2/5086422.on2?key=ae1b15acf1019fcdfa26ef7d61adef241303370
--13:24:40-- http://www.dailymotion.com/get/15/320x240/on2/5086422.on2?key=ae1b15acf1019fcdfa26ef7d61adef241303370
=> `5086422.on2?key=ae1b15acf1019fcdfa26ef7d61adef241303370'
Resolving www.dailymotion.com... 195.8.214.142, 195.8.214.141, 195.8.214.140
Connecting to www.dailymotion.com|195.8.214.142|:80... connected.
HTTP request sent, awaiting response... 303 See Other
Location: http://proxy-23.dailymotion.com/15/320x240/on2/5086422.on2?ae1b15acf1019fcdfa26ef7d61adef241303370 [following]
--13:24:41-- http://proxy-23.dailymotion.com/15/320x240/on2/5086422.on2?ae1b15acf1019fcdfa26ef7d61adef241303370
=> `5086422.on2?ae1b15acf1019fcdfa26ef7d61adef241303370'
Resolving proxy-23.dailymotion.com... 195.8.214.23
Connecting to proxy-23.dailymotion.com|195.8.214.23|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9,259,288 (8.8M) [video/x-flv]
100%[================================================>] 9,259,288 487.78K/s ETA 00:00
13:25:01 (453.13 KB/s) - `5086422.on2?ae1b15acf1019fcdfa26ef7d61adef241303370' saved [9259288/9259288]
Le fichier de la vidéo se nomme donc 5086422.on2?ae1b15acf1019fcdfa26ef7d61adef241303370 et pèse 9259288 octets














