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

  • 享乐分享享乐分享
  • 1小时前
  • 9
  • 阅读7分钟
  • 站点介绍

    JKVideo是一个功能丰富的第三方B站客户端,采用React Native框架开发,支持Android、iOS和Web三大平台。这个项目以其高颜值的界面设计和完整的功能实现而著称,提供了DASH播放、实时弹幕、WBI签名以及直播流媒体等核心功能。

    项目采用现代化的技术栈,包括React Native 0.83、Expo SDK 55、TypeScript等,确保了代码的可维护性和跨平台兼容性。无论你是想要一个功能完整的B站客户端,还是想要学习React Native的实际应用,JKVideo都是一个很好的参考项目。

    功能介绍

    DASH完整播放

    你可以体验完整的DASH播放能力,项目通过buildDashMpdUri()函数生成本地MPD文件,由ExoPlayer进行原生解码,支持1080P及4K HDR杜比视界等高清格式。这意味着你能够享受到接近官方客户端的播放体验。

    完整弹幕系统

    项目实现了完整的弹幕功能,包括视频弹幕和直播弹幕两个部分。视频弹幕采用XML时间轴同步机制,支持5车道飘屏覆盖;直播弹幕通过WebSocket实时接收,并支持舰长标记和礼物计数等互动功能。

    WBI签名实现

    你可以获得纯TypeScript手写的MD5加密实现,无需任何外部加密依赖。项目的nav接口支持12小时自动缓存,确保了API调用的效率和稳定性。

    智能首页排布

    首页采用BigVideoCard内联DASH静音自动播放,支持水平手势快进。直播卡片与普通视频卡片混排显示,提供了双列混排的智能布局方案。

    全局迷你播放器

    你可以在切换页面后继续在底部浮层中观看视频,VideoStore跨组件状态同步确保了播放进度的无缝衔接。

    扫码登录

    项目支持二维码生成和2秒轮询机制,响应头中的Cookie会自动提取SESSDATA,让登录过程变得简单便捷。

    下载与局域网分享

    你可以进行多清晰度的后台下载,内置HTTP服务器可以生成局域网QR码,同一Wi-Fi网络中的设备扫码即可直接播放下载的视频。

    跨平台支持

    项目支持Android、iOS和Web三个平台,使用ExpoGo扫码仅需5分钟即可运行,DevBuild则可以解锁完整的DASH播放功能。

    使用方法

    快速启动方案一:ExpoGo(无需编译)

    这是最快速的体验方式,只需5分钟即可运行项目。请注意部分清晰度会受到限制,视频播放会降级为WebView方案。

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

    使用ExpoGoApp(Android或iOS)扫描终端显示的二维码即可运行。

    完整功能方案二:DevBuild(推荐)

    这个方案支持DASH1080P+原生播放和完整的弹幕系统,是获得最佳体验的方式。

    npm install
    npx expo run:android   # Android平台
    npx expo run:ios       # iOS平台(需要macOS和Xcode)

    Web端运行

    你也可以在Web浏览器中运行项目。

    npm install
    npx expo start --web

    Web端需要本地代理服务器来绕过图片防盗链限制,运行node scripts/proxy.js即可启动代理服务器,监听端口3001。

    直接安装(Android)

    前往项目的Releases页面下载最新的APK文件,无需编译即可直接安装使用。安装前需要在Android设置中开启"安装未知来源应用"的权限。

    已知限制

    4K和1080P+清晰度需要大会员账号登录,这是B站API的策略限制。FLV直播流暂不支持,因为HTML5和ExoPlayer都不支持该格式,项目会自动选择HLS方案。

    Web端需要本地代理来处理B站图片的防盗链限制。动态流、投稿和点赞等功能需要bili_jct CSRF Token,目前还未实现。二维码有10分钟的过期时间,关闭登录弹窗重新打开即可刷新。

    界面截图

    安卓设备可以直接下载apk文件进行安装,我这类以模拟器界面为准,在未登录的情况下,软件主界面如下:
    JKVideo:高颜值第三方B站React Native客户端-享乐分享

    切换到直播tab页面界面如下:
    JKVideo:高颜值第三方B站React Native客户端-享乐分享

    直播界面如下:
    JKVideo:高颜值第三方B站React Native客户端-享乐分享

    弹幕列表如下:
    JKVideo:高颜值第三方B站React Native客户端-享乐分享

    除了常规的直接观看之外,你可以通过扫码进行登录:
    JKVideo:高颜值第三方B站React Native客户端-享乐分享

    我这边没有进行登录测试,下面是截图子Github官方项目作者提供的演示图:
    JKVideo:高颜值第三方B站React Native客户端-享乐分享

    额外补充

    重要公告

    需要特别说明的是,该项目已收到哔哩哔哩律师函,要求停止对B站API的调用及相关仿制行为。所以后续也不会有更新了,如果你觉得当前版本已经够用了,可以下载自行使用

    推荐文章

    发表评论

    发表
    JKVideo:高颜值第三方B站React Native客户端
  • 评分:
  • 平台:8
  • 类型:第三方客户端
  • 专题:Bilibili / Github
  • 项目介绍:
  • tiajinsha JKVideo
  • 4.99K 2.93K
  • 创建:3月前 更新:4小时前
  • 高颜值第三方 B 站 React Native 客户端. Contribute to tiajinsha/JKVideo development by creating an account on GitHub.
  • *数据缓存于:2小时前
  • 大家在看

  • 站点
  • 软件
  • 技巧
  • 上升前十

  • 站点
  • 软件
  • 技巧
  • 订阅我们

    输入你的电子邮件地址订阅网站,我们会在有必要时通过邮件联系您
    订阅
    *订阅成功后会收到订阅通知
    微信公众号:xiangleshare
    三天内不显示