关于时间戳的那些事
来源:互联网 发布:dcp7060d mac 编辑:程序博客网 时间:2024/06/02 02:12
1.先来看看简单点的
2.按照采样率计算
A、视频pts
3.音视频同步
(一个AAC原始帧包含一段时间内1024个采样及相关数据)根据aac文档
分析:
1 AAC
音频帧的播放时间=一个AAC帧对应的采样样本的个数/采样频率(单位为s)
一帧 1024个 sample。采样率 Samplerate 44100KHz,每秒44100个sample,
所以 根据公式
(NOTE:该时间可作解码时间的参考,解码时间应偏差确保在该时间的一定范围,异常的话,做一定的异常处理)
如,当前AAC一帧的播放时间是= 1024*1000000/44100= 22.32ms(单位为ms)
或
当前AAC一帧的播放时间是= 1024/44100 = 0.02232 s(单位为秒)=22.32ms(单位为ms)
反过来,如当想通过音频缓冲多少ms来计算实际应缓冲多少个音频帧时,可下计算:
比如对48K缓冲300ms需要多少个buffer,
buffer = 一秒内能产生多少个音频帧(48000/1024) 乘以 时间比例(300/1000) = (48000*300)/(1024*1000) = 14.0625个。
2 MP3
mp3 每帧均为1152个字节, 则:
frame_duration = 1152 * 1000000 / sample_rate
例如:sample_rate = 44100HZ时, 计算出的时长为26.122ms,这就是经常听到的mp3每帧播放时间固定为26ms的由来。
===============================================================================================
- 关于时间戳的那些事
- 关于Python时间的那些事儿
- 关于Python时间的那些事儿
- [从头读历史] 第298节 时间简史 关于黑洞的那些事
- 关于WAS的那些事....
- 关于foreach的那些事
- 关于成长的那些事
- 关于DOCTYPE的那些事
- 关于爱情的那些事。
- 关于http的那些事
- 关于年终奖的那些事
- 关于 DWR 的那些事
- 关于图片的那些事
- 关于补码的那些事
- 关于JSP的那些事
- 关于前端的那些事
- 关于多线程的那些事
- 关于cvScalar的那些事
- iOS图文混排(需要在文本或者字符串中某些特定位置添加文本框)
- 脸部特征精确跟踪的Javascript库:clmtrackr
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
- nyoj 590 相同的和
- MyBatis学习总结(六)——调用存储过程
- 关于时间戳的那些事
- mysql:数据类型和运算符
- 屌丝学arm汇编-02-冒泡排序
- Mysql limit分页语句用法 SqlServer TOP子句 Oracle分页
- Android 中Activity,Window和View之间的关系
- Sublime Text 2安装插件方法详解
- LeetCode 209. Minimum Size Subarray Sum(最小子数组之和)
- 同时安装了office2003和office2010,如何设置office2003为默认打开
- Javascript的AMD规范