客户要我们把一批讲座视频的画面文字(PPT 内容)提取出来做全文检索。做下来发现真正的难点不在 OCR 本身,而在"抽哪些帧"和"怎么去重"——一小时的 PPT 视频里 90% 的帧是重复的。这篇写完整流程:帧去重、预处理、引擎选择、后处理聚合,以及实测的准确率。
阅读全文
技术博客
分享开发技巧、工具使用教程与行业动态
筛选「性能」共 14 篇文章
查看全部
用户上传一个 2GB 的视频,Django 视图接文件的那一刻内存就上去了,还占着 worker 几十分钟。后来改成分片 + 直传对象存储,服务端只在最后"合一下"。这篇写完整方案:三种架构怎么选、预签名 URL 怎么签、断点续传和秒传怎么做,以及前端那些必须处理好的细节。
阅读全文
单个 4 小时的 4K 素材,8 核机器串行转码要 6 小时。x265 自己已经开了多线程,为什么还这么慢?因为帧间依赖限制了并行度。后来我把视频切成 8 段、每段一个进程并行编码,总时间降到 1 小时 10 分。这篇写完整的切分策略、接缝处理和实测数据。
阅读全文
用户反馈视频卡顿,我们查服务器 CPU、带宽、CDN 状态全部正常。后来在播放器里加了埋点,采集首帧时间、卡顿次数、码率切换这些 QoE 指标,才定位到是某个地区的 CDN 节点问题。这篇写 QoE 指标怎么定义、播放器怎么埋点、数据怎么下钻定位。
阅读全文
升级 ffmpeg 版本之后,有一批内容的画质悄悄变差了,我们是半个月后从客户反馈里知道的。那次之后我建了一套质量回归:黄金素材集 + VMAF 基线 + CI 门禁。这篇写完整做法,包括素材集怎么选、阈值怎么定、CI 上怎么避免结果抖动,以及它后来抓到的三个真实问题。
阅读全文
给转码加上 -hwaccel cuda 之后 CPU 占用确实降了,但耗时只快了 20%;加了字幕滤镜之后,居然比纯 CPU 还慢。原因是帧在显存和内存之间来回搬了两次。这篇把这个拷贝开销讲清楚,给出三种管线的实测数据,以及"什么时候该用硬件加速、什么时候不该"的判断标准。
阅读全文
一个系列有 40 集,每集开头都是同一段 90 秒片头。想自动标记"跳过片头"的时间点,文件级哈希完全没用(每集文件都不一样)。我用帧级感知哈希做时间轴序列匹配解决了,还顺带查出了一批"混进去的重复片段"。这篇写完整实现:dHash、序列对齐、加速索引,以及为什么最后还是加了音频指纹。
阅读全文
站内搜索用的是 LIKE '%关键词%',搜"ffmpeg 编译"搜不到,而且全表扫描越来越慢。考虑过 Elasticsearch,但对两百篇文章来说太重了。最后用 PostgreSQL 的 tsvector + GIN 索引 + 分词兜底方案解决,延迟从 800ms 降到 12ms。这篇写完整的方案,包括云数据库装不了扩展时怎么办。
阅读全文
客户问"要不要上 AV1 省带宽"。我没敢直接答,跑了一轮实测:同画质下 AV1 比 H.265 省 22%,但编码慢 6 倍,而且老设备解码不了。这篇写完整的实测数据、SVT-AV1 与 libaom 的参数怎么调,以及我们最后的决策——不是"用不用",而是"给谁用"。
阅读全文
为了提速加了 Redis 缓存,结果踩了三个坑:一个 key 永远不命中(穿透)、一个热点 key 过期瞬间把数据库打垮(击穿)、一批 key 同时过期导致雪崩,还有一个"数据更新了页面还是旧的"(一致性)。这篇写清楚这四个问题的成因、解法,以及我们在 Django 里的落地代码。
阅读全文
第 1 / 2 页