CN101290790B - 一种音视频同步播放的方法和装置 - Google Patents

一种音视频同步播放的方法和装置 Download PDF

Info

Publication number
CN101290790B
CN101290790B CN2008101150782A CN200810115078A CN101290790B CN 101290790 B CN101290790 B CN 101290790B CN 2008101150782 A CN2008101150782 A CN 2008101150782A CN 200810115078 A CN200810115078 A CN 200810115078A CN 101290790 B CN101290790 B CN 101290790B
Authority
CN
China
Prior art keywords
audio
frame
video
timestamp
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101150782A
Other languages
English (en)
Other versions
CN101290790A (zh
Inventor
李志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mid Star Technology Ltd By Share Ltd
Original Assignee
Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CN2008101150782A priority Critical patent/CN101290790B/zh
Publication of CN101290790A publication Critical patent/CN101290790A/zh
Application granted granted Critical
Publication of CN101290790B publication Critical patent/CN101290790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种音视频同步播放的方法,所述方法包括:打开音视频文件;记录播放所述音视频的累计时间;在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;如果否,则调节视频文件的当前帧为目标帧,所述目标帧的时间戳与所述当前的累计时间的偏差在一帧时间之内;播放调节后的音视频。本发明还公开了一种音视频同步播放的装置。本发明通过在每次中断处理中判断当前的累计播放时间和文件中的时间戳的偏差是否在一帧时间之内,如果提前了一帧则退出中断处理,如果滞后一帧,则丢掉一帧,直接显示下一帧的方法,将音视频的偏差始终控制在一帧之内,使得音视频的播放保持同步。

Description

一种音视频同步播放的方法和装置
技术领域
本发明涉及音视频技术领域,特别是涉及一种音视频同步播放的方法和装置。
背景技术
随着多媒体技术的不断发展,多媒体文件(例如音频文件、视频文件、音视频文件、幻灯片文件等)可以在不同的平台上播放,而在播放音视频文件时,音视频不同步会对该音视频的欣赏造成很大的影响。
目前,在播放音视频文件时,一般采用的是在Timer中断中向音频设备传输音频数据,同时显示视频图片的机制。这种机制采用的音视频播放相互制约的方法,来实现音视频的相对同步。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:由于系统资源和操作系统的调度的原因,会造成音视频之间的播放时间出现误差,使得音视频出现不同步现象,从而影响观看效果。
发明内容
本发明实施例要解决的问题是提供一种音视频同步播放的方法和装置,以克服现有技术中播放音视频文件不同步的缺陷。
为达到上述目的,本发明实施例的技术方案提供一种音视频同步播放的方法,所述方法包括以下步骤:打开音视频文件;记录播放所述音视频的累计时间;在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;如果否,则根据当前的累计时间与当前帧的时间戳的先后关系调节音视频文件的目标帧,所述目标帧的时间戳与所述当前的累计时间的偏差在一帧时间之内;播放调节后的音视频。
其中,在所述记录播放音视频的累计时间的步骤中,具体包括: 在开始播放所述音视频时,启动一个长计时器,所述长计时器的初始值为0。
其中,在所述判断当前的累计时间和音视频文件中当前帧的时间戳的偏差是否在一帧时间之内的步骤中,具体包括:获取所述长计时器当前的计数时间;获取所述音视频文件中当前帧的时间戳;计算所述计数时间和所述时间戳的偏差;判断所述偏差是否在所述音视频文件的一帧时间之内。
其中,在所述调节视频文件的当前帧为目标帧的步骤中,具体包括:当所述当前的累计时间提前于当前帧的时间戳时,所述目标帧为所述当前帧的上一帧,退出所述计时器中断处理,继续显示所述当前帧的上一帧。
其中,在所述调节视频文件的当前帧为目标帧的步骤中,具体包括:当所述当前的累计时间滞后于当前帧的时间戳时,所述目标帧为所述当前帧的下一帧,显示所述目标帧,并将所述当前帧和所述目标帧的缓冲的标志都置为已显示。
其中,在所述播放调节后的音视频的步骤中,具体包括:从所述音视频文件中读取音频和视频数据到缓冲中;将所述音频数据写到音频播放的先入先出缓冲器中。
本发明实施例的技术方案还提供了一种音视频同步播放的装置,所述装置包括:累计时间记录单元,用于记录播放音视频的累计时间;时间戳获取单元,用于获取音视频文件中当前帧的时间戳;判断单元,用于在计时器中断中,判断所述累计时间记录单元记录的当前累计时间和所述时间戳获取单元获取的时间戳的偏差是否在一帧时间之内;调节单元,用于当所述判断单元的判断结果为否时,当所述当前的累计时间提前于当前帧的时间戳时,调节所述目标帧为所述当前帧的上一帧,当所述当前的累计时间滞后于当前帧的时间戳时,调节所述目标帧为所述当前帧的下一帧;音视频播放单元,用于播放所述调节单元调节后的音视频。
其中,所述累计时间记录单元为长计时器,所述长计时器的初始值为0。
上述技术方案仅是本发明的一个优选技术方案,具有如下优点:本发明实施例通过在每次中断处理中判断当前的累计播放时间和文件中的时间戳的偏差是否在一帧时间之内,如果提前了一帧则退出中断处理,如果滞后一帧,则丢掉一帧,直接显示下一帧的方法,将音视频的偏差始终控制在一帧之内,使得音视频的播放保持同步。
附图说明
图1是本发明实施例的一种音视频同步播放的方法的流程图;
图2是本发明实施例的一种音视频同步播放的装置的结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例的一种音视频同步播放的方法的流程如图1所示,首先本实施例在不改动原来的同步机制前提下,引入了一个长Timer(计时器)来进行同步的修正,用长计时器来记录开始播放的累计时间,在计时器中断中向音频设备传输音频数据,同时显示视频图片,在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内,如果否,则调节视频文件的当前帧为目标帧,使得音视频的偏差始终控制在一帧之内,最后播放调节后的音视频。参照图1,本实施例包括以下步骤:
步骤s101,打开音视频文件。
步骤s102,记录播放所述音视频的累计时间。本实施例中在开始播放所述音视频时,启动一个长计时器,用长计时器来记录开始播放的累计时间,所述长计时器的初始值为0,精度可以在毫秒级。
步骤s103,在计时器中断中,获取所述长计时器当前的计数时间和所述音视频文件中当前帧的时间戳。
步骤s104,计算所述计数时间和所述时间戳的偏差。
步骤s105,判断所述偏差是否在所述音视频文件的一帧时间之内。如果是,则转步骤s106,否则转步骤s107。
步骤s106,显示当前帧,然后将帧Buffer的标志置为已显示,并转步骤s110。
步骤s107,判断所述当前的累计时间是否提前于当前帧的时间戳,如果是,则转步骤s108,否则转步骤s109。
步骤s108,退出所述计时器中断处理,继续显示所述当前帧的上一帧,并转步骤s110。
步骤s109,显示当前帧的下一帧,然后将所述当前帧和所述目标帧Buffer的标志都置为已显示。
步骤s110,从所述音视频文件中读取音频和视频数据到缓冲中。
步骤s111,将所述音频数据写到音频播放的Fifo(First In FirstOut,先入先出缓冲器)中。
本发明实施例的一种音视频同步播放的装置如图2所示,所述装置包括累计时间记录单元21、时间戳获取单元22、判断单元23、调节单元24和音视频播放单元25。其中,判断单元23分别与累计时间记录单元21、时间戳获取单元22和调节单元24连接,音视频播放单元25与调节单元24连接。
累计时间记录单元21为长计时器,其初始值为0,精度可以在毫秒级,用于记录播放音视频的累计时间;时间戳获取单元22用于获取音视频文件中当前帧的时间戳;判断单元23用于在Timer中断中,判断累计时间记录单元21记录的当前累计时间和时间戳获取单元22获取的时间戳的偏差是否在一帧时间之内;调节单元24用于当判断单元23的判断结果为否时,调节视频文件的当前帧为目标帧,所述目标帧的时间戳与所述当前累计时间的偏差在一帧时间之内;音视频播放单元25用于播放调节单元24调节后的音视频。
实施例一,当播放一个音视频文件时,在开始播放所述音视频时,启动一个长计时器,用长计时器来记录开始播放的累计时间,所述长计时器的初始值为0,精度在毫秒级。假设在计时器中断中,所述音视频文件中当前帧A的时间戳为TA,当前帧的上一帧A-1的时间戳为TA-Tf,其中Tf为所述音视频文件的一帧时间,所述长计时器当前的计数时间T小于或等于TA-Tf,则长计时器当前的计数时间T和所述音视频文件中当前帧A的时间戳TA的偏差大于或等于所述音视频文件的一帧时间Tf。此时退出所述计时器中断处理,继续显示所述当前帧的上一帧A-1,然后从所述音视频文件中读取音频和视频数据到缓冲中,并将所述音频数据写到音频播放的Fifo中,对所述音视频文件进行播放。
实施例二,当播放一个音视频文件时,在开始播放所述音视频时,启动一个长计时器,用长计时器来记录开始播放的累计时间,所述长计时器的初始值为0,精度在毫秒级。假设在计时器中断中,所述音视频文件中当前帧B的时间戳为TB,当前帧的下一帧B+1的时间戳为TB+Tf,其中Tf为所述音视频文件的一帧时间,所述长计时器当前的计数时间T大于或等于TB+Tf,则长计时器当前的计数时间T和所述音视频文件中当前帧B的时间戳TB的偏差大于或等于所述音视频文件的一帧时间Tf。此时显示当前帧的下一帧B+1,然后将所述当前帧B和所述当前帧的下一帧B+1的Buffer的标志都置为已显示,然后从所述音视频文件中读取音频和视频数据到缓冲中,并将所述音频数据写到音频播放的Fifo中,对所述音视频文件进行播放。
由以上实施例可以看出,本发明实施例通过在每次中断处理中判断当前的累计播放时间和文件中的时间戳的偏差是否在一帧时间之内,如果提前了一帧则退出中断处理,如果滞后一帧,则丢掉一帧,直接显示下一帧的方法,将音视频的偏差始终控制在一帧之内,使得音视频的播放保持同步。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种音视频同步播放的方法,其特征在于,所述方法包括以下步骤:
打开音视频文件;
记录播放所述音视频的累计时间;
在计时器中断中,判断当前的累计时间和所述音视频文件中当前帧的时间戳的偏差是否在一帧时间之内;
如果否,则根据当前的累计时间与当前帧的时间戳的先后关系调节音视频文件的目标帧;
播放调节后的音视频文件;
在所述调节音视频文件的步骤中,具体包括:
当所述当前的累计时间提前于当前帧的时间戳时,所述目标帧为所述当前帧的上一帧,退出所述计时器中断处理,继续显示所述当前帧的上一帧;
当所述当前的累计时间滞后于当前帧的时间戳时,所述目标帧为所述当前帧的下一帧,显示所述目标帧,并将所述当前帧和所述目标帧的缓冲的标志都置为已显示。
2.如权利要求1所述音视频同步播放的方法,其特征在于,在所述记录播放音视频的累计时间的步骤中,具体包括:
在开始播放所述音视频时,启动一个长计时器,所述长计时器的初始值为0。
3.如权利要求2所述音视频同步播放的方法,其特征在于,在所述判断当前的累计时间和音视频文件中当前帧的时间戳的偏差是否在一帧时间之内的步骤中,具体包括:
获取所述长计时器当前的计数时间;
获取所述音视频文件中当前帧的时间戳;
计算所述计数时间和所述时间戳的偏差;
判断所述偏差是否在所述音视频文件的一帧时间之内。 
4.如权利要求1所述音视频同步播放的方法,其特征在于,在所述播放调节后的音视频的步骤中,具体包括:
从所述音视频文件中读取音频和视频数据到缓冲中;
将所述音频数据写到音频播放的先入先出缓冲器中。
5.一种音视频同步播放的装置,其特征在于,所述装置包括:
累计时间记录单元,用于记录播放音视频的累计时间;
时间戳获取单元,用于获取音视频文件中当前帧的时间戳;
判断单元,用于在计时器中断中,判断所述累计时间记录单元记录的当前累计时间和所述时间戳获取单元获取的时间戳的偏差是否在一帧时间之内;
调节单元,用于当所述判断单元的判断结果为否时,当所述当前的累计时间提前于当前帧的时间戳时,调节所述目标帧为所述当前帧的上一帧,当所述当前的累计时间滞后于当前帧的时间戳时,调节所述目标帧为所述当前帧的下一帧;
音视频播放单元,用于播放所述调节单元调节后的音视频。
6.如权利要求5所述音视频同步播放的装置,其特征在于,所述累计时间记录单元为长计时器,所述长计时器的初始值为0。 
CN2008101150782A 2008-06-16 2008-06-16 一种音视频同步播放的方法和装置 Active CN101290790B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101150782A CN101290790B (zh) 2008-06-16 2008-06-16 一种音视频同步播放的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101150782A CN101290790B (zh) 2008-06-16 2008-06-16 一种音视频同步播放的方法和装置

Publications (2)

Publication Number Publication Date
CN101290790A CN101290790A (zh) 2008-10-22
CN101290790B true CN101290790B (zh) 2011-07-13

Family

ID=40035007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101150782A Active CN101290790B (zh) 2008-06-16 2008-06-16 一种音视频同步播放的方法和装置

Country Status (1)

Country Link
CN (1) CN101290790B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778269B (zh) * 2009-01-14 2012-10-24 扬智电子科技(上海)有限公司 机顶盒的音视频帧的同步方法
CN102714708B (zh) * 2010-02-12 2016-06-01 汤姆森特许公司 用于同步内容播放的方法
CN102368823A (zh) * 2011-06-28 2012-03-07 上海盈方微电子有限公司 一种基于分级机制的视频丢帧策略
CN104811582A (zh) * 2014-01-28 2015-07-29 华为技术有限公司 多智能设备同步播放的方法和装置
CN105898500A (zh) * 2015-12-22 2016-08-24 乐视云计算有限公司 网络视频播放方法及装置
CN105872699A (zh) * 2016-04-28 2016-08-17 乐视控股(北京)有限公司 视频播放控制方法及装置
CN108900877B (zh) * 2018-07-16 2021-05-25 广州辉群智能科技有限公司 控制音视频播放设备播放音视频文件的方法及服务设备

Also Published As

Publication number Publication date
CN101290790A (zh) 2008-10-22

Similar Documents

Publication Publication Date Title
CN101290790B (zh) 一种音视频同步播放的方法和装置
US7400653B2 (en) Maintaining synchronization of streaming audio and video using internet protocol
US7471337B2 (en) Method of audio-video synchronization
JP4570462B2 (ja) パーソナルビデオレコーディングの応用におけるmpegデコーダでの音声画像同期を達成する安定した方法
US7424209B2 (en) System and method for real-time data archival
EP2752023B1 (en) Method to match input and output timestamps in a video encoder and advertisement inserter
US9154834B2 (en) Fast switching of synchronized media using time-stamp management
CN100588261C (zh) 将视频数据及音频数据同步的方法及系统
JP2004208308A (ja) オーディオフレームおよび/またはビデオフレームの再生を同期化する方法と装置、ビデオドライバ回路、デコーダボックス
CN102075803B (zh) 一种播放音视频同步的方法
CN101119461B (zh) 保持视频帧及音频帧同步播放的系统及方法
CN1436001A (zh) 解码系统中实现视频与音频同步的方法
CN107566889A (zh) 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质
CN101778204A (zh) 3g-sdi高清数字视音频延时系统
CN103581730A (zh) 在数字机顶盒上实现音视频同步的方法
KR101246916B1 (ko) 오디오/비디오 동기 보정 방법 및 장치
US8737434B2 (en) PCR clock recovery in an IP network
KR101600891B1 (ko) 복수의 단말기에 출력되는 비디오 및 오디오를 동기화시키는 동기화시스템 및 방법
CN103426448A (zh) 时间戳调整系统及方法
JP2008067179A (ja) 受信装置および符号化データ再生方法
JP2003179863A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2001069467A (ja) データ再生装置
JP3705231B2 (ja) トランスポートストリーム・スプライサー
US8549343B2 (en) Timing recovery apparatus and method thereof
US20080138047A1 (en) Information processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Beijing Vimicro Corporation

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co., Ltd.

CP01 Change in the name or title of a patent holder