视频时间基 (time_base) 详解:时间的“刻度单位”

目录

[🎯 一句话理解](#🎯 一句话理解)

[🧩 举个生活例子:时钟的刻度](#🧩 举个生活例子:时钟的刻度)

[🎬 举个视频的例子](#🎬 举个视频的例子)

[🎵 音频流的例子](#🎵 音频流的例子)

[🧠 为什么不直接用"秒"?](#🧠 为什么不直接用“秒”?)

[✅ 总结公式](#✅ 总结公式)


🎯 一句话理解

时间基(time_base)是时间的**"刻度单位"**。

它告诉你:时间戳(PTS、DTS)中"1"的含义到底是多少秒。

🧩 举个生活例子:时钟的刻度

想象你有两个时钟:

时钟类型 刻度间隔 一格代表的时间
秒表 一格 = 1 秒 1 秒
高精度计时器 一格 = 1/1000 秒 0.001 秒

这两个时钟都能报时间,但"1 格"(即时间戳的单位)代表的实际时间长度是不同的。

FFmpeg 中的 time_base 就是告诉你:"一格"代表多少秒。

🎬 举个视频的例子

🎵 音频流的例子

🧠 为什么不直接用"秒"?

因为在多媒体处理中,直接使用浮点数(秒)来表示时间会带来以下问题:

  1. 精度累积误差: 在长时间播放中,浮点运算的误差会不断累积,导致音视频不同步。

  2. 流的差异性: 视频帧可能以帧率 (如 30fps)为主,音频帧以采样率(如 48kHz)为主。

✅ 总结公式

相关推荐
一拳一个呆瓜6 小时前
【STL】文件系统导航
c++·stl
All for pursuit.7 小时前
【动态规划-21】312.戳气球
数据结构·c++·算法·leetcode·动态规划
栈帧之外7 小时前
【C++】STL之set
开发语言·c++
zhanghaha13148 小时前
C++构造函数的一些其他应用(逐词逐句保姆讲解)
c++
jimy19 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
半杯咖啡半行码11 小时前
C++11核心特性详解:从C++11到C++20 的现代C++指南
开发语言·c++
All for pursuit.12 小时前
【位运算-3】136.只出现一次的数字
数据结构·c++·算法·leetcode
C++ 老炮儿的技术栈13 小时前
std::atomic 是什么
linux·c语言·网络·c++·visual studio
All for pursuit.14 小时前
【完结】LeetCodeHot100题 详细解题过程及代码汇总
数据结构·c++·算法·leetcode
重生之小比特14 小时前
【算法拾光】双指针|移动零 + 复写零
数据结构·c++·算法