You've already forked FrameTour-RenderWorker
- 在常量模块中定义支持的特效类型(相机定格、缩放、模糊) - 在任务域中创建Effect数据类,支持从字符串解析特效配置 - 实现cameraShot特效参数解析和默认值处理 - 扩展RenderSpec类,添加获取特效列表的方法 - 修改视频渲染处理器,集成特效滤镜构建逻辑 - 实现cameraShot特效的filter_complex滤镜图构建 - 添加fps参数支持和overlay检测逻辑优化 - 完成特效与转场overlap的兼容处理
71 lines
1.6 KiB
Python
71 lines
1.6 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', # 向下滑动
|
|
)
|
|
|
|
# 支持的特效类型
|
|
EFFECT_TYPES = (
|
|
'cameraShot', # 相机定格效果:在指定时间点冻结画面
|
|
'zoom', # 缩放效果(预留)
|
|
'blur', # 模糊效果(预留)
|
|
)
|
|
|
|
# 统一视频编码参数(来自集成文档)
|
|
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': '未知错误',
|
|
}
|