diff --git a/services/types.ts b/services/types.ts index 096a19d..8afa297 100644 --- a/services/types.ts +++ b/services/types.ts @@ -35,8 +35,8 @@ export interface Comment { } export interface DashSegmentBase { - Initialization: string; - indexRange: string; + initialization: string; + index_range: string; } export interface DashVideoItem { @@ -48,7 +48,7 @@ export interface DashVideoItem { width: number; height: number; frameRate: string; - segmentBase: DashSegmentBase; + segment_base?: DashSegmentBase; } export interface DashAudioItem { @@ -57,7 +57,7 @@ export interface DashAudioItem { bandwidth: number; mimeType: string; codecs: string; - segmentBase: DashSegmentBase; + segment_base?: DashSegmentBase; } export interface PlayUrlResponse { diff --git a/utils/dash.ts b/utils/dash.ts index ef90843..9663bea 100644 --- a/utils/dash.ts +++ b/utils/dash.ts @@ -15,6 +15,16 @@ export function buildDashDataUri(playData: PlayUrlResponse, qn: number): string const dur = dash.duration; + const vSeg = video.segment_base; + const aSeg = audio.segment_base; + + const videoSegmentBase = vSeg + ? `\n \n \n ` + : ''; + const audioSegmentBase = aSeg + ? `\n \n \n ` + : ''; + const xml = ` - ${escapeXml(video.baseUrl)} - - - + ${escapeXml(video.baseUrl)}${videoSegmentBase} - ${escapeXml(audio.baseUrl)} - - - + ${escapeXml(audio.baseUrl)}${audioSegmentBase}