如何解决使用JS Blob类型URL下载视频的问题?

更新于
2026-09-28 13:08:57
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1486个文字,预计阅读时间需要6分钟。

如何解决使用JS Blob类型URL下载视频的问题?

blob下载问题详解:想使用src+url+blob下载视频,但不知道应该如何操作。是否有下载这类视频的通用方法?推荐解决方案。

在Vim中,下载使用src+url+blob的视频需要一些技巧。以下是一些可能的解决方案:

1. 解析Blob URL: - Blob URL通常指向一个不可直接访问的资源。你可以尝试解析这个Blob URL来获取视频的真实地址。 - 使用JavaScript代码来解析Blob URL,获取视频的URL。

2. 使用Node.js: - 在Vim中运行Node.js脚本,通过Node.js的HTTP模块来请求Blob URL,并获取视频内容。 javascript const http=require('http'); const url='blob:https://www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386'; http.get(url, (res)=> { let data=''; res.on('data', (chunk)=> { data +=chunk; }); res.on('end', ()=> { console.log(data); }); }).on('error', (err)=> { console.error('Error:', err); });

3. 浏览器插件: - 使用浏览器插件来捕获Blob URL,并转换为可以直接下载的URL。

4. 通用下载方法: - 对于某些视频网站,可能存在通用的下载方法,例如通过分析网站的后端请求来找到视频文件的真实URL。

5. 推荐解决方案: - 如果视频网站支持API,尝试使用API获取视频文件。 - 如果没有API,尝试使用浏览器开发者工具分析网络请求,找到视频文件的真实URL。

请注意,由于版权和隐私政策,某些视频可能无法直接下载。此外,上述方法可能需要一定的编程知识,特别是对于Node.js和JavaScript的使用。

blob下载问题的详细描述

我想用src url blob:www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386下载视频,但是不知道应该怎么做。

有没有下载这类视频的通用方法?

推荐的解决方法

我在Vimeo中找到了一个使用blob url下载视频的方法(读了这篇文章,我才知道做法)。我正在使用Google Chrome,具体步骤如下:

1、打开More Tools(更多工具)→Developer Tools(开发工具)

2、检查视频标签中是否有这样的东西:

<video preload="" src="blob:player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>

3、复制iframe标签的src(如果有的话)值,如player.vimeo.com/video/XYZ,如果你发现它可以复制,直接跳到第7点,否则按照步骤4,5,6继续操作。

4、现在在页面中找到这个字符串skyfire.vimeocdn.com/.../master.json?base64_init=1(使用开发视图(Developer View)),应该可以在javascript函数中找到它,像这样:

