JKVideo

tiajinshaMIT更新放缓

用 React Native 和 Expo 写的第三方 B 站客户端,支持弹幕、DASH 播放和视频播放器,界面做得挺好看,适合在手机上刷 B 站。

高颜值第三方 B 站 React Native 客户端

v1.0.19发布于 2026-05-12 13:55 UTC4,994star2,826fork同步于 2026-11-10 23:37 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/tiajinsha/JKVideo.git
cd JKVideo
npm install
npx expo start
硬件要求按 README 说明

README 未说明具体硬件要求;需 Android、iOS 或 Web 环境,iOS 编译需 macOS + Xcode,4K/1080P+ 需大会员账号登录。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

仿 B 站的高颜值 React Native 客户端,支持 DASH 播放、实时弹幕与直播

用 React Native 和 Expo 写的第三方 B 站客户端,支持弹幕、DASH 播放和视频播放器,界面做得挺好看,适合在手机上刷 B 站。

核心能力

  • 用 buildDashMpdUri 生成本地 MPD 走 ExoPlayer 原生解码
  • 视频弹幕按 XML 时间轴同步、5 车道飘屏覆盖
  • 直播弹幕走 WebSocket 实时接收并统计礼物
  • 纯 TypeScript 手写 MD5 实现 WBI 签名
  • 内置 HTTP 服务器生成局域网二维码分享下载

容易踩的坑

Expo Go 方式清晰度受限、播放降级为 WebView,完整 DASH 需用 npx expo run:android 打 Dev Build;Web 端图片需另跑 node scripts/proxy.js(端口 3001)绕过防盗链;项目已收到 B 站律师函并停止维护,仅作学习参考。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

