blob下载问题的详细描述

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

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

推荐的解决方法

我在Vimeo中找到了一个使用blob url下载视频的方法(读了这篇文章,我才知道做法)。我正在使用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(使用开发视图(Developer View)),应该可以在javascript函数中找到它,像这样:

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

    {"clip_id": XYZ,"base_url": "../","video": [{ ... ... ...
    
  6. 现在用id XYZ组合构造一个URL,如下所示:https://player.vimeo.com/video/XYZ

  7. 用最终的URL替换视频标签内的blob:https://player.vimeo.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX(在上一步#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/XXXXXXXXX.mp4?token=abcdefg

其他的解决思路

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

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

复制上面的代码,并粘贴到记事本++(Notepad++)中,然后用"替换所有的&quot;,用/替换所有和\/。 (使用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

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

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

  1. 在记事本++(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

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

blob类型url的视频下载问题相关推荐

  1. 【方法】blob类型地址的图片下载

    blob地址的图片下载 有时候我们在网上看到一些喜欢的照片想要保存下载下来,正常情况下都是可以通过按键F12进入后台模式找到对应的照片地址,但偶尔遇到一些采用blob地址的图片不知道该如何把它下载下来 ...

  2. 扒取blob:https:// 格式的视频

    以前一直以为这种不提供下载方式的视频 应该右键检查然后network里面应该可以找到视频文件 然后自己在那里下载就好了 后来发现好像并不是这么回事 然后自己写过这种网页上可以观看视频的项目,用的是vu ...

  3. 别想盗我视频之——blob加密+mediaSource防止用户下载视频

    文章目录 前言 一.blob 二.mediaSource 三.后台处理 四.代码展示 1.后台代码 2.前台代码 1.无插件,纯H5 html js 2. 开源播放器插件 html js 相关报错 前 ...

  4. 如何利用后端给的url,前端下载图片、音频、视频等文件

    后端给了url,让前端处理下载,刚开始只处理图片url下载,然后用最简单的方式,创建a标签,叫download属性,发现竟然不行,找了一下原因,原来是url地址跨域了,这里需要让后端处理一下服务器对u ...

  5. 从blob协议的加密视频地址下载视频

    目标下载视频地址:blob:http://www.yunxiedu.net/2be908de-216b-4b57-badb-1d3be699e077 如下图视频还是弹窗网页视频: I (1)安装插件浏 ...

  6. 转换blob类型的数据,然后进行下载各种文件,还有各种blob转换的文件类型

    转换blob类型的数据,然后进行下载各种文件 ress //返回的数据流 var blob = new Blob(ress, {type: 'application/vnd.ms-excel;'}); ...

  7. JDBC:软件架构、概述、数据库连接:普通项目添加jar包,URL、sql注入,类型转换,查询流程表、操作BLOB类型字段、批量插入,替换jar包、事务/数据库连接池

    0 常识说明 0.1 软件架构方式介绍 B/S架构:浏览器 与 服务器之间的交互. C/S架构:安装的本地软件(如:今日头条等) 与 服务器进行交互. 0.2 JavaWeb技术概览 JDBC核心技术 ...

  8. 简单粗暴无需拼接下载 blob (ts)视频文件

    网上很多视频采用blob来播放视频,查看源码会发现video的src为形如 : src="blob:https://*/f2880c6a-c2c5-4146-96b2-944ae555b76 ...

  9. Oracle BLOB类型的数据如何查看和下载?

    Oracle BLOB类型的数据如何查看和下载? 有一个字段是BLOB类型的,里边存储了一个pdf文件.现在想查看这个pdf的具体内容.使用PLSQL Developer竟然报错,看不到具体pdf的内 ...

最新文章

  1. Tablecontrol动态序号实现
  2. window 2003 linux,一步步从Windows 2003 DNS 移植到Linux下
  3. mysql安装教程8.0.21安装,Windows系统下MySQL8.0.21安装教程(图文详解)
  4. LeetCode 322. Coin Change
  5. Java架构-JavaSE(一)之类与对象
  6. 小哥送一单外卖应该拿多少钱?
  7. 亚马逊云科技张文翊:云让初创公司不输在起跑线上
  8. js拼的onclick调用方法需要注意的地方 之二
  9. 图像局部特征(四)--FAST-ER角点检测子
  10. 只身单车游山东(一)
  11. 关于非堆内存申请的性能测试
  12. 有道单词本手机和电脑同步问题
  13. java 修改图片后缀名,不改变图片前缀名
  14. 我的第一份实习工作结束了!!!
  15. 前端,通过面试去学习,开放问题(个人对前端发展的理解、项目难点、项目亮点、最复杂的逻辑、团队协作冲突问题、HR面试问题)
  16. ASP.NET微信群机器人管家系统,源码分享
  17. Font Awesome文字图标的使用
  18. 如何进行APP抓包 ? - 学习/实践
  19. linux格式化时设备或资源忙,Linux下使用fdisk命令和partprobe命令,在不重启系统的状况下新建分区并格式化...
  20. kmcuda: GPU加速 Kmeans

热门文章

  1. DIV + CSS 学习笔记(盒模型)
  2. 数据结构和算法(十)递归-迷宫游戏
  3. ZOJ3587 Marlon's String
  4. ArchLinux安装完成登陆时出现login incorrect错误
  5. 孤立词语音识别(1)——利用HMM-GMM模型实现数字识别(完整收发系统)
  6. EditPlus 5.0.651 中文版
  7. 计算贷款的每月支付额。程序要求用户输入贷款的年利率、总金额 和年数,程序计算每月支付金额,并将结果显示输出。计算贷款的月支付额公式如下:(Java课本练习题 题目要求 )
  8. 《浪潮之巅》作者吴军:把握技术革命的浪尖
  9. vue搜索关键字标红
  10. 【高德LBS开源组件大赛】地震来了