我们的视频处理代码从三个脚本长到了三十多个,没人敢改——改一处不知道会破坏什么。后来做了一次重构:统一任务抽象、配置外置、命令构造器、结构化日志、分层测试。这篇写重构前后的对比、核心设计,以及一套能直接用的代码骨架。
阅读全文
技术博客
分享开发技巧、工具使用教程与行业动态
筛选「Python」共 33 篇文章
查看全部
交付前靠人眼检查,总会漏:有一次忘了 faststart,有一批音轨采样率不对,还有一次时长对不上。后来我写了个验收脚本,一条命令跑完全部检查并出报告,漏项率直接归零。这篇写验收要检查什么、规格怎么定义,以及脚本实现。
阅读全文
客户要我们把一批讲座视频的画面文字(PPT 内容)提取出来做全文检索。做下来发现真正的难点不在 OCR 本身,而在"抽哪些帧"和"怎么去重"——一小时的 PPT 视频里 90% 的帧是重复的。这篇写完整流程:帧去重、预处理、引擎选择、后处理聚合,以及实测的准确率。
阅读全文
客户给了 300 个视频问"画质怎么样",没有原片,VMAF 用不了。我查了一圈才知道有"无参考质量评估"这一整套东西:BRISQUE、NIQE、块效应检测、模糊检测、冻结帧检测。这篇写它们的原理、OpenCV 里的实现,以及最重要的——这些指标跟人眼的相关性到底有多少。
阅读全文
批量生成视频封面时,随机抽一帧的结果惨不忍睹:黑场、过场、运动模糊、人闭着眼。我写了个打分脚本,从清晰度、曝光、色彩丰富度、人脸、构图五个维度给候选帧打分,自动选最高分。100 个视频的实测里,自动选的封面人工接受率 87%。这篇写完整的打分逻辑、权重调参和批量实现。
阅读全文
用户上传一个 2GB 的视频,Django 视图接文件的那一刻内存就上去了,还占着 worker 几十分钟。后来改成分片 + 直传对象存储,服务端只在最后"合一下"。这篇写完整方案:三种架构怎么选、预签名 URL 怎么签、断点续传和秒传怎么做,以及前端那些必须处理好的细节。
阅读全文
一批字幕交付后被退回:有的行只显示 0.4 秒根本看不清,有的两行重叠在一起,有的超过屏幕宽度,还有几个文件乱码。我写了个检查脚本,交付前自动跑一遍,这类问题再没出过。这篇写完整的检查项、阈值参考和脚本实现。
阅读全文
客户的原创内容被人搬运到别的平台,想证明"这是我的"却拿不出证据。我给他们做了两件事:内容指纹(发现搬运)+ 不可见水印(证明来源)。同时我也必须说清楚:这些技术能做什么、不能做什么,以及几行 Python 实现的简单水印到底有多脆弱。
阅读全文
接了支付之后最怕三件事:用户付了钱没开通(掉单)、一条回调被处理两次(重复入账)、有人伪造回调白嫖。这篇写完整链路:为什么异步通知才是权威、验签怎么做、幂等怎么保证、掉单怎么补偿、每日对账怎么跑,以及我踩过的那些坑。
阅读全文
升级 ffmpeg 版本之后,有一批内容的画质悄悄变差了,我们是半个月后从客户反馈里知道的。那次之后我建了一套质量回归:黄金素材集 + VMAF 基线 + CI 门禁。这篇写完整做法,包括素材集怎么选、阈值怎么定、CI 上怎么避免结果抖动,以及它后来抓到的三个真实问题。
阅读全文