音视频同步系列文章之----一个简单的同步算法
2008-10-20 17:18
471 查看
在发送方:
对于相同时刻的音频/视频帧,打上相同的时间戳(系统时间)
接收方:
保存两个队列,audio/video分别用来存放还未播放的音频和视频
1。当每接收到音频帧的时候,遍历此时的video队列,将此音频帧的时间戳跟每个视频帧的时间戳进行比较:
1)如果音频帧的时间在这个视频帧的前面,帧播放该音频
2)如果音频跟视频的时间戳相差在某个可以接受的误差内,则同时播放该音频/视频(并将视频帧从video队列中删除)
3)如果视频时间在前,则播放视频帧(并将视频帧从video队列中删除)
如果video队列中的最后一帧的时间都在这个audio帧之前,在此时会把整个video队列中的帧播放完,此时video队列将为空,那么将这个音频放入audio队列。
2.对接收到视频帧的时候,也做类似的处理。
对于相同时刻的音频/视频帧,打上相同的时间戳(系统时间)
接收方:
保存两个队列,audio/video分别用来存放还未播放的音频和视频
1。当每接收到音频帧的时候,遍历此时的video队列,将此音频帧的时间戳跟每个视频帧的时间戳进行比较:
1)如果音频帧的时间在这个视频帧的前面,帧播放该音频
2)如果音频跟视频的时间戳相差在某个可以接受的误差内,则同时播放该音频/视频(并将视频帧从video队列中删除)
3)如果视频时间在前,则播放视频帧(并将视频帧从video队列中删除)
如果video队列中的最后一帧的时间都在这个audio帧之前,在此时会把整个video队列中的帧播放完,此时video队列将为空,那么将这个音频放入audio队列。
2.对接收到视频帧的时候,也做类似的处理。
相关文章推荐
- 音视频同步系列文章之------时间戳与时间尺度(time scale)
- 音视频同步系列文章之-----Windows同步机制
- 音视频同步系列文章之------时间戳与时间尺度(time scale)
- 多媒体开发之---一个简单的音视频同步算法
- ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
- 音视频同步系列文章之----一种基于RTP协议的客户端媒体流Buffer管理思想(2)
- 音视频同步系列文章之------基于时间戳的同步点
- 用cocos2d-x做一个简单的windows phone 7游戏----系列文章
- 一个简单的聊天室的实现----ICE应用系列文章之四
- 音视频同步系列文章之------基于时间戳的同步点
- ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
- ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
- ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
- 音视频同步系列文章之----一种基于RTP协议的客户端媒体流Buffer管理思想(1)
- 云星数据---mesos实战系列003】:marathon实战001--使用marathon部署一个最简单的容器服务
- ffmpeg+sdl教程——编写一个简单的播放器2(输出视频到屏幕)
- 手机视频监控系统开发系列文章
- scrapy框架系列 (2) 一个简单案例
- c++ 11 多线线程系列-------- 一个最简单而且实用的线程池
- Makefile学习笔记系列2:一个简单的Makefile(增加子目录结构)