突然之间,我们的B站视频播放失效了。之前直接使用的ibilibili,发现它的低清版本视频无法正常加载了。后来加上它的公众号,才发现,都不容易,十分感谢ibilibili站站长多年的坚持,尤其是听到他说这个站点每天受到几千人的攻击时。ibilibili站提供的高清视频下载器,下载m4s文件,最后再用ffmpeg转成mp4。
对于我们而言,视频的清晰度并不重要,我们需要播放直链,仅仅是为了播放和预览视频。下载B站视频本身并不是一个难事,所以下文我将首先介绍如何获取低清版直链,然后谈谈高清版下载如何是实现。

如果你对这方面有兴趣,可以和我们群交流学习,共同进步

695623459

之前,通过下面的文章,实现了B站视频在其他站点的快速预览和播放。大大地方便了对素材的快速选择。之前的源地址获取接口失效后,急需一种新的获取方式。

  • Bilibili播放-获取B站播放视频源地址的过程
  • bilibili ,B站视频预览缩略图实现分析
  • Bilibili,B站视频缩略图快速预览实现再分析

1.播放源获取

通过伪装移动UA请求网页,如下

curl 'https://m.bilibili.com/video/av70663655.html?from=search'
-H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
--compressed

得到的请求结果中,找到下面这段关键信息

