Comment télécharger les vidéos avec des URLs blob?

94

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?

vignes
la source
Si vous souhaitez télécharger des vidéos youtube, utilisez des extensions telles que Video Downloadhelper (Firefox)
Ganesh R.
je veux télécharger à partir de l'URL vimeo.
vinesh
Vinesh, essayez de naviguer sur le site Web vimeo et commencez à lire la vidéo que vous souhaitez télécharger. Video DownloadHelper le détectera et vous donnera la possibilité de le télécharger. Je l'ai essayé.
Ganesh R.
Pas de chance. Lorsque j'ai commencé à lire des vidéos, j'ai vu plusieurs suggestions de vidéos provenant de l'extension que vous avez mentionnée, chacune d'environ 2 Mo. quand j'ai téléchargé une partie, je n'ai pas pu lire ce petit fichier. Je recevais une erreur ce fichier est corrompu.
vinesh
mettre le lien dans les commentaires
Ganesh R.

Réponses:

69

J'ai trouvé un moyen de télécharger la vidéo avec blob urlen Vimeo(lire ici je compris comment le faire). J'écris les étapes simples ici. J'utilise Google Chrome:

  1. Ouvrez le More ToolsDeveloper Tools
  2. 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>
    
  3. Copiez le src de la balise iframe, le cas échéant, comme http://player.vimeo.com/video/XYZsi vous l’aviez trouvée, vous pouvez aller directement au point 7, sinon suivez les étapes 4, 5, 6.
  4. Recherchez maintenant cette chaîne https://skyfire.vimeocdn.com/.../master.json?base64_init=1dans 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":"
    
  5. Copiez le lien dans le champ url sur un nouvel onglet Chrome. Par exemple, https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1ouvrez-le avec un navigateur. Il vous ouvrira un fichier json comme celui-ci:

    {
        "clip_id": XYZ,
        "base_url": "../",
        "video": [
                     { ... ... ...
    
  6. Maintenant, composez une URL avec votre identifiant XYZcomme ceci:https://player.vimeo.com/video/XYZ

  7. Remplacez l' blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXintérieur de la balise video par cette dernière URL (celle créée à l'étape précédente 6).
  8. 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>
    
  9. 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

madx
la source
7
Impressionnant. Comment avez-vous compris cela?
gronostaj
1
À l'étape 7, qu'entendez-vous par "cette dernière URL à l'intérieur du code HTML"?
joaorodr84
6
Fonctionne parfaitement, mais l’astuce consiste parfois à remplacer la valeur "src" plusieurs fois pour obtenir le lien de téléchargement généré.
Ashrith
19
Actuellement, pour Vimeo, c'est beaucoup plus facile et ne nécessite pas toutes les étapes. Ouvrez simplement une vidéo Vimeo, recherchez la <video>balise dans la structure DOM des outils de développement et changez l' srcattribut 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. :-)
StanE
3
@StanE cela fonctionne comme un charme, dans Firefox aussi, et est certainement plus rapide ...
ling
10

Cette réponse concerne les URL Twitter -

  1. Faites un clic droit sur la vidéo et cliquez sur Inspecter les éléments -

Vous trouverez un code comme celui-ci

<div id="playerContainer" class="player-container full-screen-enabled" data-config="{&quot;is_360&quot;:false,&quot;duration&quot;:28617,&quot;scribe_widget_origin&quot;:true,&quot;heartbeatEnabled&quot;:true,&quot;video_url&quot;:&quot;https:\/\/video.twimg.com\/ext_tw_video\/844504104512749568\/pu\/pl\/e91Du5N2TZ09ZaW_.m3u8&quot;,&quot;disable_embed&quot;:&quot;0&quot;,&quot;videoInfo&quot;:{&quot;title&quot;:null,&quot;description&quot;:null,&quot;publisher&quot;:{&quot;screen_name&quot;:&quot;MountainButorac&quot;,&quot;name&quot;:&quot;Mountain Butorac&quot;,&quot;profile_image_url&quot;:&quot;https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_normal.jpg&quot;}},&quot;cardUrl&quot;:&quot;https:\/\/t.co\/SdSorop3uN&quot;,&quot;content_type&quot;:&quot;application\/x-mpegURL&quot;,&quot;owner_id&quot;:&quot;14120461&quot;,&quot;looping_enabled&quot;:true,&quot;show_cookie_override_en&quot;:true,&quot;visit_cta_url&quot;:null,&quot;scribe_playlist_url&quot;:&quot;https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1&quot;,&quot;source_type&quot;:&quot;consumer&quot;,&quot;image_src&quot;:&quot;https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg&quot;,&quot;heartbeatIntervalInMs&quot;:5000.0,&quot;use_tfw_live_heartbeat_event_category&quot;:true,&quot;video_loading_timeout&quot;:45000.0,&quot;status&quot;:{&quot;created_at&quot;:&quot;Wed Mar 22 11:05:14 +0000 2017&quot;,&quot;id&quot;:844505243538931714,&quot;id_str&quot;:&quot;844505243538931714&quot;,&quot;text&quot;:&quot;Took my Goddaughter to meet the pope. She stole his hat! https:\/\/t.co\/SdSorop3uN&quot;,&quot;truncated&quot;:false,&quot;entities&quot;:{&quot;hashtags&quot;:[],&quot;symbols&quot;:[],&quot;user_mentions&quot;:[],&quot;urls&quot;:[],&quot;media&quot;:[{&quot;id&quot;:844504104512749568,&quot;id_str&quot;:&quot;844504104512749568&quot;,&quot;indices&quot;:[57,80],&quot;media_url&quot;:&quot;http:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg&quot;,&quot;media_url_https&quot;:&quot;https:\/\/pbs.twimg.com\/ext_tw_video_thumb\/844504104512749568\/pu\/img\/FFt3qkbeOh0RlGfZ.jpg&quot;,&quot;url&quot;:&quot;https:\/\/t.co\/SdSorop3uN&quot;,&quot;display_url&quot;:&quot;pic.twitter.com\/SdSorop3uN&quot;,&quot;expanded_url&quot;:&quot;https:\/\/twitter.com\/MountainButorac\/status\/844505243538931714\/video\/1&quot;,&quot;type&quot;:&quot;photo&quot;,&quot;sizes&quot;:{&quot;small&quot;:{&quot;w&quot;:340,&quot;h&quot;:604,&quot;resize&quot;:&quot;fit&quot;},&quot;thumb&quot;:{&quot;w&quot;:150,&quot;h&quot;:150,&quot;resize&quot;:&quot;crop&quot;},&quot;large&quot;:{&quot;w&quot;:576,&quot;h&quot;:1024,&quot;resize&quot;:&quot;fit&quot;},&quot;medium&quot;:{&quot;w&quot;:576,&quot;h&quot;:1024,&quot;resize&quot;:&quot;fit&quot;}}}]},&quot;source&quot;:&quot;\u003ca href=\&quot;http:\/\/twitter.com\/download\/iphone\&quot; rel=\&quot;nofollow\&quot;\u003eTwitter for iPhone\u003c\/a\u003e&quot;,&quot;in_reply_to_status_id&quot;:null,&quot;in_reply_to_status_id_str&quot;:null,&quot;in_reply_to_user_id&quot;:null,&quot;in_reply_to_user_id_str&quot;:null,&quot;in_reply_to_screen_name&quot;:null,&quot;geo&quot;:null,&quot;coordinates&quot;:null,&quot;place&quot;:null,&quot;contributors&quot;:null,&quot;retweet_count&quot;:0,&quot;favorite_count&quot;:0,&quot;favorited&quot;:false,&quot;retweeted&quot;:false,&quot;possibly_sensitive&quot;:false,&quot;lang&quot;:&quot;en&quot;},&quot;show_cookie_override_all&quot;:true,&quot;video_session_enabled&quot;:false,&quot;media_id&quot;:&quot;844504104512749568&quot;,&quot;view_counts&quot;:null,&quot;statusTimestamp&quot;:{&quot;local&quot;:&quot;4:05 AM - 22 Mar 2017&quot;},&quot;media_type&quot;:1,&quot;user&quot;:{&quot;screen_name&quot;:&quot;MountainButorac&quot;,&quot;name&quot;:&quot;Mountain Butorac&quot;,&quot;profile_image_url&quot;:&quot;https:\/\/pbs.twimg.com\/profile_images\/808318456701521920\/vBvlAASx_bigger.jpg&quot;},&quot;watch_now_cta_url&quot;:null,&quot;tweet_id&quot;:&quot;844505243538931714&quot;}" data-source-type="consumer">

2. Copier coller le code ci-dessus dans le bloc-notes ++. Remplacez tous les &quot;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

  1. Ouvrez le fichier m3u8 dans le bloc-notes ++, il contiendrait du code comme celui-ci

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

  1. Copiez le lien respectif ci-dessus selon votre besoin de résolution. Répétez la même étape jusqu'à ce que vous ayez un fichier .ts . Téléchargez le fichier .ts (le fichier vidéo).
Pirate X
la source
Que voulez-vous dire par "vous obtiendrez quelque chose comme" - d'où?
Utilisateur
@Utilisateur du code ci-dessus qui commence comme<div id="playerContainer"
Pirate X
3
Hé, à l'étape 4, qu'entendez-vous par "copier le lien correspondant"? Ce n'est pas une URL valide, et je ne trouve pas comment obtenir la vidéo avec. EDIT: OK, d'accord, je l'ai trouvé. Vous devriez mentionner que vous devez mettre " video.twimg.com " avant et accéder à l'URL.
Elzo
Si vous ne trouvez pas l' id="playerContainer"élément, recherchez og:video:urlet ouvrez l'URL dans le contenu et inspectez-en la source.
guillefix
Une autre façon de le faire sur Twitter est de s’exécuter document.querySelector('video').srcdans l’onglet de la console des outils de développement de votre navigateur.
Farzad YZ
8
<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> Networkpendant la lecture, il s'est avéré que video/source/@srcc'était une URL pour une m3u8liste de lecture.

Une m3u8vidé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.

Vlastimil Ovčáčík
la source
1
Fonctionne sur ma machine! Et vous pouvez fournir plusieurs types d'entrées de flux -i <URL> -i <URL> -i <URL>pour fusionner la vidéo, l'audio et les sous-titres en une seule sortie :)
mcandre
@ mcandre Oui, c'est un bon conseil. Vous pouvez également éventuellement trouver un 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.
Vlastimil Ovčáčík
0

J'ai trouvé une autre façon de télécharger une vidéo avec blob urlen 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 .

madx
la source