视频时间基 (time_base) 详解:时间的“刻度单位”
目录
🎯 一句话理解
🧩 举个生活例子:时钟的刻度
🎬 举个视频的例子
🎵 音频流的例子
🧠 为什么不直接用“秒”?
✅ 总结公式
🎯 一句话理解
时间基(time_base)是时间的**“刻度单位”**。
它告诉你:时间戳(PTS、DTS)中“1”的含义到底是多少秒。
🧩 举个生活例子:时钟的刻度
想象你有两个时钟:
| 时钟类型 | 刻度间隔 | 一格代表的时间 |
|---|---|---|
| 秒表 | 一格 = 1 秒 | 1 秒 |
| 高精度计时器 | 一格 = 1/1000 秒 | 0.001 秒 |
这两个时钟都能报时间,但“1 格”(即时间戳的单位)代表的实际时间长度是不同的。
FFmpeg 中的 time_base 就是告诉你:“一格”代表多少秒。
🎬 举个视频的例子

🎵 音频流的例子

🧠 为什么不直接用“秒”?
因为在多媒体处理中,直接使用浮点数(秒)来表示时间会带来以下问题:
-
精度累积误差: 在长时间播放中,浮点运算的误差会不断累积,导致音视频不同步。
-
流的差异性: 视频帧可能以帧率(如 30fps)为主,音频帧以采样率(如 48kHz)为主。

✅ 总结公式

