JKVideo:從 tiajinsha/JKVideo README 讀懂功能入口與採用邊界
B 反應本機。高顏值第三方B站React Native客戶端
秒懂
- 它是什麼?
- tiajinsha/JKVideo 的 README 聚焦於 B React Native. High-looking third-party B station React Native client。本文整理其文件明列的能力、操作入口、部署條件與核驗重點,不延伸成素材沒有支持的保證。
- 適合誰用?
- JKVideo 適合需要 B React Native. High-looking third-party B station React Native client 且能管理其 master 分支文件、依賴與部署條件的團隊;不適合把 README 的功能描述當成完整服務保證的情境。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 127 天前。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
JKVideo:定位與 README 邊界
tiajinsha/JKVideo 的 README 在這一段提到:JKVideo 高颜值第三方 B 站 React Native 客户端 A feature-rich Bilibili-like app with DASH playback, real-time danmaku, WBI signing & live streaming --- 網址 網址 網址 LICENSE README.md English README.en.md · 快速开始 快速开始 · 功能亮点 功能亮点 · 贡献 CONTRIBUTING.md --- ️ 重要公告 本项目已收到 哔哩哔哩(bilibili)律师函 ,要求停止对 B 站 API 的调用及相关仿制行为。 为尊重知识产权及相关法律法规,本仓库 即日起停止后续维护与更新 ,不再接受新的 Issue 和 Pull Request。 现有代码仅作学习参考保留,请勿将本项目用于任何商业或违法用途。 感谢所有支持过本项目的朋友。 --- 截图预览 首页热门 · 内联视频 · 穿插直播 首页直播 ·。這些文字可直接用來界定 JKVideo 的工作對象與使用入口。文件沒有說明的效能、相容性、資料保存或安全承諾,不能由專案名稱或功能清單自行推導;這也是閱讀 tiajinsha/JKVideo 時最先要劃出的界線。
把 JKVideo 放進實際環境時,應對照 master 分支中的 README、設定檔與命令名稱,逐項記錄輸入、輸出和失敗訊息。tiajinsha/JKVideo 的這個面向尤其要看 JKVideo 高颜值第三方 B 站 React Native 客户端 A feature-rich Bilibili-like app with DASH playback, r;若該段落只描述方向而沒有完整步驟,就把缺少的條件列為未知,不以推測補齊。這樣才能分辨 JKVideo 本身的行為、主機環境差異與使用方式錯誤。
對 JKVideo 而言,第 1 節的實際判讀要落在可觀察的對象:保留 tiajinsha/JKVideo 的命令列回傳值、設定檔名稱、輸出檔案或服務網址,並把成功與失敗案例分開。若 README 提到 留,请勿将本项目用于任何商业或违法用途。 感谢所有支持过本项目的朋友。 --- 截图预览 首页热门 · 内联视频 · 穿插直播 首页直播 ·,就以該記號作為檢查起點,不把相鄰工具的能力算到 JKVideo 名下。這種紀錄也能在 master 更新後快速找出行為變化。
採用 JKVideo 前,先確認它需要的執行時期、權限、網路連線和外部服務,再用第 1 組小型輸入重跑本節涉及的入口。觀察 tiajinsha/JKVideo 的日誌、產物和錯誤訊息是否互相一致;若其中一項不符合 README 的敘述,就暫停擴大範圍,釐清是版本、設定還是平台造成差異。
JKVideo:主要入口如何串起來
tiajinsha/JKVideo 的 README 在這一段提到: 关注房间· 分区筛选 直播详情 · 4K HDR · 多清晰度 下载管理 · 局域网分享二维码 直播详情 ·实时弹幕 · 清晰度切换 视频弹幕 · 同步加载 演示视频 網址 --- 功能亮点 DASH 完整播放 Bilibili DASH 流 → buildDashMpdUri 生成本地 MPD → ExoPlayer 原生解码,支持 1080P + 4K HDR杜比视界 完整弹幕系统 视频弹幕 XML 时间轴同步 + 5 车道飘屏覆盖;直播弹幕 WebSocket 实时接收 + 舰长标记 + 礼物计数 WBI 签名实现 纯 TypeScript 手写 MD5,无任何外部加密依赖,nav 接口 12h 自动缓存 智能首页排布 BigVideoCard 内联 DASH 静音自动播放 + 水平手势快进 + 直播卡片穿插 + 双列混排 全局迷你播放器 切换页面后底部浮层续播,VideoStore 跨组件状态同步 扫码登录 二维码生成 + 2s 轮询 + 响应头 Cooki。這些文字可直接用來界定 JKVideo 的工作對象與使用入口。文件沒有說明的效能、相容性、資料保存或安全承諾,不能由專案名稱或功能清單自行推導;這也是閱讀 tiajinsha/JKVideo 時最先要劃出的界線。
把 JKVideo 放進實際環境時,應對照 master 分支中的 README、設定檔與命令名稱,逐項記錄輸入、輸出和失敗訊息。tiajinsha/JKVideo 的這個面向尤其要看 关注房间· 分区筛选 直播详情 · 4K HDR · 多清晰度 下载管理 · 局域网分享二维码 直播详情 ·实时弹幕 · 清晰度切换 视频弹幕 · 同步加载 演示视频 網址 --;若該段落只描述方向而沒有完整步驟,就把缺少的條件列為未知,不以推測補齊。這樣才能分辨 JKVideo 本身的行為、主機環境差異與使用方式錯誤。
對 JKVideo 而言,第 2 節的實際判讀要落在可觀察的對象:保留 tiajinsha/JKVideo 的命令列回傳值、設定檔名稱、輸出檔案或服務網址,並把成功與失敗案例分開。若 README 提到 全局迷你播放器 切换页面后底部浮层续播,VideoStore 跨组件状态同步 扫码登录 二维码生成 + 2s 轮询 + 响应头 Cooki,就以該記號作為檢查起點,不把相鄰工具的能力算到 JKVideo 名下。這種紀錄也能在 master 更新後快速找出行為變化。
採用 JKVideo 前,先確認它需要的執行時期、權限、網路連線和外部服務,再用第 2 組小型輸入重跑本節涉及的入口。觀察 tiajinsha/JKVideo 的日誌、產物和錯誤訊息是否互相一致;若其中一項不符合 README 的敘述,就暫停擴大範圍,釐清是版本、設定還是平台造成差異。
JKVideo:資料與設定的落點
tiajinsha/JKVideo 的 README 在這一段提到:e 自动提取 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-ic。這些文字可直接用來界定 JKVideo 的工作對象與使用入口。文件沒有說明的效能、相容性、資料保存或安全承諾,不能由專案名稱或功能清單自行推導;這也是閱讀 tiajinsha/JKVideo 時最先要劃出的界線。
把 JKVideo 放進實際環境時,應對照 master 分支中的 README、設定檔與命令名稱,逐項記錄輸入、輸出和失敗訊息。tiajinsha/JKVideo 的這個面向尤其要看 e 自动提取 SESSDATA 下载 + 局域网分享 多清晰度后台下载,内置 HTTP 服务器生成局域网 QR 码,同 Wi-Fi 设备扫码直接播放 跨平台运行 Android ·;若該段落只描述方向而沒有完整步驟,就把缺少的條件列為未知,不以推測補齊。這樣才能分辨 JKVideo 本身的行為、主機環境差異與使用方式錯誤。
對 JKVideo 而言,第 3 節的實際判讀要落在可觀察的對象:保留 tiajinsha/JKVideo 的命令列回傳值、設定檔名稱、輸出檔案或服務網址,並把成功與失敗案例分開。若 README 提到 ebview(HTML5 video 注入) 页面滑动 react-native-pager-view 图标 @expo/vector-ic,就以該記號作為檢查起點,不把相鄰工具的能力算到 JKVideo 名下。這種紀錄也能在 master 更新後快速找出行為變化。
採用 JKVideo 前,先確認它需要的執行時期、權限、網路連線和外部服務,再用第 3 組小型輸入重跑本節涉及的入口。觀察 tiajinsha/JKVideo 的日誌、產物和錯誤訊息是否互相一致;若其中一項不符合 README 的敘述,就暫停擴大範圍,釐清是版本、設定還是平台造成差異。
JKVideo:部署時真正會遇到的取捨
tiajinsha/JKVideo 的 README 在這一段提到:ons(Ionicons) --- 快速开始 方式一:Expo Go(5 分钟,无需编译) 部分清晰度受限,视频播放降级为 WebView 方案 bash git clone 網址 cd JKVideo npm install npx expo start 用 Expo Go App( Android 網址 / iOS 網址 方式二:Dev Build(完整功能,推荐) 支持 DASH 1080P+ 原生播放、完整弹幕系统 bash npm install npx expo run:android Android npx expo run:ios iOS(需 macOS + Xcode) 方式三:Web 端 bash npm install npx expo start --web Web 端图片需本地代理服务器绕过防盗链: node scripts/proxy.js (端口 3001) 直接安装(Android) 前往 Releases 網址 下载最新 APK,无需。這些文字可直接用來界定 JKVideo 的工作對象與使用入口。文件沒有說明的效能、相容性、資料保存或安全承諾,不能由專案名稱或功能清單自行推導;這也是閱讀 tiajinsha/JKVideo 時最先要劃出的界線。
把 JKVideo 放進實際環境時,應對照 master 分支中的 README、設定檔與命令名稱,逐項記錄輸入、輸出和失敗訊息。tiajinsha/JKVideo 的這個面向尤其要看 ons(Ionicons) --- 快速开始 方式一:Expo Go(5 分钟,无需编译) 部分清晰度受限,视频播放降级为 WebView 方案 bash git clone 網址;若該段落只描述方向而沒有完整步驟,就把缺少的條件列為未知,不以推測補齊。這樣才能分辨 JKVideo 本身的行為、主機環境差異與使用方式錯誤。
對 JKVideo 而言,第 4 節的實際判讀要落在可觀察的對象:保留 tiajinsha/JKVideo 的命令列回傳值、設定檔名稱、輸出檔案或服務網址,並把成功與失敗案例分開。若 README 提到 de scripts/proxy.js (端口 3001) 直接安装(Android) 前往 Releases 網址 下载最新 APK,无需,就以該記號作為檢查起點,不把相鄰工具的能力算到 JKVideo 名下。這種紀錄也能在 master 更新後快速找出行為變化。
採用 JKVideo 前,先確認它需要的執行時期、權限、網路連線和外部服務,再用第 4 組小型輸入重跑本節涉及的入口。觀察 tiajinsha/JKVideo 的日誌、產物和錯誤訊息是否互相一致;若其中一項不符合 README 的敘述,就暫停擴大範圍,釐清是版本、設定還是平台造成差異。
JKVideo:維護、授權與風險訊號
tiajinsha/JKVideo 的 README 在這一段提到:编译,安装即用。 需在 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 。這些文字可直接用來界定 JKVideo 的工作對象與使用入口。文件沒有說明的效能、相容性、資料保存或安全承諾,不能由專案名稱或功能清單自行推導;這也是閱讀 tiajinsha/JKVideo 時最先要劃出的界線。
把 JKVideo 放進實際環境時,應對照 master 分支中的 README、設定檔與命令名稱,逐項記錄輸入、輸出和失敗訊息。tiajinsha/JKVideo 的這個面向尤其要看 编译,安装即用。 需在 Android 设置中开启「安装未知来源应用」 --- 项目结构 app/ index.tsx 首页(PagerView 热门/直播 Tab) video/;若該段落只描述方向而沒有完整步驟,就把缺少的條件列為未知,不以推測補齊。這樣才能分辨 JKVideo 本身的行為、主機環境差異與使用方式錯誤。
對 JKVideo 而言,第 5 節的實際判讀要落在可觀察的對象:保留 tiajinsha/JKVideo 的命令列回傳值、設定檔名稱、輸出檔案或服務網址,並把成功與失敗案例分開。若 README 提到 格式化、图片代理、MPD 构建) --- 已知限制 限制 原因 --- --- 4K / 1080P+ 需要大会员账号登录 B 站 API ,就以該記號作為檢查起點,不把相鄰工具的能力算到 JKVideo 名下。這種紀錄也能在 master 更新後快速找出行為變化。
採用 JKVideo 前,先確認它需要的執行時期、權限、網路連線和外部服務,再用第 5 組小型輸入重跑本節涉及的入口。觀察 tiajinsha/JKVideo 的日誌、產物和錯誤訊息是否互相一致;若其中一項不符合 README 的敘述,就暫停擴大範圍,釐清是版本、設定還是平台造成差異。
JKVideo:專案化核驗路徑
tiajinsha/JKVideo 的 README 在這一段提到:策略限制 FLV 直播流不支持 HTML5 / ExoPlayer 均不支持 FLV,已自动选 HLS Web 端需本地代理 B 站图片防盗链(Referer 限制) 动态流 / 投稿 / 点赞 需要 bili jct CSRF Token,暂未实现 二维码 10 分钟过期 关闭登录弹窗重新打开即可刷新 --- 贡献 欢迎提交 Issue 和 PR!请先阅读 CONTRIBUTING.md CONTRIBUTING.md 。 --- 免责声明 本项目仅供个人学习研究使用,不得用于商业用途。 所有视频内容版权归原作者及哔哩哔哩所有。 本项目与哔哩哔哩官方无任何关联。 --- License MIT LICENSE © 2026 JKVideo Contributors --- 如果这个项目对你有帮助,欢迎点一个 ⭐ Star! --- 请作者喝杯咖啡 如果这个项目对你有所帮助,欢迎请作者喝杯咖啡,你的支持是持续开发的最大动力,感谢每一位愿意打赏的朋友! 微信支付 支付宝。這些文字可直接用來界定 JKVideo 的工作對象與使用入口。文件沒有說明的效能、相容性、資料保存或安全承諾,不能由專案名稱或功能清單自行推導;這也是閱讀 tiajinsha/JKVideo 時最先要劃出的界線。
把 JKVideo 放進實際環境時,應對照 master 分支中的 README、設定檔與命令名稱,逐項記錄輸入、輸出和失敗訊息。tiajinsha/JKVideo 的這個面向尤其要看 策略限制 FLV 直播流不支持 HTML5 / ExoPlayer 均不支持 FLV,已自动选 HLS Web 端需本地代理 B 站图片防盗链(Referer 限制) 动态流 / ;若該段落只描述方向而沒有完整步驟,就把缺少的條件列為未知,不以推測補齊。這樣才能分辨 JKVideo 本身的行為、主機環境差異與使用方式錯誤。
對 JKVideo 而言,第 6 節的實際判讀要落在可觀察的對象:保留 tiajinsha/JKVideo 的命令列回傳值、設定檔名稱、輸出檔案或服務網址,並把成功與失敗案例分開。若 README 提到 - 请作者喝杯咖啡 如果这个项目对你有所帮助,欢迎请作者喝杯咖啡,你的支持是持续开发的最大动力,感谢每一位愿意打赏的朋友! 微信支付 支付宝,就以該記號作為檢查起點,不把相鄰工具的能力算到 JKVideo 名下。這種紀錄也能在 master 更新後快速找出行為變化。
採用 JKVideo 前,先確認它需要的執行時期、權限、網路連線和外部服務,再用第 6 組小型輸入重跑本節涉及的入口。觀察 tiajinsha/JKVideo 的日誌、產物和錯誤訊息是否互相一致;若其中一項不符合 README 的敘述,就暫停擴大範圍,釐清是版本、設定還是平台造成差異。
編輯結論
JKVideo 適合需要 B React Native. High-looking third-party B station React Native client 且能管理其 master 分支文件、依賴與部署條件的團隊;不適合把 README 的功能描述當成完整服務保證的情境。採用前先依 tiajinsha/JKVideo 的 README 執行最小入口,記錄版本、設定檔、輸入、輸出及錯誤,再決定是否擴大使用。
社群筆記