一次批量任务跑到一半全崩,报错全是 No space left on device,但 df 显示还剩 20G。后来才知道"磁盘满"至少有四种完全不同的病因。这篇把排查工具、大文件写入的预分配与稀疏文件陷阱、inode 耗尽,以及我们现在的磁盘策略都写下来。
阅读全文
技术博客
分享开发技巧、工具使用教程与行业动态
筛选「技术博客」共 122 篇文章
查看全部
一批课程屏录按常规参数压完,PPT 上的小字糊得看不清。我加码率、降 CRF,效果都有限——因为问题根本不在码率,而在 4:2:0 色度采样和编码器的心理视觉优化。这篇写屏录内容的特殊性、为什么通用参数会毁掉文字,以及一套实测有效的参数模板。
阅读全文
有个视频能播,但转码后时长变短、帧率不对、颜色发灰。ffprobe 看的元数据一切正常。最后我把裸码流导出来逐层看,才发现问题全在 SPS 里——帧率没写、色彩信息缺失、GOP 是开放结构。这篇写码流层的诊断方法:NALU 怎么读、SPS 里藏着什么、GOP 怎么分析。
阅读全文
接口被刷,一天几十万次请求,解析额度烧光。我第一版按 IP 限 60 次/分钟,结果把一个公司 NAT 后面的两百个用户全挡在门外。这篇写清楚限流的三个维度(速率、并发、配额)、四种算法、Django 和 nginx 两层的落地代码,以及最重要的——怎么不误伤正常用户。
阅读全文
客户要低延迟互动直播,我们选了 WebRTC。踩的坑都不在"调用 API"层面:NAT 穿透失败、多人要用 SFU 而不是 mesh、录制难做、以及"为什么延迟还是 3 秒"。这篇写完整的工程方案:拓扑怎么选、TURN 怎么部署、录制怎么做、延迟怎么优化。
阅读全文
客户投诉"我们的视频在电视上比别的节目声音小,广告一响又震耳朵"。这不是音量问题,是响度标准问题。这篇写清楚:峰值归一化为什么没用、LUFS 是什么、R128 和各平台的目标值、ffmpeg loudnorm 双遍的正确用法,以及一套批量测量与校验的脚本。
阅读全文
用户下载的视频标题里有个斜杠,保存直接失败;macOS 上传的文件名在 Linux 上"明明一样却不相等";Windows 上文件名结尾的空格被系统偷偷删掉。这篇把我这三年给文件名"打补丁"的全过程写出来,包括最终那个能用的 sanitize 函数。
阅读全文
客户问"要不要上 AV1 省带宽"。我没敢直接答,跑了一轮实测:同画质下 AV1 比 H.265 省 22%,但编码慢 6 倍,而且老设备解码不了。这篇写完整的实测数据、SVT-AV1 与 libaom 的参数怎么调,以及我们最后的决策——不是"用不用",而是"给谁用"。
阅读全文
做 HLS 的时候我默认用 TS 切片,直到要做低延迟才发现必须换 fMP4。一开始我不理解为什么——TS 不是用得好好的吗?后来算了一下封装开销、看了 fMP4 的结构,才明白这不是赶时髦:一份文件同时给 HLS 和 DASH 用,省掉一半存储和 CDN 缓存。这篇写 fMP4 的结构、CMAF 是什么、以及低延迟怎么来的。
阅读全文
为了提速加了 Redis 缓存,结果踩了三个坑:一个 key 永远不命中(穿透)、一个热点 key 过期瞬间把数据库打垮(击穿)、一批 key 同时过期导致雪崩,还有一个"数据更新了页面还是旧的"(一致性)。这篇写清楚这四个问题的成因、解法,以及我们在 Django 里的落地代码。
阅读全文