客户给的 HDR 素材,我们按普通流程转完,画面发灰发暗。折腾了一轮才搞明白:HDR 不是"亮度更高",而是换了传输曲线和色域,转 SDR 必须做 tone mapping。这篇写 HDR 的三个要素、PQ 与 HLG 的区别、ffmpeg 的 tone mapping 参数怎么调,以及交付前的检查清单。
阅读全文
技术博客
分享开发技巧、工具使用教程与行业动态
筛选「技术博客」共 122 篇文章
查看全部
用 Real-ESRGAN 处理一批老素材,客户说"人脸变得很奇怪"。我一看确实:超分"生成"出了不存在的纹理,人脸细节被重构成另一张脸。这次之后我建了一套超分的质量控制流程和成本估算方法。这篇写超分到底在做什么、会产生哪些伪影、哪些内容绝对不能超分,以及做完之后的验收流程。
阅读全文
后台的任务列表页越点越慢,最后要 8 秒才出得来。我跟着 PostgreSQL 的慢查询日志一路查下去,发现是索引缺失、N+1、大偏移分页和批量写入四个问题叠在一起。这篇把排查工具、EXPLAIN 怎么读、以及每一处改动的效果都写下来。
阅读全文
客户要"电影感",我用 eq 滤镜调饱和度对比度,怎么调都不对。后来拿到一个 .cube 文件,用 lut3d 一加载就对了。这中间踩了三个坑:Log 素材要先做色彩空间转换、8bit 上调色会断层、以及"LUT 太重怎么减强度"。这篇写完整工作流,包括怎么用波形图和矢量图验证。
阅读全文
同一个 mp4,电脑上一切正常,客户说手机上打不开、电视上黑屏、微信里转圈。我拿着 ffprobe 的输出一项项对照设备规格,才发现问题出在 10bit、HEVC、profile level 这些"电脑播放器全都支持、移动设备各有各的脾气"的参数上。这篇写完整的排查流程和一份"最保守兼容"的参数模板。
阅读全文
worker 数我是照着"CPU × 2 + 1"抄的,结果高峰期 502 不断,改配置重启又必然中断几秒。压测了一轮之后我才搞清楚:worker 数、worker 类型、超时和优雅重启是四件不同的事。这篇写完整的调优过程、实测数据和我们现在的零停机发布流程。
阅读全文
用户点了解析,页面转圈三十秒然后 504。我把任务从请求里挪到 Celery 之后,问题才刚开始:进度不更新、任务被执行两次、Redis 内存涨到 8G、beat 定时任务重复触发。这篇把这些坑和最终的方案完整写下来。
阅读全文
给客户做 HLS 多码率,我套用了网上流传的阶梯表(1080p 4.5M、720p 2.5M…),结果动画浪费了一半带宽、赛事档糊得不能看。后来改成先测内容复杂度再定码率,同一批内容省了 31% 带宽。这篇写完整的阶梯设计、per-title 流程,以及最容易翻车的关键帧对齐问题。
阅读全文
第一次打的镜像 1.8GB,推到服务器要十分钟,灰度一次等得人心焦。我用 dive 一层层拆开看,发现里面躺着编译工具链、pip 缓存、测试数据和一堆用不到的东西。这篇写完整的瘦身过程:基础镜像怎么选、多阶段构建怎么写、层缓存怎么排顺序,以及最终从 1.8GB 到 210MB 的每一步实测。
阅读全文
客户机器上没有 root、glibc 还是 2.17、系统自带的 ffmpeg 缺一堆编码器。折腾了三天之后,我把编译静态 ffmpeg 的完整流程、参数含义和踩过的坑全部记下来,包括怎么把 78MB 裁到 16MB。
阅读全文