You've already forked FrameTour-RenderWorker
- 在 TASK_TYPES 中新增 COMPOSE_TRANSITION 类型 - 定义 TRANSITION_TYPES 常量支持多种转场效果 - 在 TaskType 枚举中添加 COMPOSE_TRANSITION - 创建 TransitionConfig 数据类处理转场配置 - 为 RenderSpec 添加 transition_in 和 transition_out 属性 - 在 Task 类中添加转场相关的方法 - 新增 ComposeTransitionHandler 处理转场合成任务 - 修改 PackageSegmentTsHandler 支持转场分片封装 - 修改 RenderSegmentVideoHandler 支持 overlap 区域生成 - 在 TaskExecutor 中注册转场处理器
64 lines
1.4 KiB
Python
64 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
常量定义
|
|
|
|
v2 版本常量,用于 Render Worker v2 API。
|
|
"""
|
|
|
|
# 软件版本
|
|
SOFTWARE_VERSION = '2.0.0'
|
|
|
|
# 支持的任务类型
|
|
TASK_TYPES = (
|
|
'RENDER_SEGMENT_VIDEO',
|
|
'COMPOSE_TRANSITION',
|
|
'PREPARE_JOB_AUDIO',
|
|
'PACKAGE_SEGMENT_TS',
|
|
'FINALIZE_MP4',
|
|
)
|
|
|
|
# 默认能力
|
|
DEFAULT_CAPABILITIES = list(TASK_TYPES)
|
|
|
|
# 支持的转场类型(对应 FFmpeg xfade 参数)
|
|
TRANSITION_TYPES = (
|
|
'fade', # 淡入淡出(默认)
|
|
'dissolve', # 溶解过渡
|
|
'wipeleft', # 向左擦除
|
|
'wiperight', # 向右擦除
|
|
'wipeup', # 向上擦除
|
|
'wipedown', # 向下擦除
|
|
'slideleft', # 向左滑动
|
|
'slideright', # 向右滑动
|
|
'slideup', # 向上滑动
|
|
'slidedown', # 向下滑动
|
|
)
|
|
|
|
# 统一视频编码参数(来自集成文档)
|
|
VIDEO_ENCODE_PARAMS = {
|
|
'codec': 'libx264',
|
|
'preset': 'medium',
|
|
'profile': 'main',
|
|
'level': '4.0',
|
|
'crf': '23',
|
|
'pix_fmt': 'yuv420p',
|
|
}
|
|
|
|
# 统一音频编码参数
|
|
AUDIO_ENCODE_PARAMS = {
|
|
'codec': 'aac',
|
|
'bitrate': '128k',
|
|
'sample_rate': '48000',
|
|
'channels': '2',
|
|
}
|
|
|
|
# 错误码
|
|
ERROR_CODES = {
|
|
'E_INPUT_UNAVAILABLE': '素材不可访问',
|
|
'E_FFMPEG_FAILED': 'FFmpeg 执行失败',
|
|
'E_UPLOAD_FAILED': '上传失败',
|
|
'E_SPEC_INVALID': '渲染规格非法',
|
|
'E_TIMEOUT': '执行超时',
|
|
'E_UNKNOWN': '未知错误',
|
|
}
|