(function(e,a){var t={"cdn_url":"f.vimeocdn.com","view":1,"request":{"files":{"dash":{"origin":"gcs","url":"48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1","cdn":"

5、复制上面的url字段中的链接到一个新的Chrome选项卡,例如48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1,然后使用浏览器打开它,它会打开一个像这样的json文件:

{ "clip_id": XYZ, "base_url": "../", "video": [ { ... ... ...

6、现在用id XYZ组合构造一个URL,如下所示:player.vimeo.com/video/XYZ

7、用最终的URL替换视频标签内的blob:player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX(在上一步#6中创建的)。

8、现在可以发现,魔术般地,视频标签内的src字段已更改(如果没有,请尝试第7步多次)...

<video preload="none" src="fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>

最后,使用新的链接直接下载它,就像这样:fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg

其他的解决思路

这个答案是针对Twitter网址的 -

如何解决使用JS Blob类型URL下载视频的问题?

右键点击视频,然后点击检查元素 -

你会发现这样的代码

<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;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": "img.558idc.com/uploadfile/allimg/js/vBvlAASx_normal.jpg" } }, "cardUrl": "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": "twitter.com/MountainButorac/status/844505243538931714/video/1", "source_type": "consumer", "image_src": "img.558idc.com/uploadfile/allimg/js/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! t.co/SdSorop3uN", "truncated": false, "entities": { "hashtags": [], "symbols": [], "user_mentions": [], "urls": [], "media": [{ "id": 844504104512749568, "id_str": "844504104512749568", "indices": [57, 80], "media_url": "img.558idc.com/uploadfile/allimg/js/FFt3qkbeOh0RlGfZ.jpg", "media_url_img.558idc.com/uploadfile/allimg/js/FFt3qkbeOh0RlGfZ.jpg", "url": "t.co/SdSorop3uN", "display_url": "pic.twitter.com/SdSorop3uN", "expanded_url": "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=\"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": "img.558idc.com/uploadfile/allimg/js/vBvlAASx_bigger.jpg" }, "watch_now_cta_url": null, "tweet_id": "844505243538931714" }

从上面的JSON格式,可以看到video_url的值

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

这里的问题是,在2016年8月1日之后,Twitter不再使用.mp4视频,而是转换为新的HLS,自适应流格式,带有.m3u8文件扩展名。

.m3u8文件基本上只是一个文本文的封装,它们非常小(300-500字节)。当您使用文本编辑器打开它们时,它们包含指向不同视频大小的链接

在记事本++(Notepad++)中打开文件m3u8,它会包含这样的代码

EXTM3U EXT-X-INDEPENDENT-SEGMENTS EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=256000,RESOLUTION=180x320,CODECS="mp4a.40.2,avc1.42001f"/ext_tw_video/844504104512749568/pu/pl/180x320/_Z42SY5zwMlLdFYx.m3u8 EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=832000,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8

根据您需要的分辨率从上面复制对应的链接。重复相同的步骤,直到有.ts文件。下载.ts文件(视频文件)。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

标签:解决blo

本文共计1486个文字,预计阅读时间需要6分钟。

如何解决使用JS Blob类型URL下载视频的问题?

blob下载问题详解:想使用src+url+blob下载视频,但不知道应该如何操作。是否有下载这类视频的通用方法?推荐解决方案。

在Vim中,下载使用src+url+blob的视频需要一些技巧。以下是一些可能的解决方案:

1. 解析Blob URL: - Blob URL通常指向一个不可直接访问的资源。你可以尝试解析这个Blob URL来获取视频的真实地址。 - 使用JavaScript代码来解析Blob URL,获取视频的URL。

2. 使用Node.js: - 在Vim中运行Node.js脚本,通过Node.js的HTTP模块来请求Blob URL,并获取视频内容。 javascript const http=require('http'); const url='blob:https://www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386'; http.get(url, (res)=> { let data=''; res.on('data', (chunk)=> { data +=chunk; }); res.on('end', ()=> { console.log(data); }); }).on('error', (err)=> { console.error('Error:', err); });

3. 浏览器插件: - 使用浏览器插件来捕获Blob URL,并转换为可以直接下载的URL。

4. 通用下载方法: - 对于某些视频网站,可能存在通用的下载方法,例如通过分析网站的后端请求来找到视频文件的真实URL。

5. 推荐解决方案: - 如果视频网站支持API,尝试使用API获取视频文件。 - 如果没有API,尝试使用浏览器开发者工具分析网络请求,找到视频文件的真实URL。

请注意,由于版权和隐私政策,某些视频可能无法直接下载。此外,上述方法可能需要一定的编程知识,特别是对于Node.js和JavaScript的使用。

blob下载问题的详细描述

我想用src url blob:www.youtube.com/23aea5c8-9ae2-40dc-9417-e675ea99b386下载视频,但是不知道应该怎么做。

有没有下载这类视频的通用方法?

推荐的解决方法

我在Vimeo中找到了一个使用blob url下载视频的方法(读了这篇文章,我才知道做法)。我正在使用Google Chrome,具体步骤如下:

1、打开More Tools(更多工具)→Developer Tools(开发工具)

2、检查视频标签中是否有这样的东西:

<video preload="" src="blob:player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"></video>

3、复制iframe标签的src(如果有的话)值,如player.vimeo.com/video/XYZ,如果你发现它可以复制,直接跳到第7点,否则按照步骤4,5,6继续操作。

4、现在在页面中找到这个字符串skyfire.vimeocdn.com/.../master.json?base64_init=1(使用开发视图(Developer View)),应该可以在javascript函数中找到它,像这样:

(function(e,a){var t={"cdn_url":"f.vimeocdn.com","view":1,"request":{"files":{"dash":{"origin":"gcs","url":"48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1","cdn":"

5、复制上面的url字段中的链接到一个新的Chrome选项卡,例如48skyfiregce-a.akamaihd.net/.../master.json?base64_init=1,然后使用浏览器打开它,它会打开一个像这样的json文件:

{ "clip_id": XYZ, "base_url": "../", "video": [ { ... ... ...

6、现在用id XYZ组合构造一个URL,如下所示:player.vimeo.com/video/XYZ

7、用最终的URL替换视频标签内的blob:player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX(在上一步#6中创建的)。

8、现在可以发现,魔术般地,视频标签内的src字段已更改(如果没有,请尝试第7步多次)...

<video preload="none" src="fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg"></video>

最后,使用新的链接直接下载它,就像这样:fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/XX/XXX/X/XXXXXXXX/XXXXXXXXX.mp4?token=abcdefg

其他的解决思路

这个答案是针对Twitter网址的 -

如何解决使用JS Blob类型URL下载视频的问题?

右键点击视频,然后点击检查元素 -

你会发现这样的代码

<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;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": "img.558idc.com/uploadfile/allimg/js/vBvlAASx_normal.jpg" } }, "cardUrl": "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": "twitter.com/MountainButorac/status/844505243538931714/video/1", "source_type": "consumer", "image_src": "img.558idc.com/uploadfile/allimg/js/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! t.co/SdSorop3uN", "truncated": false, "entities": { "hashtags": [], "symbols": [], "user_mentions": [], "urls": [], "media": [{ "id": 844504104512749568, "id_str": "844504104512749568", "indices": [57, 80], "media_url": "img.558idc.com/uploadfile/allimg/js/FFt3qkbeOh0RlGfZ.jpg", "media_url_img.558idc.com/uploadfile/allimg/js/FFt3qkbeOh0RlGfZ.jpg", "url": "t.co/SdSorop3uN", "display_url": "pic.twitter.com/SdSorop3uN", "expanded_url": "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=\"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": "img.558idc.com/uploadfile/allimg/js/vBvlAASx_bigger.jpg" }, "watch_now_cta_url": null, "tweet_id": "844505243538931714" }

从上面的JSON格式,可以看到video_url的值

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

这里的问题是,在2016年8月1日之后,Twitter不再使用.mp4视频,而是转换为新的HLS,自适应流格式,带有.m3u8文件扩展名。

.m3u8文件基本上只是一个文本文的封装,它们非常小(300-500字节)。当您使用文本编辑器打开它们时,它们包含指向不同视频大小的链接

在记事本++(Notepad++)中打开文件m3u8,它会包含这样的代码

EXTM3U EXT-X-INDEPENDENT-SEGMENTS EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=256000,RESOLUTION=180x320,CODECS="mp4a.40.2,avc1.42001f"/ext_tw_video/844504104512749568/pu/pl/180x320/_Z42SY5zwMlLdFYx.m3u8 EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=832000,RESOLUTION=360x640,CODECS="mp4a.40.2,avc1.42001f"/ext_tw_video/844504104512749568/pu/pl/360x640/-Phfjbbx2yinirLi.m3u8

根据您需要的分辨率从上面复制对应的链接。重复相同的步骤,直到有.ts文件。下载.ts文件(视频文件)。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

标签:解决blo