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

目录

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

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

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

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

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

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


🎯 一句话理解

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

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

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

想象你有两个时钟:

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

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

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

🎬 举个视频的例子

🎵 音频流的例子

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

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

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

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

✅ 总结公式

相关推荐
c++之路1 小时前
C++信号处理
开发语言·c++·信号处理
故事还在继续吗3 小时前
C++20关键特性
开发语言·c++·c++20
青少儿编程课堂4 小时前
2026青少儿信息素养大赛备赛指南!Python/Scratch/C++备考要点
开发语言·c++·python
旖-旎4 小时前
深搜练习(电话号码字母组合)(3)
c++·算法·力扣·深度优先遍历
AIFarmer4 小时前
【无标题】
开发语言·c++·算法
John_ToDebug5 小时前
WebHostView 与 TabStrip 交互机制深度解析
c++·chrome·windows
南境十里·墨染春水6 小时前
C++笔记 STL——set
开发语言·c++·笔记
dgaf6 小时前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
charlie1145141918 小时前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32
用户805533698039 小时前
现代Qt开发教程(新手篇)1.10——进程
c++·qt