window.__INITIAL_STATE__ = {"playingMedia": "","reduxAsyncConnect": {"loaded": true,"loadState": {"videoTag": {"loading": false,"loaded": true,"error": null},"videoInfo": {"loading": false,"loaded": true,"error": null}},"videoTag": [{"tag_id": 389808,"tag_name": "音乐现场","cover": "http://i0.hdslb.com/bfs/archive/e86c8d10377e534b8a1617280c8cef62ae62c30c.jpg","head_cover": "http://i0.hdslb.com/bfs/archive/3a8bc72ebc670579a0b97b68b973d8e5ed495b24.jpg","content": "收录音乐实况表演视频,和音乐来一次最本质的亲密接触","short_content": "和音乐来一次最本质的亲密接触","type": 3,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 136254,"atten": 62981},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 11687,"tag_name": "综艺","cover": "http://i0.hdslb.com/bfs/archive/e3c3689f4246c3a7c70f63ed79a786faf28a8ffe.png","head_cover": "","content": "","short_content": "","type": 3,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 976243,"atten": 181572},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 58183,"tag_name": "真人秀","cover": "","head_cover": "","content": "","short_content": "","type": 3,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 144418,"atten": 44876},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 9374,"tag_name": "HIPHOP","cover": "","head_cover": "","content": "","short_content": "","type": 3,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 98376,"atten": 67805},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 11905832,"tag_name": "Rhythm + Flow:Rapper","cover": "","head_cover": "","content": "","short_content": "","type": 1,"state": 0,"ctime": 1569454310,"count": {"view": 0,"use": 1,"atten": 1},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 21297,"tag_name": "嘻哈","cover": "","head_cover": "","content": "","short_content": "","type": 0,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 48813,"atten": 2951},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 82755,"tag_name": "饶舌","cover": "","head_cover": "","content": "","short_content": "","type": 0,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 5844,"atten": 406},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 401568,"tag_name": "NETFLIX","cover": "","head_cover": "","content": "","short_content": "","type": 0,"state": 0,"ctime": 1436866637,"count": {"view": 0,"use": 2656,"atten": 591},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}, {"tag_id": 6782056,"tag_name": "嘻哈王","cover": "","head_cover": "","content": "","short_content": "","type": 0,"state": 0,"ctime": 1522744265,"count": {"view": 0,"use": 625,"atten": 1},"is_atten": 0,"likes": 0,"hates": 0,"attribute": 0,"liked": 0,"hated": 0}],"videoInfo": {"bvid": "BV1bE411f72E","aid": 70663655,"videos": 4,"tid": 71,"tname": "综艺","copyright": 2,"pic": "http://i0.hdslb.com/bfs/archive/7675affb657fc8f2e6beb84a533d86512a8c4202.jpg","title": "【美国有嘻哈】《嘻哈星节奏|Rhythm + Flow》|英语中字|卡迪·B / T.I. / 钱斯勒|NETFLIX|持续更新","pubdate": 1570612692,"ctime": 1570612692,"desc": "Netflix\n国际巨星卡迪·B、饶舌钱斯勒、TI蒂普·哈里斯齐聚一堂,在Netflix 的首部音乐竞赛节目《嘻哈星节奏》中物色下一代亮眼嘻哈新秀。本节目邀来业界传奇人物共襄盛举,穿越数座城市,到洛杉矶、纽约、亚特兰大和芝加哥等嘻哈重镇挖掘才华洋溢的新人,并帮助这些未成名的艺术家崭露头角。","state": 0,"attribute": 2113859,"duration": "03:37:32","rights": {"bp": 0,"elec": 0,"download": 1,"movie": 0,"pay": 0,"hd5": 1,"no_reprint": 0,"autoplay": 1,"ugc_pay": 0,"is_cooperation": 0,"ugc_pay_preview": 0},"owner": {"mid": 314790542,"name": "Coun4","face": "http://i1.hdslb.com/bfs/face/912697005111fde1a42ef83f390da30fc17a69a6.jpg"},"stat": {"aid": 70663655,"view": 86398,"danmaku": 5017,"reply": 253,"favorite": 3552,"coin": 957,"share": 2245,"now_rank": 0,"his_rank": 0,"like": 1917,"dislike": 0,"evaluation": ""},"dynamic": "#嘻哈星节奏##嘻哈王##Rhythm + Flow:Rapper#\n热爱音乐,平凡的你一样可以拥有不平凡的人生。\n给你展示自我的舞台,废话不多说,It's Showtime!\nRespect, peace & love.","cid": 122426590,"dimension": {"width": 1920,"height": 1080,"rotate": 0},"no_cache": false,"pages": [{"cid": 122426590,"page": 1,"from": "vupload","part": "EP01. 洛杉矶选秀","duration": 3465,"vid": "","weblink": "","dimension": {"width": 1920,"height": 1080,"rotate": 0}}, {"cid": 122427982,"page": 2,"from": "vupload","part": "EP02. 纽约选秀","duration": 3133,"vid": "","weblink": "","dimension": {"width": 1920,"height": 1080,"rotate": 0}}, {"cid": 122429123,"page": 3,"from": "vupload","part": "EP03. 亚特兰大选秀","duration": 3181,"vid": "","weblink": "","dimension": {"width": 1920,"height": 1080,"rotate": 0}}, {"cid": 122430489,"page": 4,"from": "vupload","part": "EP04. 芝加哥选秀","duration": 3273,"vid": "","weblink": "","dimension": {"width": 1920,"height": 1080,"rotate": 0}}],"subtitle": {"allow_submit": false,"list": [{"id": 16997718492708868,"lan": "zh-Hant","lan_doc": "中文(繁体)","is_lock": false,"subtitle_url": "http://i0.hdslb.com/bfs/subtitle/9395320795b484c45173b13ff2736355ad112dc7.json","author": {"mid": 0,"name": "","sex": "","face": "","sign": "","rank": 0,"birthday": 0}}, {"id": 16997839878488068,"lan": "en-US","lan_doc": "英语(美国)","is_lock": false,"subtitle_url": "http://i0.hdslb.com/bfs/subtitle/1ba653423487d65de099e55bd452ceace3a25919.json","author": {"mid": 0,"name": "","sex": "","face": "","sign": "","rank": 0,"birthday": 0}}, {"id": 16998625400324098,"lan": "zh-Hans","lan_doc": "中文(简体)","is_lock": false,"subtitle_url": "http://i0.hdslb.com/bfs/subtitle/d99b718d326043dc16772b8f7e534ec68fc70880.json","author": {"mid": 0,"name": "","sex": "","face": "","sign": "","rank": 0,"birthday": 0}}]},"originTitle": "【美国有嘻哈】《嘻哈星节奏|Rhythm + Flow》|英语中字|卡迪·B / T.I. / 钱斯勒|NETFLIX|持续更新","reid": 5,"toptype": "娱乐","initUrl": "//upos-hz-mirrorks3u.acgvideo.com/upgcxcode/90/65/122426590/122426590-1-6.mp4?e=ig8euxZM2rNcNbuVhwdVtWuVhwdVNEVEuCIv29hEn0l5QK==&uipk=5&nbs=1&deadline=1570938144&gen=playurl&os=ks3u&oi=3742040479&trid=06d1dfd471d34b8eb40c4cee6c79531ah&platform=html5&upsig=904b08c9cd9418a8acfd4384c8b05a30&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0","status": "normal","initCid": 122426590,"initDuration": 3465,"initPage": 1}},"authInfo": "","listInfo": "","audioReducer": null,"audiolistReducer": null,"experiment": {"normal": "experiment","newOpenApp": 1,"videoHlv": "1"},"abserver": {"errorCode": 0,"expire": 1570931544623,"hit": {"hitGroup": "768_683_822"},"vars": [{"force": 0,"group": 768,"name": "playblock_dialog","value": 1}, {"force": 0,"group": 683,"name": "H5_download_ex","value": 0}, {"force": 0,"group": 822,"name": "copylink_abtest","value": 1}]},"videoReducer": null,"videoTag": "","rankingInfo": 0,"keywordInfo": "","pageTitle": "","partitionList": "","tagInfo": "","tagVideos": "","tagSimilar": "","userStatus": "","status": "","forbidden": false,"videoState": "init","gameMode": ""
};

