
3步搞定B站视频解析PHP把BV号变成播放地址【免费下载链接】bilibili-parsebilibili Video API项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parsebilibili-parse 是一个开源的 PHP 项目核心功能只有一句话把 B 站视频的 BV 号、AV 号或剧集编号解析成真正能播放、能下载的视频直链。它小到只有一个核心类文件大到可以自己搭一个B站视频解析 API全程不用抓包、不用手抄网页源码。想下载B站视频却没按钮你要的其实是直链小周是培训机构的讲师。他要给学员放一个 B 站上的实操教程可教室网络不稳定在线播放老是转圈。他想把视频下载下来却发现B 站网页上根本没有下载按钮第三方工具不是收费就是弹广告复制地址栏里的链接存进收藏夹点开的却还是那个网页播放器。你是不是也有同感其实你缺的不是什么高科技下载器而是一个视频的取件码。把它想象成收快递就很好懂了BV 号、AV 号是贴在视频上的快递单号B 站的服务器是发货仓库而视频的真实播放地址也就是直链是取件码。bilibili-parse 干的事就是你递给它一个单号它去仓库里找到对应包裹然后把取件码递给你。你拿着这个取件码想下载就下载想嵌进自己的网站就嵌进去再也不用看那个只给看的播放页脸色。B站视频解析工具能做什么30秒看懂核心价值别急着啃原理先看投入产出你给它它还你一个 BV 号或 av 号、剧集编号一条真实可用的视频直链想要的分辨率16/32/64/80 等该视频当前支持的最高画质地址想要的格式flv/dash/mp4对应格式的播放链接想看的第几 P那一 P 的直链输出方式json/url/dplayer结构化数据、纯链接或现成播放器页一次请求就能拿到一条能直接用的视频地址。B 站接口怎么签名、返回数据里哪些字段才是真地址这些脏活累活全封装在src/Bilibili.php一个文件里你不需要懂任何一行加密逻辑。B站视频解析3步上手最快跑通最小示例技术讲人话上手即成功。先别管那些参数按下面三步走五分钟内你就能看到一条真直链。第1步确认环境够用项目要求 PHP 5.4 以上并装好 Curl 与 OpenSSL 扩展。命令行跑一句验证php -v php -m | grep -E curl|openssl能看到 PHP 版本和curl、openssl两个单词环境就齐了。第2步把项目放到服务器git clone https://gitcode.com/gh_mirrors/bi/bilibili-parse把整个目录放进你的网站根目录确认index.php、src/、public/结构完整即可。第3步访问接口看见直链在浏览器里打开这样一个地址http://你的域名/index.php?av14661594p1q64otypejson一切正常的话你会看到一段 JSON里面有一串以https://开头的url——这就是那条视频的直链。把它复制到迅雷、IDM 或任意下载器里视频就能下载了。 小贴士av、bv、ep三个参数选一个传就行。BV 号去哪找视频页网址栏里形如BV1xx...的那串就是直接复制。B站视频直链获取的三个真实场景跑通一次之后参数到底怎么配给你三个真实场景照抄就行。场景一自己离线下载要画质好、通用性强想把视频存到手机或平板推荐输出 mp4 直链/index.php?bvBV1xx4y1x7zzformatmp4otypeurlotypeurl让页面直接输出一行纯链接方便复制进下载工具formatmp4是最通用的格式几乎任何播放器和下载器都认识它。场景二给学习平台批量集成要效率高、请求少如果你在做一个课程平台需要循环解析一批视频地址重点有两个用 json 输出方便程序处理再打开缓存。缓存会把同一视频的解析结果保存一小时热门课程就不会反复去打扰 B 站接口/index.php?av14661594p1formatdashotypejson场景三解析番剧或付费课程普通视频和番剧走的是不同接口用type参数切换/index.php?ep123456typebangumiq32otypejson番剧用ep号配typebangumi课程用typecheese。需要会员的内容没有会员权限时大概率会返回清晰度受限或无访问权限这是 B 站服务端的限制工具本身解不开也别指望绕过。B站视频解析失败排查新手常踩的5个坑提示视频清晰度受限可能需要会员你要求的画质超出视频允许范围。先降级q64不行就试q32大多能解决。多 P 视频永远只返回第一集记得传p参数p2就是第二集别漏。返回空 url 或获取信息失败先确认视频编号有没有复制错再试试 av 和 bv 互换——有些老视频只支持 av 号。开启缓存后报错文件缓存默认写到cache/cid/目录这个目录不存在或没有写权限时先手动建好目录再开启缓存。DPlayer 播放器不出画面otypedplayer只支持 mp4 格式确保同时带了formatmp4。 小贴士排查时做减法。把参数砍到只剩 av或 bv和otypejson能跑通再逐步加参数这样出问题能立刻定位是哪个环节。PHP集成B站视频解析的完整示例代码想把它集成到自己的 PHP 项目里参考这份最简示例?php require __DIR__ . /src/Bilibili.php; // 引入核心类 use Injahow\Bilibili; $bp new Bilibili(video); // video普通视频 / bangumi番剧 / cheese课程 $bp-bvid(BV1xx4y1x7zz) // 视频标识av/bv/ep 任选 -page(1) // 第几P默认1 -quality(64) // 目标清晰度不满足会自动降级 -format(mp4) // flv/dash/mp4 三选一 -cache(true) // 开启缓存减少重复请求 -cache_time(3600); // 缓存有效期1小时 $result json_decode($bp-result(), true); if ($result[code] 0) { echo 视频直链 . $result[url]; // 拿到直链随意使用 } else { echo 解析失败 . $result[message]; }整个用法就是链式调用配置参数最后用result()取结果。打开缓存后同一个视频一小时内的重复解析会直接命中本地缓存接口压力小得多适合循环处理大批量视频。动手前的合规提醒与行动清单最后把丑话说在前面也把下一步行动说清楚。合规提醒这个工具只负责把 B 站公开接口返回的信息整理成可读直链它无法也无意绕过任何会员限制。请只把它用于个人学习、研究或自有平台的合法集成不要批量爬取、二次分发或转售他人视频内容务必尊重创作者版权遵守 B 站用户协议和相关法律法规。你的行动清单在本机或服务器上部署项目用一个 BV 号跑通最小示例试着解析一个多 P 视频体会p参数的用法打开缓存对比第二次请求是不是明显更快把示例代码改造成你自己的批量解析脚本比如逐行读取视频清单。最后一句那些看着高深的原理往往是从一条命令、一个链接跑通开始的。你离把 B 站视频变成自己可用的资源只差一次动手的距离——去跑跑不通就按上面的坑逐个排查。今天的每一步都会变成你明天信手拈来的经验。【免费下载链接】bilibili-parsebilibili Video API项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考