@bililive-tools/manager
Version:
Batch scheduling recorders
34 lines (33 loc) • 1.45 kB
TypeScript
import EventEmitter from "node:events";
import { createRecordExtraDataController } from "./record_extra_data_controller.js";
export type GetSavePath = (data: {
startTime: number;
}) => string;
export declare class Segment extends EventEmitter {
extraDataController: ReturnType<typeof createRecordExtraDataController> | null;
init: boolean;
getSavePath: GetSavePath;
/** 原始的ffmpeg文件名,用于重命名 */
rawRecordingVideoPath: string;
/** 输出文件名名,不包含拓展名 */
outputVideoFilePath: string;
disableDanma: boolean;
videoExt: "ts" | "mkv" | "mp4";
constructor(getSavePath: GetSavePath, disableDanma: boolean, videoExt: "ts" | "mkv" | "mp4");
handleSegmentEnd(): Promise<void>;
onSegmentStart(stderrLine: string): Promise<void>;
get outputFilePath(): string;
}
export declare class StreamManager extends EventEmitter {
private segment;
private extraDataController;
recordSavePath: string;
recordStartTime?: number;
private videoFormat?;
constructor(getSavePath: GetSavePath, hasSegment: boolean, disableDanma: boolean, videoFormat?: "auto" | "ts" | "mkv");
handleVideoStarted(stderrLine: string): Promise<void>;
handleVideoCompleted(): Promise<void>;
getExtraDataController(): import("./record_extra_data_controller.js").RecordExtraDataController | null;
get videoExt(): "ts" | "mkv" | "mp4";
get videoFilePath(): string;
}