handbrake-ts
Version:
Handbrake with TypeScript and support for electron
74 lines • 2.21 kB
TypeScript
import { BehaviorSubject } from 'rxjs';
import { Subject } from 'rxjs';
import { Config } from './Config';
import { Installator } from "./Installator";
import { ChildProcess } from "./Node";
interface HandBrakeArgs {
'input'?: string;
'output'?: string;
'help'?: boolean;
'version'?: boolean;
'verbose'?: boolean;
'preset'?: boolean;
'preset-list'?: boolean;
'preset-import-file'?: string;
'no-dvdnav'?: string;
'no-opencl'?: boolean;
'title'?: string;
'min-duration'?: string;
'scan'?: boolean;
'main-feature'?: boolean;
'chapters'?: boolean;
'angle'?: number;
'previews'?: string;
'start-at-preview'?: string;
'start-at'?: string;
'stop-at'?: string;
'format'?: string;
'markers'?: boolean;
'no-markers'?: boolean;
'optimize'?: boolean;
'ipod-atom'?: boolean;
'no-ipod-atom'?: boolean;
'use-opencl'?: boolean;
}
interface ProcessState {
min?: number;
hour?: number;
sec?: number;
percent?: number;
fps?: number;
status?: 'pending' | 'starting' | 'running' | 'caneled' | 'done' | 'error';
errorMessage?: string;
}
export declare class HandBrakeTs {
readonly installator: Installator;
readonly config: Config;
constructor();
exec(args: HandBrakeArgs): HandBrakeProcess;
static singleton: HandBrakeTs;
static instance(): HandBrakeTs;
}
export declare class HandBrakeProcess {
private processInicializer;
private args;
private instalator;
private config;
private progressRegExp;
readonly logStream: Subject<string>;
readonly errorStream: Subject<string>;
readonly stateChange: BehaviorSubject<ProcessState>;
private process;
constructor(processInicializer: ChildProcess, args: HandBrakeArgs, instalator: Installator, config: Config);
private init;
isRun(): boolean;
start(): Promise<void>;
captureErrors(line: any): void;
get state(): ProcessState;
cancel(): void;
private emitProgress;
private updateState;
}
export declare const handBrakeTs: HandBrakeTs;
export {};
//# sourceMappingURL=HandBrake.d.ts.map