@bililive-tools/manager
Version:
Batch scheduling recorders
50 lines (49 loc) • 1.46 kB
TypeScript
import EventEmitter from "node:events";
export declare class FFMPEGRecorder extends EventEmitter {
private onEnd;
private onUpdateLiveInfo;
private command;
private streamManager;
private timeoutChecker;
hasSegment: boolean;
getSavePath: (data: {
startTime: number;
title?: string;
}) => string;
segment: number;
ffmpegOutputOptions: string[];
inputOptions: string[];
isHls: boolean;
disableDanma: boolean;
url: string;
headers: {
[key: string]: string | undefined;
} | undefined;
constructor(opts: {
url: string;
getSavePath: (data: {
startTime: number;
title?: string;
}) => string;
segment: number;
outputOptions: string[];
inputOptions?: string[];
isHls?: boolean;
disableDanma?: boolean;
videoFormat?: "auto" | "ts" | "mkv";
headers?: {
[key: string]: string | undefined;
};
}, onEnd: (...args: unknown[]) => void, onUpdateLiveInfo: () => Promise<{
title?: string;
cover?: string;
}>);
createCommand(): import("@renmu/fluent-ffmpeg").FfmpegCommand;
formatLine(line: string): {
time: string | null;
} | null;
run(): void;
getArguments(): string[];
stop(): Promise<void>;
getExtraDataController(): import("./record_extra_data_controller.js").RecordExtraDataController | null;
}