上线前我跑了一遍 check --deploy,一堆警告。后来真出过的两次事更严重:备份文件被搜索引擎收录、上传功能能传 .html 上去。这篇是完整的加固清单:配置、密钥、传输、响应头、上传校验、依赖扫描,以及怎么把检查变成 CI 步骤自动拦住。
阅读全文
技术博客
分享开发技巧、工具使用教程与行业动态
筛选「Python」共 33 篇文章
查看全部
客户的媒资库三千多条视频,找东西全靠文件名("最终版_final2.mp4" 这种)。我们做了一层元数据抽取与建档:技术参数自动抽、内容信息半自动、管理信息人工补。这篇写元数据分哪三类、sidecar 还是内嵌、要不要照搬 EBUCore/PBCore,以及批量抽取脚本。
阅读全文
一场活动四个机位拍的素材,剪辑师要对齐。相机的时间码各走各的(消费级设备没有同步),手动对齐四段素材花了半天。后来我用音频波形做互相关对齐,几秒钟算出精确偏移。这篇写三种同步方式的适用条件、互相关算法的原理与实现,以及长时间素材的时间码漂移问题。
阅读全文
一个系列有 40 集,每集开头都是同一段 90 秒片头。想自动标记"跳过片头"的时间点,文件级哈希完全没用(每集文件都不一样)。我用帧级感知哈希做时间轴序列匹配解决了,还顺带查出了一批"混进去的重复片段"。这篇写完整实现:dHash、序列对齐、加速索引,以及为什么最后还是加了音频指纹。
阅读全文
站内搜索用的是 LIKE '%关键词%',搜"ffmpeg 编译"搜不到,而且全表扫描越来越慢。考虑过 Elasticsearch,但对两百篇文章来说太重了。最后用 PostgreSQL 的 tsvector + GIN 索引 + 分词兜底方案解决,延迟从 800ms 降到 12ms。这篇写完整的方案,包括云数据库装不了扩展时怎么办。
阅读全文
客户要在视频里给一个移动的车牌打码、给产品加标注箭头。手动逐帧 K 帧不现实,我用 OpenCV 跟踪 + ffmpeg 合成做了自动方案。这篇写跟踪算法怎么选(CSRT / KCF / 光流)、轨迹怎么平滑和修正、ffmpeg 里怎么让 overlay 位置随时间变化,以及跟踪失败时怎么办。
阅读全文
用户下载一个 2GB 的文件,Django 视图被占住四十分钟,几个并发就把整站拖垮。后来换成 nginx 的 X-Accel-Redirect,同样的请求内存从 800MB 降到 20MB。这篇把完整配置、鉴权怎么保住、断点续传和限速怎么写,以及我踩的坑都记下来。
阅读全文
客户有 300 小时的课程录像,要加章节标记。人工看要两周,我用 ffmpeg 的场景检测加一层自己写的过滤,半天出结果,人工只做校验。这篇写完整的做法:ffmpeg 的 scene 检测怎么用、为什么它经常不准、自己实现检测的代码,以及怎么把场景变成真正的章节和精彩片段。
阅读全文
一条 migration 在生产跑了 8 分钟,期间整表被锁,全站写入阻塞,用户看到一片 502。事后我才搞明白:加字段、加索引、加非空约束这三件事的锁行为完全不同。这篇写 PostgreSQL 的锁对照表、加索引必须 CONCURRENTLY 的原因、NOT VALID 约束的技巧,以及我们现在的迁移检查清单。
阅读全文
客户要把横屏素材剪成竖版短视频,直接中间裁切的结果是:主讲人经常跑到画面外。我做了个主体检测 + 平滑跟踪的裁切方案,把"主体在画面内"的比例从 61% 提到 94%。这篇写完整实现:检测用什么、裁切窗口怎么平滑、ffmpeg 怎么落地,以及横转竖绕不开的分辨率损失问题。
阅读全文