"use strict";
/**
 * 视频生成模块 - 类型定义
 * 定义视频项目、素材、配置的数据结构
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.PRESET_VIDEO_CONFIGS = void 0;
exports.parseConfig = parseConfig;
exports.serializeConfig = serializeConfig;
exports.parseTags = parseTags;
exports.serializeTags = serializeTags;
// ============ 预设配置 ============
/** 预设视频配置 */
exports.PRESET_VIDEO_CONFIGS = {
    // 竖屏 9:16 (短视频)
    portrait: {
        images: [],
        audio: {
            url: '',
            volume: 1,
        },
        video: {
            width: 720,
            height: 1280,
            fps: 30,
            bitrate: '2M',
            format: 'mp4',
        },
        kenburns: {
            enabled: true,
            minZoom: 1.0,
            maxZoom: 1.2,
        },
    },
    // 横屏 16:9 (横版视频)
    landscape: {
        images: [],
        audio: {
            url: '',
            volume: 1,
        },
        video: {
            width: 1920,
            height: 1080,
            fps: 30,
            bitrate: '4M',
            format: 'mp4',
        },
        kenburns: {
            enabled: true,
            minZoom: 1.0,
            maxZoom: 1.15,
        },
    },
    // 方形 1:1 (社交媒体)
    square: {
        images: [],
        audio: {
            url: '',
            volume: 1,
        },
        video: {
            width: 1080,
            height: 1080,
            fps: 30,
            bitrate: '2M',
            format: 'mp4',
        },
        kenburns: {
            enabled: true,
            minZoom: 1.0,
            maxZoom: 1.25,
        },
    },
};
// ============ 工具函数 ============
/** 解析配置JSON */
function parseConfig(json) {
    if (!json)
        return null;
    try {
        return JSON.parse(json);
    }
    catch {
        return null;
    }
}
/** 序列化配置为JSON */
function serializeConfig(config) {
    return JSON.stringify(config);
}
/** 解析标签JSON */
function parseTags(tags) {
    if (!tags)
        return [];
    try {
        return JSON.parse(tags);
    }
    catch {
        return [];
    }
}
/** 序列化标签为JSON */
function serializeTags(tags) {
    return JSON.stringify(tags);
}