2 个版本v1.0.19
  1. v1.0.19JKVideo v1.0.19最新正式版2026-05-12 · 2026-05-12 13:55 UTC
  2. v1.0.18JKVideo v1.0.182026-05-05 · 2026-05-05 04:34 UTC
    查看更新说明

    ⚠️ 重要公告 本项目已收到哔哩哔哩(bilibili)律师函,要求停止对 B 站 API 的调用及相关仿制行为。 为尊重知识产权及相关法律法规,本仓库即日起停止后续维护与更新,不再接受新的 Issue 和 Pull Request。 现有代码仅作学习参考保留,请勿将本项目用于任何商业或违法用途。 感谢所有支持过本项目的朋友。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    JKVideo

    高颜值第三方 B 站 React Native 客户端

    A feature-rich Bilibili-like app with DASH playback, real-time danmaku, WBI signing & live streaming


    React Native Expo TypeScript License: MIT Platform

    English · 快速开始 · 功能亮点 · 贡献


    ⚠️ 重要公告

    本项目已收到哔哩哔哩(bilibili)律师函,要求停止对 B 站 API 的调用及相关仿制行为。

    为尊重知识产权及相关法律法规,本仓库即日起停止后续维护与更新,不再接受新的 Issue 和 Pull Request。

    现有代码仅作学习参考保留,请勿将本项目用于任何商业或违法用途。

    感谢所有支持过本项目的朋友。


    截图预览

    演示视频

    https://github.com/tiajinsha/JKVideo/releases/download/v1.0.0/6490dcd9dba9a243a7cd8f00359cc285.mp4


    功能亮点

    🎬 DASH 完整播放 Bilibili DASH 流 → buildDashMpdUri() 生成本地 MPD → ExoPlayer 原生解码,支持 1080P + 4K HDR杜比视界

    💬 完整弹幕系统 视频弹幕 XML 时间轴同步 + 5 车道飘屏覆盖;直播弹幕 WebSocket 实时接收 + 舰长标记 + 礼物计数

    🔐 WBI 签名实现 纯 TypeScript 手写 MD5,无任何外部加密依赖,nav 接口 12h 自动缓存

    🏠 智能首页排布 BigVideoCard 内联 DASH 静音自动播放 + 水平手势快进 + 直播卡片穿插 + 双列混排

    📺 全局迷你播放器 切换页面后底部浮层续播,VideoStore 跨组件状态同步

    🔑 扫码登录 二维码生成 + 2s 轮询 + 响应头 Cookie 自动提取 SESSDATA

    📥 下载 + 局域网分享 多清晰度后台下载,内置 HTTP 服务器生成局域网 QR 码,同 Wi-Fi 设备扫码直接播放

    🌐 跨平台运行 Android · iOS · Web,Expo Go 扫码 5 分钟运行,Dev Build 解锁完整 DASH 播放


    技术架构

    层技术
    框架React Native 0.83 + Expo SDK 55
    路由expo-router v4(文件系统路由,Stack 导航)
    状态管理Zustand
    网络请求Axios
    本地存储@react-native-async-storage/async-storage
    视频播放react-native-video(DASH MPD / HLS / MP4)
    降级播放react-native-webview(HTML5 video 注入)
    页面滑动react-native-pager-view
    图标@expo/vector-icons(Ionicons)

    快速开始

    方式一:Expo Go(5 分钟,无需编译)

    部分清晰度受限,视频播放降级为 WebView 方案

    git clone https://github.com/tiajinsha/JKVideo.git
    cd JKVideo
    npm install
    npx expo start
    

    用 Expo Go App(Android / iOS)扫描终端二维码即可运行。

    方式二:Dev Build(完整功能,推荐)

    支持 DASH 1080P+ 原生播放、完整弹幕系统

    npm install
    npx expo run:android   # Android
    npx expo run:ios       # iOS(需 macOS + Xcode)
    

    方式三:Web 端

    npm install
    npx expo start --web
    

    Web 端图片需本地代理服务器绕过防盗链:node scripts/proxy.js(端口 3001)

    直接安装(Android)

    前往 Releases 下载最新 APK,无需编译,安装即用。

    需在 Android 设置中开启「安装未知来源应用」


    项目结构

    app/
      index.tsx            # 首页(PagerView 热门/直播 Tab)
      video/[bvid].tsx     # 视频详情(播放 + 简介/评论/弹幕)
      live/[roomId].tsx    # 直播详情(HLS 播放 + 实时弹幕)
      search.tsx           # 搜索页
      downloads.tsx        # 下载管理页
      settings.tsx         # 设置页(画质 + 退出登录)
    
    components/            # UI 组件(播放器、弹幕、卡片等)
    hooks/                 # 数据 Hooks(视频列表、播放流、弹幕等)
    services/              # Bilibili API 封装(axios + Cookie 拦截)
    store/                 # Zustand 状态(登录、下载、播放、设置)
    utils/                 # 工具函数(格式化、图片代理、MPD 构建)
    

    已知限制

    限制原因
    4K / 1080P+ 需要大会员账号登录B 站 API 策略限制
    FLV 直播流不支持HTML5 / ExoPlayer 均不支持 FLV,已自动选 HLS
    Web 端需本地代理B 站图片防盗链(Referer 限制)
    动态流 / 投稿 / 点赞需要 bili_jct CSRF Token,暂未实现
    二维码 10 分钟过期关闭登录弹窗重新打开即可刷新

    贡献

    欢迎提交 Issue 和 PR!请先阅读 CONTRIBUTING.md。


    免责声明

    本项目仅供个人学习研究使用,不得用于商业用途。 所有视频内容版权归原作者及哔哩哔哩所有。 本项目与哔哩哔哩官方无任何关联。


    License

    MIT © 2026 JKVideo Contributors


    如果这个项目对你有帮助,欢迎点一个 ⭐ Star!


    请作者喝杯咖啡 ☕

    如果这个项目对你有所帮助,欢迎请作者喝杯咖啡,你的支持是持续开发的最大动力,感谢每一位愿意打赏的朋友!