ब्लॉब यूआरएल के साथ वीडियो कैसे डाउनलोड करें?


94

मैं src url के साथ वीडियो डाउनलोड करने का प्रयास कर रहा हूं blob:https%3A//www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386

क्या इस तरह की सभी वीडियो को डाउनलोड करने के लिए एक प्रक्रिया का पालन किया जा सकता है?


अगर आप यूट्यूब वीडियो डाउनलोड करना चाहते हैं, तो वीडियो डाउनलोडर (फ़ायरफ़ॉक्स) जैसे वीडियो का उपयोग करें
गणेश आर।

मैं vimeo यूआरएल से डाउनलोड करना चाहते हैं।
विनेश

विनेश, वीमियो वेबसाइट पर नेविगेट करने की कोशिश करें और उस वीडियो को चलाना शुरू करें जिसे आपको डाउनलोड करना है। वीडियो डाउनलोड हेल्पर इसका पता लगाएगा और आपको इसे डाउनलोड करने का विकल्प देगा। मैं इसे करने की कोशिश की।
गणेश आर।

कोई भाग्य नहीं। जब मैंने वीडियो चलाना शुरू किया, तो मैंने उस एक्सटेंशन से कई वीडियो सुझाव देखे जिनका आपने लगभग 2 एमबी में उल्लेख किया था। जब मैंने एक भाग डाउनलोड किया, तो मैं उस छोटी फ़ाइल को चलाने में सक्षम नहीं था। मुझे त्रुटि हो रही थी कि फ़ाइल भ्रष्ट है।
विनेश

लिंक को टिप्पणियों में रखें
गणेश आर।

जवाबों:


69

