export interface RtpCapabilities { codecs: RtpCapabilitiesCodec[]; headerExtensions: RtpHeaderExtension[]; } export interface RtpHeaderExtension { kind: "audio" | "video"; uri: string; sendId: number; recvId: number; } export interface RtpCapabilitiesCodec { name: string; mimiType: string; kind: "audio" | "video"; clockRate: number; sendPayloadType: number; sendRtxPayloadType: number; recvPayloadType: number; recvRtxPayloadType: number; channels: number; parameters: any; rtcpFeedback: { type: string; parameter?: string; }[]; } export interface RtpParameters { kind: "video" | "audio"; encodings: RtpEncodingParameters[]; rtcp: { cname: string; reducedSize: boolean; mux: boolean; }; } export interface RtpEncodingParameters { ssrc: number; rtx: { ssrc: number; }; } export interface IceParameters { usernameFragment: string; password: string; iceLite: boolean; } export interface IceCandidates { foundation: string; priority: number; ip: string; protocol: string; port: number; type: string; tcpType?: string; } export interface DtlsParameters { role: string; fingerprints: DtlsFingerPrint[]; } export interface DtlsFingerPrint { algorithm: string; value: string; } /** * 生成服务端 sdp 时的参数 */ export interface RemoteSDPOption { lastSubMids: string[]; sessionVersion: number; }