// Author: fruit.com.cn import type { MediaTranscodeLadderRung, MediaTranscodeProfile, MediaTranscodeSprite } from '@/api/admin/types' export const MIN_SEGMENT_SECONDS = 2 export const MAX_SEGMENT_SECONDS = 10 export const MIN_SPRITE_INTERVAL = 1 export const MAX_SPRITE_INTERVAL = 10 export const MIN_SPRITE_COLUMNS = 5 export const MAX_SPRITE_COLUMNS = 20 export const MIN_THUMB_WIDTH = 120 export const MAX_THUMB_WIDTH = 240 export const MAX_QUALITY_LENGTH = 16 export const defaultSprite = (): MediaTranscodeSprite => ({ enabled: true, intervalSeconds: 1, columns: 10, thumbWidth: 160 }) export const defaultRung = (): MediaTranscodeLadderRung => ({ quality: '', width: 640, height: 360, videoBitrateKbps: 400, audioBitrateKbps: 64, enabled: true }) /** 与后端缺省值一致的四档配置。 */ export const defaultProfile = (): MediaTranscodeProfile => ({ enabled: true, segmentSeconds: 6, ladder: [ { quality: '360p', width: 640, height: 360, videoBitrateKbps: 400, audioBitrateKbps: 64, enabled: true }, { quality: '480p', width: 854, height: 480, videoBitrateKbps: 800, audioBitrateKbps: 64, enabled: true }, { quality: '720p', width: 1280, height: 720, videoBitrateKbps: 1600, audioBitrateKbps: 96, enabled: true }, { quality: '1080p', width: 1920, height: 1080, videoBitrateKbps: 3200, audioBitrateKbps: 128, enabled: true } ], sprite: defaultSprite() })