发明名称 |
一种多线程的音视频同步控制方法及系统 |
摘要 |
本发明涉及多线程的音视频同步控制方法及系统,其方法包括:创建解复用线程、音视频解码线程、音视频同步输出线程;启动解复用线程完成对传输流或节目流的解复用处理,将音、视频基本流分别插入音、视频基本流队列尾部,激活解码线程;启动音、视频解码线程分别解码音、视频基本流队列中的比特流,并将时间信息和解码后的音频数据和图像数据,分别插入音、视频输出队列;根据解码后的时间戳与本地系统时钟的差值,启动音、视频同步输出线程,选择符合输出时间的数据进行输出;根据视频与音频的时间戳差值,对视频播放进行重复与跳帧处理,使音视频同步输出。本发明不需大量内存空间来缓冲数据,运行效率高,实现复杂度低,适用于嵌入式操作系统。 |
申请公布号 |
CN103237255A |
申请公布日期 |
2013.08.07 |
申请号 |
CN201310144225.X |
申请日期 |
2013.04.24 |
申请人 |
南京龙渊微电子科技有限公司 |
发明人 |
陈勇;王卫东;吴少校;乔崇;祁云嵩;徐钊;孟凡伟 |
分类号 |
H04N21/434(2011.01)I;H04N21/439(2011.01)I;H04N21/435(2011.01)I;G06F9/38(2006.01)I;H04N21/44(2011.01)I |
主分类号 |
H04N21/434(2011.01)I |
代理机构 |
江苏圣典律师事务所 32237 |
代理人 |
邓丽 |
主权项 |
一种多线程的音视频同步控制方法,其特征在于包括以下步骤: 步骤1、创建五个线程,分别是解复用线程、音频解码线程、视频解码线程、音频同步输出线程和视频同步输出线程;步骤2、启动解复用线程完成对系统层的传输流或节目流的解复用处理,将传输流或节目流拆分成音频基本流、视频基本流以及时间信息;然后将音频基本流插入音频基本流队列尾部,将视频基本流插入视频基本流队列尾部,激活解码线程;若音频基本流队列或视频基本流队列溢出则解复用线程挂起等待;步骤3、启动音频解码线程和视频解码线程分别解码音频基本流队列和视频基本流队列中的比特流,并将时间信息和解码后的音频数据和图像数据,分别插入音频输出队列尾部和视频输出队列尾部,激活音频输出线程或视频输出线程;若音频输出队列或视频输出队列溢出则解码线程挂起等待;步骤4、启动音频同步输出线程和视频同步输出线程,根据解码后的时间戳与本地系统时钟的差值,选择符合输出时间的数据进行输出;并根据视频与音频的时间戳的差值,对视频播放进行重复与跳帧处理,从而使得音视频同步输出。 |
地址 |
210000 江苏省南京市江宁区胜太路58号503室 |