onvif
    Preparing search index...

    Interface Recording

    Recording service (Profile G) — recordings, tracks, and recording jobs.

    import { Onvif } from 'onvif';

    const onvif = new Onvif({ hostname: '192.168.1.13', username: 'admin', password: 'admin' });
    await onvif.connect();

    const caps = await onvif.recording.getServiceCapabilities();
    const recordings = await onvif.recording.getRecordings();
    const jobs = await onvif.recording.getRecordingJobs();
    console.log(caps, recordings.length, jobs.length);

    const recordingToken = recordings[0]?.recordingToken;
    if (recordingToken) {
    const cfg = await onvif.recording.getRecordingConfiguration({ recordingToken });
    const opts = await onvif.recording.getRecordingOptions({ recordingToken });
    console.log(cfg.source, opts);
    }

    // Start / stop a job when you know the token:
    // await onvif.recording.setRecordingJobMode({ jobToken: jobs[0]!.jobToken, mode: 'Active' });
    interface Recording {
        onvif: Onvif;
        service: keyof OnvifServices;
        xmlns: string;
        createRecording(options: CreateRecording): Promise<string>;
        createRecordingJob(
            options: CreateRecordingJob,
        ): Promise<CreateRecordingJobResponse>;
        createTrack(options: CreateTrack): Promise<string>;
        deleteRecording(options: DeleteRecording): Promise<void>;
        deleteRecordingJob(options: DeleteRecordingJob): Promise<void>;
        deleteTrack(options: DeleteTrack): Promise<void>;
        exportRecordedData(
            options: ExportRecordedData,
        ): Promise<ExportRecordedDataResponse>;
        getExportRecordedDataState(
            options: GetExportRecordedDataState,
        ): Promise<GetExportRecordedDataStateResponse>;
        getRecordingConfiguration(
            options: GetRecordingConfiguration,
        ): Promise<RecordingConfiguration>;
        getRecordingJobConfiguration(
            options: GetRecordingJobConfiguration,
        ): Promise<RecordingJobConfiguration>;
        getRecordingJobs(): Promise<GetRecordingJobsResponseItem[]>;
        getRecordingJobState(options: GetRecordingJobState): Promise<any>;
        getRecordingOptions(
            options: GetRecordingOptions,
        ): Promise<RecordingOptions>;
        getRecordings(): Promise<GetRecordingsResponseItem[]>;
        getServiceCapabilities(): Promise<Capabilities>;
        getTrackConfiguration(
            options: GetTrackConfiguration,
        ): Promise<TrackConfiguration>;
        overrideSegmentDuration(options: OverrideSegmentDuration): Promise<void>;
        request<T = any>(
            body: OnvifSoapBody,
            options?: LineraseOptions,
        ): Promise<T>;
        setRecordingConfiguration(
            options: SetRecordingConfiguration,
        ): Promise<void>;
        setRecordingJobConfiguration(
            options: SetRecordingJobConfiguration,
        ): Promise<RecordingJobConfiguration>;
        setRecordingJobMode(options: SetRecordingJobMode): Promise<void>;
        setTrackConfiguration(options: SetTrackConfiguration): Promise<void>;
        stopExportRecordedData(
            options: StopExportRecordedData,
        ): Promise<StopExportRecordedDataResponse>;
    }

    Hierarchy (View Summary)

    Index
    onvif: Onvif
    service: keyof OnvifServices
    xmlns: string