web-dev-qa-db-fra.com

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

J'essaie de télécharger une vidéo avec l'URL 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?

90
vinesh

J'ai trouvé un moyen de télécharger la vidéo avec blob url dans Vimeo (lecture ici j'ai 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, quelque chose comme http://player.vimeo.com/video/XYZ si vous l'avez 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=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":"
    
  5. Copiez le lien dans le champ url sur un nouvel onglet Chrome. Par exemple, https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1 et ouvrez-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 XYZ comme ceci: https://player.vimeo.com/video/XYZ

  7. Remplacez blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX à l'intérieur de la balise video par cette dernière URL (celle créée à l'étape précédente n ° 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 directement. Il ressemble à ceci: https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token= abcdefg

64
madx

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; par " 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 est que, après le 1er août 2016, Twitter n'utilise plus les vidéos .mp4, mais est converti 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 SEGMENTS EXT-X-INDEPENDANTS EXT-X-STREAM-INF: ID-PROGRAMME = 1, BANDWIDTH = 256000, RESOLUTION = 180x320, CODECS = "mp4a.40.2, avc1.42001f" / ext_tw_video/84444545445455) /pl/180x320/_Z42SY5zwMlDFYx.m3u8 EXT-X-STREAM-INF: ID-PROGRAMME = 1, BANDWIDTH = 832000, RESOLUTION = 360x640, CODECS = "mp4a.40.2, avc1.42001f" / ext_tw) 844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8

  1. Copiez le lien respectif ci-dessus selon votre besoin de résolution. Répétez la même étape jusqu'à obtenir le fichier .ts. Téléchargez le fichier .ts (le fichier vidéo).
9
Pirate X
<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 blob: URL dans video/@src, mais en regardant Developer tools> Network pendant la lecture, il s'est avéré que video/source/@src était l'URL de la playlist m3u8.

Une vidéo sauvegardée par m3u8- peut être facilement téléchargée:

  • 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 - blob URL ressemble au binaire que vous voulez obtenir, mais il pourrait y avoir un moyen plus facile d’obtenir la vidéo. Dans l'onglet Outils de développement, consultez l'onglet Réseau pendant la lecture de la vidéo pour voir ce que vous récupérez.

6

J'ai trouvé un autre moyen de télécharger une vidéo avec blob url dans Vimeo (voir la autre réponse sur cette page).

Cette solution ne convient que si vous voulez juste la vidéo sans les sons!

Donc, si vous voulez télécharger juste une vidéo Vimeo (souvent sans sons), je peux confirmer que cette extension Google Chrome fonctionne vraiment bien: Flash Video Downloader .

0
madx