npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@bililive-tools/bilibili-recorder

v1.12.0

Published

bililive-tools bilibili recorder implemention

Readme

Intro

原项目:https://github.com/WhiteMinds/BilibiliRecorder

这是 biliLive-tools 的一个平台插件,为其支持了 Bilibili 平台录制

安装

建议所有录制器和manager包都升级到最新版,我不会对兼容性做过多考虑

npm i @bililive-tools/bilibili-recorder @bililive-tools/manager

使用

import { createRecorderManager } from "@bililive-tools/manager";
import { provider } from "@bililive-tools/bilibili-recorder";

const manager = createRecorderManager({ providers: [provider] });
manager.addRecorder({
  providerId: provider.id,
  channelId: "7734200",
  quality: 10000,
  streamPriorities: [],
  sourcePriorities: [],
});

// 录制前请设置好ffmepg的环境变量,或手动指定,具体见`@bililive-tools/manager`文档
manager.startCheckLoop();

参数

interface Options {
  channelId: string; // 长直播间ID,具体解析见文档,也可自行解析
  quality: number; // 见画质参数
  qualityRetry?: number; // 画质匹配重试次数, -1为强制匹配画质,0为自动配置,正整数为最大匹配次数
  streamPriorities: []; // 废弃
  sourcePriorities: []; // 废弃
  disableAutoCheck?: boolean; // 为 true 时 manager 将跳过自动检查
  segment?: number | string; // 分段参数,单位分钟,如果以"B","KB","MB","GB"结尾,会尝试使用文件大小分段,仅推荐在使用mesio录制引擎时使用
  disableProvideCommentsWhenRecording?: boolean; // 禁用弹幕录制
  saveGiftDanma?: boolean; // 保存礼物弹幕,包含舰长
  saveSCDanma?: boolean; // 保存SC
  useServerTimestamp?: boolean; // 控制弹幕是否使用服务端时间戳,默认为true
  saveCover?: boolean; // 保存封面
  auth?: string; // 登录所需cookie
  uid?: number; // cookie所有者uid,用于弹幕录制
  formatName?: FormatName; // 见 formatName 参数
  codecName?: CodecName; // 见 CodecName 参数
  useM3U8Proxy?: boolean; // 是否使用m3u8代理,由于hls及fmp4存在一个小时超时时间,需自行实现代理避免
  m3u8ProxyUrl?: string; // 代理链接,文档待补充
  videoFormat?: "auto"; // 视频格式: "auto", "ts", "mkv" ,auto模式下, 分段使用 "ts",不分段使用 "mp4"
  onlyAudio?: boolean; // 只录制音频,默认为否
  recorderType?: "auto" | "ffmpeg" | "mesio" | "bililive"; // 底层录制器,使用mesio和bililive时videoFormat参数无效
  debugLevel?: `verbose` | "basic"; // verbose参数时,录制器会输出更加详细的log
}

画质

B站录制高画质需要登录,在无法匹配到画质时,会优先使用高画质

| 画质 | 值 | | -------- | ----- | | 杜比 | 30000 | | 4K | 20000 | | 原画真彩 | 25000 | | 2K | 15000 | | 原画 | 10000 | | 蓝光 | 400 | | 超清 | 250 | | 高清 | 150 | | 流畅 | 80 |

formatName

用于控制flv,hls(ts),hls(fmp4)

能否录制flv下的hevc和你的ffmpeg版本有关

| 解释 | 值 | | ----------- | --------- | | 等于flv | auto | | 优先使用flv | flv | | 优先使用hls | hls | | 只使用fmp4 | fmp4 | | 只使用flv | flv_only | | 只使用hls | hls_only | | 只使用fmp4 | fmp4_only |

CodecName

用于控制使用avc还是hevc

| 解释 | 值 | | ------------ | --------- | | 等于avc | auto | | 优先使用avc | avc | | 优先使用hevc | hevc | | 只使用avc | avc_only | | 只使用hevc | hevc_only |

直播间ID解析

解析出长直播间ID

import { provider } from "@bililive-tools/bilibili-recorder";

const url = "https://live.bilibili.com/5055636";
const { id } = await provider.resolveChannelInfoFromURL(url);

协议

与原项目保存一致为 LGPL