J'essaye de télécharger la vidéo avec l'URL de src blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386
.
Existe-t-il un processus qui peut être suivi pour télécharger tout ce type de vidéos?
J'essaye de télécharger la vidéo avec l'URL de src blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386
.
Existe-t-il un processus qui peut être suivi pour télécharger tout ce type de vidéos?
Réponses:
J'ai trouvé un moyen de télécharger la vidéo avec blob url
en Vimeo
(lire ici je compris comment le faire). J'écris les étapes simples ici. J'utilise Google Chrome:
More Tools
→Developer Tools
Vérifiez si dans la balise video il y a quelque chose comme ceci:
<video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
http://player.vimeo.com/video/XYZ
si vous l’aviez trouvée, vous pouvez aller directement au point 7, sinon suivez les étapes 4, 5, 6.Recherchez maintenant cette chaîne https://skyfire.vimeocdn.com/.../master.json?base64_init=1
dans la page (à l'aide de la vue Développeur), vous devriez la trouver dans une fonction javascript, comme ceci:
(function(e,a){var t={"cdn_url":"https://f.vimeocdn.com","view":1,"request":{"files":{"dash":{"origin":"gcs","url":"https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1","cdn":"
Copiez le lien dans le champ url sur un nouvel onglet Chrome. Par exemple, https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1
ouvrez-le avec un navigateur. Il vous ouvrira un fichier json comme celui-ci:
{
"clip_id": XYZ,
"base_url": "../",
"video": [
{ ... ... ...
Maintenant, composez une URL avec votre identifiant XYZ
comme ceci:https://player.vimeo.com/video/XYZ
blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
intérieur de la balise video par cette dernière URL (celle créée à l'étape précédente 6).Maintenant, vous remarquerez que, comme par magie, le champ src à l'intérieur de la balise video a changé (si ce n'est pas le cas, essayez l'étape 7 plusieurs fois) ...
<video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
Utilisez ce nouveau lien pour le télécharger, il est directement quelque chose comme ceci: https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg
<video>
balise dans la structure DOM des outils de développement et changez l' src
attribut de blob:...
en x
. Rien ne se passera - c'est ok. Maintenant changez-le encore, pour y
. Chrome le convertira "par magie" en URL, comme à l'étape 8 ou 9. :-)
Cette réponse concerne les URL Twitter -
Vous trouverez un code comme celui-ci
<div id="playerContainer" class="player-container full-screen-enabled" data-config="{"is_360":false,"duration":28617,"scribe_widget_origin":true,"heartbeatEnabled":true,"video_url":"https:\/\/video.twimg.com\/ext_tw_video\/844504104512749568\/pu\/pl\/e91Du5N2TZ09ZaW_.m3u8","disable_embed":"0","videoInfo":{"title":null,"description":null,"publisher":{"screen_name":"MountainButorac","name":"Mountain Butorac","profile_image_url":"https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_normal.jpg"}},"cardUrl":"https:\/\/t.co\/SdSorop3uN","content_type":"application\/x-mpegURL","owner_id":"14120461","looping_enabled":true,"show_cookie_override_en":true,"visit_cta_url":null,"scribe_playlist_url":"https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1","source_type":"consumer","image_src":"https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg","heartbeatIntervalInMs":5000.0,"use_tfw_live_heartbeat_event_category":true,"video_loading_timeout":45000.0,"status":{"created_at":"Wed Mar 22 11:05:14 +0000 2017","id":844505243538931714,"id_str":"844505243538931714","text":"Took my Goddaughter to meet the pope. She stole his hat! https:\/\/t.co\/SdSorop3uN","truncated":false,"entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[],"media":[{"id":844504104512749568,"id_str":"844504104512749568","indices":[57,80],"media_url":"http:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg","media_url_https":"https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg","url":"https:\/\/t.co\/SdSorop3uN","display_url":"pic.twitter.com\/SdSorop3uN","expanded_url":"https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1","type":"photo","sizes":{"small":{"w":340,"h":604,"resize":"fit"},"thumb":{"w":150,"h":150,"resize":"crop"},"large":{"w":576,"h":1024,"resize":"fit"},"medium":{"w":576,"h":1024,"resize":"fit"}}}]},"source":"\u003ca href=\"http:\/\/twitter.com\/download\/iphone\" rel=\"nofollow\"\u003eTwitter for iPhone\u003c\/a\u003e","in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"geo":null,"coordinates":null,"place":null,"contributors":null,"retweet_count":0,"favorite_count":0,"favorited":false,"retweeted":false,"possibly_sensitive":false,"lang":"en"},"show_cookie_override_all":true,"video_session_enabled":false,"media_id":"844504104512749568","view_counts":null,"statusTimestamp":{"local":"4:05 AM - 22 Mar 2017"},"media_type":1,"user":{"screen_name":"MountainButorac","name":"Mountain Butorac","profile_image_url":"https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_bigger.jpg"},"watch_now_cta_url":null,"tweet_id":"844505243538931714"}" data-source-type="consumer">
2. Copier coller le code ci-dessus dans le bloc-notes ++. Remplacez tous les "
avec "
et \/
avec /
dans le bloc-notes ++. (Utilisez CTRL + H)
Vous obtiendrez quelque chose comme
{
"is_360": false,
"duration": 28617,
"scribe_widget_origin": true,
"heartbeatEnabled": true,
"video_url": "https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8",
"disable_embed": "0",
"videoInfo": {
"title": null,
"description": null,
"publisher": {
"screen_name": "MountainButorac",
"name": "Mountain Butorac",
"profile_image_url": "https://pbs.twimg.com/profile_images/808318456701521920/vBvlAASx_normal.jpg"
}
},
"cardUrl": "https://t.co/SdSorop3uN",
"content_type": "application/x-mpegURL",
"owner_id": "14120461",
"looping_enabled": true,
"show_cookie_override_en": true,
"visit_cta_url": null,
"scribe_playlist_url": "https://twitter.com/MountainButorac/status/844505243538931714/video/1",
"source_type": "consumer",
"image_src": "https://pbs.twimg.com/ext_tw_video_thumb/844504104512749568/pu/img/FFt3qkbeOh0RlGfZ.jpg",
"heartbeatIntervalInMs": 5000.0,
"use_tfw_live_heartbeat_event_category": true,
"video_loading_timeout": 45000.0,
"status": {
"created_at": "Wed Mar 22 11:05:14 +0000 2017",
"id": 844505243538931714,
"id_str": "844505243538931714",
"text": "Took my Goddaughter to meet the pope. She stole his hat! https://t.co/SdSorop3uN",
"truncated": false,
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [],
"urls": [],
"media": [{
"id": 844504104512749568,
"id_str": "844504104512749568",
"indices": [57, 80],
"media_url": "http://pbs.twimg.com/ext_tw_video_thumb/844504104512749568/pu/img/FFt3qkbeOh0RlGfZ.jpg",
"media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/844504104512749568/pu/img/FFt3qkbeOh0RlGfZ.jpg",
"url": "https://t.co/SdSorop3uN",
"display_url": "pic.twitter.com/SdSorop3uN",
"expanded_url": "https://twitter.com/MountainButorac/status/844505243538931714/video/1",
"type": "photo",
"sizes": {
"small": {
"w": 340,
"h": 604,
"resize": "fit"
},
"thumb": {
"w": 150,
"h": 150,
"resize": "crop"
},
"large": {
"w": 576,
"h": 1024,
"resize": "fit"
},
"medium": {
"w": 576,
"h": 1024,
"resize": "fit"
}
}
}]
},
"source": "\u003ca href=\"http://twitter.com/download/iphone\" rel=\"nofollow\"\u003eTwitter for iPhone\u003c/a\u003e",
"in_reply_to_status_id": null,
"in_reply_to_status_id_str": null,
"in_reply_to_user_id": null,
"in_reply_to_user_id_str": null,
"in_reply_to_screen_name": null,
"geo": null,
"coordinates": null,
"place": null,
"contributors": null,
"retweet_count": 0,
"favorite_count": 0,
"favorited": false,
"retweeted": false,
"possibly_sensitive": false,
"lang": "en"
},
"show_cookie_override_all": true,
"video_session_enabled": false,
"media_id": "844504104512749568",
"view_counts": null,
"statusTimestamp": {
"local": "4:05 AM - 22 Mar 2017"
},
"media_type": 1,
"user": {
"screen_name": "MountainButorac",
"name": "Mountain Butorac",
"profile_image_url": "https://pbs.twimg.com/profile_images/808318456701521920/vBvlAASx_bigger.jpg"
},
"watch_now_cta_url": null,
"tweet_id": "844505243538931714"
}
A partir du format JSON ci-dessus, voir la valeur video_url
https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8
Le problème ici est que, après le 1er août 2016, Twitter n'utilise plus les vidéos .mp4, mais est convertie en un nouveau format de diffusion adaptative HLS, avec une extension de fichier .m3u8 .
Les fichiers .m3u8 sont fondamentalement juste un wrapper de fichier texte, ils sont super petits (300-500 octets), et lorsque vous les ouvrez avec un éditeur de texte, ils contiennent des liens vers différentes tailles de vidéo
EXTM3U EXT-X-INDEPENDENT-SEGMENTS EXT-X-STREAM-INF: ID-PROGRAMME = 1, BANDWIDTH = 256000, RESOLUTION = 180x320, CODECS = "mp4a.40.2, avc1.42001f" / ext_tw_video / 84450445445445457455689 , p / B / P / 180x320 / _Z42SY5zwMlFYx.m3u8 EXT-X-STREAM-INF: ID-PROGRAMME = 1, BANDWIDTH = 832000, RESOLUTION = 360x640, CODECS = "mp4a.40.2, avc1.42001f" / ext_tw_video / 843014) Phfjbbx2yinirLi.m3u8
<div id="playerContainer"
id="playerContainer"
élément, recherchez og:video:url
et ouvrez l'URL dans le contenu et inspectez-en la source.
document.querySelector('video').src
dans l’onglet de la console des outils de développement de votre navigateur.
<video src="blob:https://www.example.tv/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx">
<source src="https://cdn.example.tv/api/media/tv/xyzxyz/index" type="application/x-mpegurl">
</video>
J'avais aussi une blob:
URL dans video/@src
, mais en regardant Developer tools
> Network
pendant la lecture, il s'est avéré que video/source/@src
c'était une URL pour une m3u8
liste de lecture.
Une m3u8
vidéo doublée peut être facilement téléchargée par:
ffplay -i "https://cdn.example.tv/api/media/tv/xyzxyz/1080/index.m3u8"
ffmpeg -i "https://cdn.example.tv/api/media/tv/xyzxyz/1080/index.m3u8" -codec copy file.mkv
tl; dr - URL blob ressemble au binaire que vous voulez obtenir, mais il pourrait y avoir un moyen plus facile d’obtenir la vidéo. Il suffit de consulter l'onglet Réseau dans les outils de développement pendant la lecture de la vidéo pour voir ce que vous récupérez.
-i <URL> -i <URL> -i <URL>
pour fusionner la vidéo, l'audio et les sous-titres en une seule sortie :)
m3u8
métalliste (fichier m3u8 faisant référence à d’autres fichiers m3u8) et ffmpeg le téléchargera et le fusionnera correctement, vous n’aurez donc pas à spécifier plusieurs entrées manuellement -i
.
J'ai trouvé une autre façon de télécharger une vidéo avec blob url
en Vimeo
(voir autre réponse dans cette page).
Cette solution ne convient que si vous voulez juste la vidéo sans les sons!
Donc, si vous souhaitez uniquement télécharger une vidéo Vimeo (souvent sans sons), je peux confirmer que cette extension Google Chrome fonctionne vraiment bien: Flash Video Downloader .