You've already forked FrameTour-RenderWorker
feat(video): 添加视频编码最大码率限制功能
- 在 get_video_encode_args 函数中新增 maxrate 参数用于限制峰值码率 - 实现 CRF/CQ 模式下同时控制质量和峰值码率的功能 - 自动计算 bufsize 为 maxrate 的 2 倍值 - 更新 VideoHandler 类中的编码参数方法以传递码率限制 - 修改视频合成和渲染模块以应用输出规格中的码率设置 - 移除静态 VIDEO_ENCODE_ARGS 常量以支持动态参数生成
This commit is contained in:
@@ -11,7 +11,7 @@ import logging
|
||||
from typing import List, Optional, Tuple
|
||||
from urllib.parse import urlparse, unquote
|
||||
|
||||
from handlers.base import BaseHandler, VIDEO_ENCODE_ARGS
|
||||
from handlers.base import BaseHandler
|
||||
from domain.task import Task, TaskType, RenderSpec, OutputSpec, Effect, IMAGE_EXTENSIONS
|
||||
from domain.result import TaskResult, ErrorCode
|
||||
|
||||
@@ -492,7 +492,7 @@ class RenderSegmentTsHandler(BaseHandler):
|
||||
'-vf', vf_filter,
|
||||
]
|
||||
|
||||
cmd.extend(VIDEO_ENCODE_ARGS)
|
||||
cmd.extend(self.get_video_encode_args(maxrate=output_spec.bitrate))
|
||||
|
||||
fps = output_spec.fps
|
||||
cmd.extend(['-r', str(fps)])
|
||||
@@ -628,7 +628,7 @@ class RenderSegmentTsHandler(BaseHandler):
|
||||
cmd.extend(['-vf', filters])
|
||||
|
||||
# 编码参数(根据硬件加速配置动态获取)
|
||||
cmd.extend(self.get_video_encode_args())
|
||||
cmd.extend(self.get_video_encode_args(maxrate=output_spec.bitrate))
|
||||
|
||||
# 帧率
|
||||
fps = output_spec.fps
|
||||
|
||||
Reference in New Issue
Block a user