media-stream-player
Version:
Player built on top of media-stream-library
60 lines (59 loc) • 2.06 kB
TypeScript
import React, { Ref } from 'react';
import { Sdp, Html5VideoPipeline, Html5CanvasPipeline, HttpMsePipeline, TransformationMatrix } from 'media-stream-library';
import { MetadataHandler } from './metadata';
export declare type PlayerNativeElement = HTMLVideoElement | HTMLCanvasElement | HTMLImageElement;
export declare type PlayerPipeline = Html5VideoPipeline | Html5CanvasPipeline | HttpMsePipeline;
export declare enum AxisApi {
'AXIS_IMAGE_CGI' = "AXIS_IMAGE_CGI",
'AXIS_MEDIA_AMP' = "AXIS_MEDIA_AMP",
'AXIS_MEDIA_CGI' = "AXIS_MEDIA_CGI"
}
export declare enum Format {
'RTP_H264' = "RTP_H264",
'RTP_JPEG' = "RTP_JPEG",
'JPEG' = "JPEG",
'MP4_H264' = "MP4_H264"
}
export declare enum Protocol {
'HTTP' = "http:",
'HTTPS' = "https:",
'WS' = "ws:",
'WSS' = "wss:"
}
export declare const FORMAT_API: Record<Format, AxisApi>;
export interface VapixParameters {
readonly [key: string]: string;
}
export declare type Range = readonly [number | undefined, number | undefined];
export interface VideoProperties {
readonly el: PlayerNativeElement;
readonly width: number;
readonly height: number;
readonly pipeline?: PlayerPipeline;
readonly media?: ReadonlyArray<{
readonly type: 'video' | 'audio' | 'data';
readonly mime: string;
}>;
readonly volume?: number;
readonly range?: Range;
readonly sensorTm?: TransformationMatrix;
}
interface PlaybackAreaProps {
readonly forwardedRef?: Ref<PlayerNativeElement>;
readonly host: string;
readonly format: Format;
readonly parameters?: VapixParameters;
readonly play?: boolean;
readonly offset?: number;
readonly refresh: number;
readonly onPlaying: (properties: VideoProperties) => void;
readonly onSdp?: (msg: Sdp) => void;
readonly metadataHandler?: MetadataHandler;
readonly secure?: boolean;
/**
* Activate automatic retries on RTSP errors.
*/
readonly autoRetry?: boolean;
}
export declare const PlaybackArea: React.FC<PlaybackAreaProps>;
export {};