मैं के साथ वीडियो डाउनलोड करने के लिए एक रास्ता मिल गया blob urlमें Vimeo(पढ़ने यहाँ मैं समझ गया कि यह कैसे कर रही है)। मैं यहाँ सरल कदम लिखता हूँ। मैं Google Chrome का उपयोग कर रहा हूं:

  1. More Tools→ खोलेंDeveloper Tools
  2. वीडियो टैग में देखें कि क्या कुछ ऐसा है:

    <video preload="" src="blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>
    
  3. Iframe टैग के src को कॉपी करें, यदि कोई है, तो ऐसा कुछ http://player.vimeo.com/video/XYZअगर आपको यह मिल जाए तो आप सीधे बिंदु 7 पर जा सकते हैं, अन्यथा चरण 4, 5, 6 का पालन करें।
  4. अब इस स्ट्रिंग https://skyfire.vimeocdn.com/.../master.json?base64_init=1को पृष्ठ के अंदर देखें (डेवलपर दृश्य का उपयोग करके), आपको इसे जावास्क्रिप्ट फ़ंक्शन के अंदर मिलना चाहिए, जैसे:

    (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. एक नए Chrome टैब पर url फ़ील्ड के लिंक को कॉपी करें, उदाहरण के लिए https://48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1इसे एक ब्राउज़र के साथ खोलें, यह आपके लिए एक json फ़ाइल खोलेगा:

    {
        "clip_id": XYZ,
        "base_url": "../",
        "video": [
                     { ... ... ...
    
  6. अब अपनी आईडी के XYZसाथ इस तरह एक यूआरएल लिखें :https://player.vimeo.com/video/XYZ

  7. blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXउस अंतिम url (पिछले चरण # 6 में बनाया गया) के साथ वीडियो टैग के अंदर बदलें ।
  8. अब आप देखेंगे कि जादुई रूप से वीडियो टैग के अंदर src फ़ील्ड बदल गया है (यदि ऐसा नहीं होता है, तो चरण 7 बार कई प्रयास करें) ...

    <video preload="none" src="https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>
    
  9. इसे सीधे लिंक करने के लिए उस नए लिंक का प्रयोग करें, यह कुछ इस तरह है: https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XX4XXXXX.mp4?token=abcdefg


7
प्रभावशाली। आपने यह कैसे पता लगाया है?
gronostaj

1
चरण 7 में, "एचटीएमएल के अंदर आखिरी यूआरएल" के साथ आपका क्या मतलब है?
joaorodr84

6
पूरी तरह से काम करता है, लेकिन कभी-कभी ट्रिक आपको डाउनलोड लिंक उत्पन्न करने के लिए कई बार "src" मान को बदलना पड़ता है।
अश्रिष्ट

19
वर्तमान में, Vimeo के लिए यह बहुत आसान है और सभी चरणों की आवश्यकता नहीं है। सीधे शब्दों में, एक Vimeo वीडियो को खोलने लगता है <video>देव उपकरण DOM संरचना में टैग और बदलने srcसे विशेषता blob:...के लिए x। कुछ नहीं होगा - यह ठीक है। अब इसे फिर से, को बदल दें y। Chrome इसे 'जादुई रूप से' URL में चरण 8 या 9 में बदल देगा। :-)
StanE

3
@StanE यह भी फ़ायरफ़ॉक्स में एक आकर्षण की तरह काम करता है, और निश्चित रूप से तेजी से होता है ...
लिंग

10

यह उत्तर ट्विटर यूआरएल के लिए है -

  1. वीडियो पर राइट क्लिक करें और निरीक्षण तत्वों पर क्लिक करें -

आपको इस तरह का एक कोड मिलेगा

<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. नोटपैड ++ में कोड के ऊपर कोड पेस्ट करें। सभी के &quot;साथ बदलें "और नोटपैड ++ में \/wth /। (CTRL + H का उपयोग करें)

आपको कुछ ऐसा मिलेगा

{
    "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"
}

JSON प्रारूप के ऊपर से, video_url मान देखें

https://video.twimg.com/ext_tw_video/844504104512749568/pu/pl/e91Du5N2TZ09ZaW_.m3u8

यहाँ समस्या 1 अगस्त 2016 के बाद की है, ट्विटर अब .mp4 वीडियो का उपयोग नहीं कर रहा है, लेकिन एक .m3u8 फ़ाइल एक्सटेंशन के साथ एक नए HLS, अनुकूली-स्ट्रीमिंग प्रारूप में परिवर्तित हो रहा है ।

.m3u8 फाइलें मूल रूप से सिर्फ एक टेक्स्ट फाइल रैपर हैं, वे सुपर छोटी (300-500 बाइट्स) हैं, और जब आप उन्हें एक टेक्स्ट एडिटर के साथ खोलते हैं, तो वे विभिन्न वीडियो आकारों के लिंक होते हैं

  1. नोटपैड ++ में फ़ाइल m3u8 खोलें, इसमें इस तरह का कोड होगा

EXTM3U EXT-X-INDEPENDENT-SEGMENTS EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 256000, RESOLUTION = 180x320, COECECS = "mp4a.40.2, avc1.42001f" / ext_tw_video / 8445/4444/ 180x320 / _Z42SY5zwMlLdFYx.m3u8 EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 832000, RESOLUTION / "360x640, CODECS =" mp4a.40.2, avc1.42001f " / " ext " #Video/Video/Video/V/ V पर" एक्स-रे "है। Phfjbbx2yinirLi.m3u8

  1. संबंधित लिंक को ऊपर से अपने संकल्प की आवश्यकता के अनुसार कॉपी करें। आपके पास .ts फ़ाइल होने तक उसी चरण को दोहराएं । .Ts फ़ाइल (वीडियो फ़ाइल) डाउनलोड करें ।

आपका क्या मतलब है, "आपको कुछ मिलेगा" - कहाँ से?
यूजर

@ इसके ऊपर दिए गए कोड से जो शुरू होता है<div id="playerContainer"
Pirate X

3
अरे, चरण 4 में, "संबंधित लिंक को कॉपी करें" से आपका क्या मतलब है? यह एक मान्य URL नहीं है, और मुझे नहीं पता कि इसके साथ वीडियो कैसे प्राप्त किया जाए। संपादित करें: ठीक है, ठीक है, मैंने पाया। आपको यह उल्लेख करना चाहिए कि आपको इससे पहले " video.twimg.com " डालना होगा और URL तक पहुंचना होगा।
एलजो

यदि आप id="playerContainer"तत्व के लिए तत्व नहीं खोज सकते हैं og:video:urlऔर सामग्री में url खोल सकते हैं, और उस स्रोत का निरीक्षण कर सकते हैं।
गाइलिफ़िक्स

इसे ट्विटर पर करने का दूसरा तरीका है कि document.querySelector('video').srcआप अपने ब्राउज़र डेवलपर टूल कंसोल टैब में चलाएं ।
फ़रज़ाद 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>

मेरे पास blob:URL भी था video/@src, लेकिन देखने के दौरान Developer tools> Networkप्लेबैक के दौरान यह पता चला कि video/source/@srcURL m3u8प्लेलिस्ट के लिए था ।

एक m3u8समर्थित वीडियो आसानी से या तो द्वारा डाउनलोड किया जा सकता:

  • 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 लगता है जैसे कि आप बाइनरी प्राप्त करना चाहते हैं लेकिन वीडियो प्राप्त करने का आसान तरीका हो सकता है। जब आप वास्तव में ला रहे हैं, तो यह देखने के लिए कि आप वीडियो चला रहे हैं, बस देव उपकरण में नेटवर्क टैब देखें।


1
मेरी मशीन पर काम करता है! और आप -i <URL> -i <URL> -i <URL>वीडियो, ऑडियो और उपशीर्षक को एक आउटपुट में मर्ज करने के साथ कई प्रकार के स्ट्रीम इनपुट की आपूर्ति कर सकते हैं :)
mcandre

@mcandre हाँ, यह एक अच्छी टिप है। आप संभवतः m3u8 मेटलिस्ट (यानी m3u8 फ़ाइल को अन्य m3u8 फ़ाइलों का संदर्भ देते हुए) पा सकते हैं और ffmpeg इसे ठीक से डाउनलोड और मर्ज करेगा, इसलिए आपको कई इनपुट मैन्युअल रूप से निर्दिष्ट करने की आवश्यकता नहीं है -i
Vlastimil Ovčáčík

0

मैं के साथ एक वीडियो डाउनलोड करने के लिए एक और रास्ता मिल गया blob urlमें Vimeo(देखें अन्य जवाब यह पेज में)।

यह समाधान केवल तभी उपयुक्त है जब आप ध्वनियों के बिना सिर्फ वीडियो चाहते हैं!

इसलिए, यदि आप सिर्फ एक Vimeo वीडियो (अक्सर बिना किसी आवाज़ के) डाउनलोड करना चाहते हैं, तो मैं पुष्टि कर सकता हूं कि यह Google Chrome एक्सटेंशन वास्तव में अच्छा काम करता है: Flash वीडियो डाउनलोडर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.