@bililive-tools/manager
Version:
Batch scheduling recorders
45 lines (44 loc) • 1.54 kB
TypeScript
import EventEmitter from "node:events";
import { IDownloader, FFMPEGRecorderOptions, Segment } from "./IDownloader.js";
import { FormatName } from "./index.js";
import type { VideoFormat } from "../index.js";
export declare class FFmpegDownloader extends EventEmitter implements IDownloader {
private onEnd;
private onUpdateLiveInfo;
type: "ffmpeg";
private command;
private streamManager;
private timeoutChecker;
readonly hasSegment: boolean;
readonly getSavePath: (data: {
startTime: number;
title?: string;
}) => string;
readonly segment: Segment;
ffmpegOutputOptions: string[];
readonly inputOptions: string[];
readonly isHls: boolean;
readonly disableDanma: boolean;
readonly url: string;
formatName: FormatName;
videoFormat: VideoFormat;
readonly debugLevel: "none" | "basic" | "verbose";
readonly headers: {
[key: string]: string | undefined;
} | undefined;
constructor(opts: FFMPEGRecorderOptions, onEnd: (...args: unknown[]) => void, onUpdateLiveInfo: () => Promise<{
title?: string;
cover?: string;
}>);
createCommand(): import("@renmu/fluent-ffmpeg").FfmpegCommand;
buildOutputOptions(): string[];
formatLine(line: string): {
time: string | null;
} | null;
run(): void;
getArguments(): string[];
stop(): Promise<void>;
getExtraDataController(): import("../xml_stream_controller.js").XmlStreamController | null;
get videoFilePath(): string;
cut(): void;
}