这其中的

"initUrl": "//upos-hz-mirrorks3u.acgvideo.com/upgcxcode/90/65/122426590/122426590-1-6.mp4?e=ig8euxZM2rNcNbuVhwdVtWuVhwdVNEVEuCIv29hEn0l5QK==&uipk=5&nbs=1&deadline=1570938144&gen=playurl&os=ks3u&oi=3742040479&trid=06d1dfd471d34b8eb40c4cee6c79531ah&platform=html5&upsig=904b08c9cd9418a8acfd4384c8b05a30&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0"

就是一个用于播放的链接,定位到一个mp4文件。在某些浏览器中该文件是没有办法播放,是由于reffer检查,如果要将该链接引入到其他站点播放,则需要设置成 no-reffer。

2.高清下载

you-get 想必很多人都熟悉了。

ucsheep@ucsheep-B250M-D2V:~$ you-get -u https://www.bilibili.com/video/av53788919?from=search&seid=18263359557066961621
[1] 6330
ucsheep@ucsheep-B250M-D2V:~$ site:                Bilibili
title:               初夏鞋子合集 | Shoes Collection | Meng Mao
stream:- format:        dash-flvcontainer:     mp4quality:       高清 1080Psize:          93.0 MiB (97562752 bytes)# download-with: you-get --format=dash-flv [URL]User Agent: Python-urllib/3.5
Real URLs:
http://upos-hz-mirrorwcsu.acgvideo.com/upgcxcode/12/76/94087612/94087612-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1570938738&gen=playurl&os=wcsu&oi=3742040479&trid=aea76d5dd80e481b991f0493f08f002eu&platform=pc&upsig=b6c4a378a7de6e8ce1148acb2c2f5879&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0
http://upos-hz-mirrorcosu.acgvideo.com/upgcxcode/12/76/94087612/94087612-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1570938738&gen=playurl&os=cosu&oi=3742040479&trid=aea76d5dd80e481b991f0493f08f002eu&platform=pc&upsig=44e8b21648f11edead3b09f784030012&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0[1]+  已完成               you-get -u https://www.bilibili.com/video/av53788919?from=search

Real URLs:中包含m4s文件链接

但是要下载,只需要 you-get URL 即可,如下。

you-get https://www.bilibili.com/video/av53788919?from=search&seid=18263359557066961621

这篇文章诞生,感谢网友

