UNPKG

chzzk

Version:

네이버 라이브 스트리밍 서비스 CHZZK의 비공식 API 라이브러리

121 lines (120 loc) 3.06 kB
import { PartialChannel } from "./channel"; import { ChzzkClient } from "../client"; export interface Live { liveTitle: string; liveImageUrl: string; defaultThumbnailImageUrl?: string; concurrentUserCount: number; accumulateCount: number; openDate: string; liveId: number; adult: boolean; chatChannelId: string; categoryType?: string; liveCategory?: string; liveCategoryValue?: string; channelId: string; livePlayback: LivePlayback; channel: PartialChannel; } export interface LivePlayback { meta: { videoId: string; streamSeq: number; liveId: string; paidLive: boolean; cdnInfo: { cdnType: string; zeroRating: boolean; }; p2p: boolean; }; serviceMeta: { contentType: string; }; live: { start: string; open: string; timeMachine: boolean; status: string; }; api: { name: string; path: string; }[]; media: Media[]; thumbnail: { snapshotThumbnailTemplate: string; types: string[]; }; multiview: []; } export interface Media { mediaId: string; protocol: string; path: string; encodingTrack: (VideoEncodingTrack | AudioEncodingTrack)[]; } export interface EncodingTrack { encodingTrackId: string; audioBitRate: number; audioSamplingRate: number; audioChannel: number; avoidReencoding: boolean; audioOnly: boolean; } export interface VideoEncodingTrack extends EncodingTrack { videoProfile: string; audioProfile: string; videoCodec: string; videoBitRate: number; videoFrameRate: string; videoWidth: number; videoHeight: number; videoDynamicRange: string; audioOnly: false | undefined; } export interface AudioEncodingTrack extends EncodingTrack { encodingTrackId: "alow.stream"; path: string; audioCodec: string; audioOnly: true; } export interface LiveStatus { liveTitle: string; status: "OPEN" | "CLOSE"; concurrentUserCount: number; accumulateCount: number; adult: boolean; chatChannelId: string; categoryType: string; liveCategory?: string; liveCategoryValue?: string; livePollingStatus: LivePollingStatus; faultStatus?: string; userAdultStatus?: string; } export interface LivePollingStatus { status: string; isPublishing: boolean; playableStatus: string; trafficThrottling: number; callPeriodMilliSecond: number; } export interface LiveDetail extends Live { status: "OPEN" | "CLOSE"; closeDate?: string; chatActive: boolean; chatAvailableGroup: string; paidPromotion: boolean; chatAvailableCondition: string; minFollowerMinute: number; livePollingStatus: LivePollingStatus; userAdultStatus?: string; } export declare class ChzzkLive { private client; constructor(client: ChzzkClient); status(channelId: string): Promise<LiveStatus>; detail(channelId: string): Promise<LiveDetail>; }