You've already forked FrameTour-RenderWorker
feat(video): 添加硬件加速支持
- 定义硬件加速类型常量(none、qsv、cuda) - 配置QSV和CUDA编码参数及预设 - 在WorkerConfig中添加硬件加速配置选项 - 实现基于硬件加速类型的编码参数动态获取 - 添加FFmpeg硬件加速解码和滤镜参数 - 检测并报告系统硬件加速支持信息 - 在API客户端中上报硬件加速配置和支持状态
This commit is contained in:
@@ -41,7 +41,14 @@ EFFECT_TYPES = (
|
||||
'blur', # 模糊效果(预留)
|
||||
)
|
||||
|
||||
# 统一视频编码参数(来自集成文档)
|
||||
# 硬件加速类型
|
||||
HW_ACCEL_NONE = 'none' # 纯软件编解码
|
||||
HW_ACCEL_QSV = 'qsv' # Intel Quick Sync Video (核显/独显)
|
||||
HW_ACCEL_CUDA = 'cuda' # NVIDIA NVENC/NVDEC
|
||||
|
||||
HW_ACCEL_TYPES = (HW_ACCEL_NONE, HW_ACCEL_QSV, HW_ACCEL_CUDA)
|
||||
|
||||
# 统一视频编码参数(软件编码,来自集成文档)
|
||||
VIDEO_ENCODE_PARAMS = {
|
||||
'codec': 'libx264',
|
||||
'preset': 'medium',
|
||||
@@ -51,6 +58,28 @@ VIDEO_ENCODE_PARAMS = {
|
||||
'pix_fmt': 'yuv420p',
|
||||
}
|
||||
|
||||
# QSV 硬件加速视频编码参数(Intel Quick Sync)
|
||||
VIDEO_ENCODE_PARAMS_QSV = {
|
||||
'codec': 'h264_qsv',
|
||||
'preset': 'medium', # QSV 支持: veryfast, faster, fast, medium, slow, slower, veryslow
|
||||
'profile': 'main',
|
||||
'level': '4.0',
|
||||
'global_quality': '23', # QSV 使用 global_quality 代替 crf(1-51,值越低质量越高)
|
||||
'look_ahead': '1', # 启用前瞻分析提升质量
|
||||
'pix_fmt': 'nv12', # QSV 硬件表面格式
|
||||
}
|
||||
|
||||
# CUDA 硬件加速视频编码参数(NVIDIA NVENC)
|
||||
VIDEO_ENCODE_PARAMS_CUDA = {
|
||||
'codec': 'h264_nvenc',
|
||||
'preset': 'p4', # NVENC 预设 p1-p7(p1 最快,p7 最慢/质量最高),p4 ≈ medium
|
||||
'profile': 'main',
|
||||
'level': '4.0',
|
||||
'rc': 'vbr', # 码率控制模式:vbr 可变码率
|
||||
'cq': '23', # 恒定质量模式的质量值(0-51)
|
||||
'pix_fmt': 'yuv420p', # NVENC 输入格式(会自动转换)
|
||||
}
|
||||
|
||||
# 统一音频编码参数
|
||||
AUDIO_ENCODE_PARAMS = {
|
||||
'codec': 'aac',
|
||||
|
||||
Reference in New Issue
Block a user