(新)B站视频播放源地址获取及B站视频下载相关推荐

  1. Python3 获取B站经blob处理后的真实视频下载地址【blob:https://】

    参考:https://blog.csdn.net/jay_wonder/article/details/89365133 这种blob的url格式是基于JavaScript加密而成,无法在浏览器直接访 ...

  2. 获取网页中的视频下载地址(利用抓包)

    根据上篇文章的思路,我用了监听网卡流量的方式来改进了我的程序.速度得到了大大的提升. 思路 下图是我用wireshark做的实验.把请求路径中带.mp4, .flv的请求留下来,得到的就是请求的视频资 ...

  3. 获取百度网盘视频下载地址

    1,用浏览器打开百度网盘 2,显示页面源文件 3,清楚网络部分内容 4,点击下载 5,网络部分从download找到视频下载地址 转载于:https://www.cnblogs.com/luoxiao ...

  4. pyQT 视频播放器(三) 实现视频截图、获取每一帧数据

    pyQT 视频播放器(三) 实现视频截图.获取每一帧数据 背景 方法调研 详细代码说明 最终效果 总结: 参考资料 背景 在 "PyQt5 实现视频播放器(二) ,详细版本 ,适合新手入门& ...

  5. B站直播弹幕获取 - 用python写一个B站弹幕姬吧

    前言 关于这个小项目的由来. 最开始是想要利用b站的弹幕进行一些互动之类的.原本也有想过可以利用现有的弹幕姬做个插件来解决的,但无奈不会C#,所以只能自己研究b站的弹幕协议. 后来有写过一个C++版本 ...

  6. 干货分享:高效办公工具【视频转文字、视频播放器、B站视频下载软件、贴图、截图提取文字并翻译、笔记记录软件、任务管理网站】

    高效办公工具分享--视频转文字.视频播放器.B站视频下载软件.贴图.截图提取文字并翻译.笔记记录软件.任务管理网站 一 前言 二.下载链接及效果 1.视频自动转文字-飞书妙记(目前免费使用!!) 2. ...

  7. 视频URL地址获取神器:疯狂URL 视频及直播源地址获取

    关于wireshark的介绍我就不罗嗦了,非常牛也是使用频率超高的网络资源捕获工具,基本上通过网卡的数据包都能获取到. 今天我们主要介绍一款新的软件:疯狂URL,通过我个人测试发现,它可以很方便的捕获 ...

  8. php获取搜索框的函数,php获取搜索引擎入站关键词的函数

    本文介绍下,一段可以获取搜索引擎入站关键词的代码,有需要的朋友参考下. 代码如下: 0) { $start=stripos($url,'&'); $s_s_keyword=substr($ur ...

  9. 菜鸟建站别发愁,省钱建站新攻略!

    菜鸟建站别发愁,省钱建站新攻略! 今天心情不错,来论坛逛逛啦..今天受到领导的高度,哈哈.因为我帮他解决了一个难题了啦.说实话,我们老板是比较小气的,之前一直在网页制作公司做网站,一直都觉得别人报价过 ...

最新文章

  1. MVC的增删改和Razor
  2. Linux_基础指令
  3. gdb core调试
  4. C#模拟http 发送post或get请求
  5. 地图投影系列介绍(一)----地球空间模型
  6. 1D/1D动态规划的三种优化方法
  7. C#数据结构-稀疏矩阵
  8. 活到老,学到老!各大厂数据库技术解决方案来了
  9. BUAAOO——UNIT2 SUMMARY
  10. solr查询如何支持多个fq 多条件查询
  11. opencv-python版本问题
  12. 有关office2016图标显示异常的解决办法(亲测一天,终于解决!!!!)
  13. 《机器学习》学习笔记
  14. 四参数旋转角异常,平面坐标方位角不准确的问题
  15. 学大数据应该会什么?
  16. OnlyOffice快速入门
  17. Android中MVP框架理解
  18. mysql笔记(一):Navicat for MySQL远程连接mysql服务报错的解决方法(1130、2509)
  19. linux查看磁盘空间大小(du)
  20. HTML5和CSS3开发第九章课后作业

热门文章

  1. python表达式3or5的值为_Python表达式10+5%3-True+False的值为____。
  2. 维数灾难:都是孤独惹的祸
  3. 利用node爬取王者荣耀英雄信息,并存入数据库
  4. 用python绘制小猪佩奇
  5. thinkadmin搜索功能/下拉选项
  6. ThreeJs 学习之旅(七)
  7. Docker容器映射端口方法
  8. 关于PEP8报too long问题的解决方式
  9. 极限中0除以常数_第六讲 极限的运算法则
  10. 【解决方法】ubuntu20 hp1020 打印机不识别无反应