fix(p0): 固化 GPU_ENCODE 到 .env.staging + MediaKit 抽帧 403 修复 #2069
Reference in New Issue
Block a user
Delete Branch "fix/p0-env-gpu-oss-sign"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
P0 修复:GPU 配置防复发 + OSS 签名 URL 403
1. GPU 配置防复发(CI .env 渲染覆盖问题)
.env.staging时,模板中没有 GPU_ENCODE_* 字段,CI secrets 里也没有,导致部署后 GPU_ENCODE 相关变量被清空,GPU 编码静默降级到 CPU(这是第 3 次)。deploy/configs/.env.staging模板,render_env.sh 字面量会原样写入.env.rendered,不再依赖 CI secret。2. OSS 预签名 URL 403 修复(Mediakit 抽帧/临时上传失败降级)
apps/worker/video_processing/thumbnail_generator.py::_extract_frames_via_mediakit()上传本地视频到 OSS 后,直接把公网 URL(https://{bucket}.{endpoint}/{key})传给火山 MediaKit 抽帧服务,但 bucketxiaoxia-autocut是私有读,公网 GET 直接返回AccessDenied 403,导致 MediaKit 抽帧恒失败→降级 ffmpeg 本地抽帧,白白多耗时几十秒。https://xiaoxia-autocut.oss-cn-hangzhou.aliyuncs.com/tmp/diag-sign-*.mp4→ 403 AccessDenied_extract_frames_via_mediakit()上传后改用get_signed_download_url(key, expires=3600)生成 1h 预签名 URL 给 MediaKitoss_helpers.delete_from_oss()函数(finally 块里调用但未实现,导致每次抽帧残留临时文件)涉及文件
deploy/configs/.env.staging:追加 P4000 NVENC 配置块apps/worker/video_processing/oss_helpers.py:补delete_from_oss()apps/worker/video_processing/thumbnail_generator.py:MediaKit 抽帧改用预签名 URL验证计划
docker exec xiaoxia-worker-staging env | grep GPU_ENCODE输出完整[gpu-encoder] P4000 done日志)🚀 预览环境已部署
🗑️ 预览环境已清理
PR #2069 已关闭或合并,对应的预览环境已被清理。