CN109905763A - 优化播放器音频播放卡顿的方法 - Google Patents
优化播放器音频播放卡顿的方法 Download PDFInfo
- Publication number
- CN109905763A CN109905763A CN201910212585.6A CN201910212585A CN109905763A CN 109905763 A CN109905763 A CN 109905763A CN 201910212585 A CN201910212585 A CN 201910212585A CN 109905763 A CN109905763 A CN 109905763A
- Authority
- CN
- China
- Prior art keywords
- frame
- audio
- difference
- duration
- jump
- 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.)
- Granted
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及流媒体播放技术,其公开了一种优化播放器音频播放卡顿的方法,解决传统技术中由于片源存在时间戳不连续的现象导致的音频播放卡顿的问题。本发明通过对码流实时分析,当检测到码流音频时间戳发生跳变后,计算发生时间戳跳变的帧附近处的音频分贝值,在分贝值比较小的地方适当插入静音帧,从而尽量减小补静音帧带来的音量跳变,达到音频播放流畅的效果,优化节目音频的音质。
Description
技术领域
本发明涉及流媒体播放技术,具体涉及一种优化播放器音频播放卡顿的方法。
背景技术
近年来,随着网络带宽的发展和用户的驱动,流媒体技术和相关应用飞速发展,随时随地观看的方式深受教育、娱乐等行业的喜爱,被认为是未来高速宽带网络的主流应用,流媒体技术在各个行业里面被广泛应用。而互联网带宽的不断增加和上网人数的迅速增长,为视频节目在网络上传输创造了条件,现在许多智能电视均能通过互联网观看流媒体点播、直播节目,因此音视频内容播放的效果就直接关系到了用户对产品的体验与评价,从而改善用户视听体验成为了消费电子产品的核心需求之一。
目前市面上音视频片源比较杂乱,参差不齐。而片源的参差不齐也给播放器研发提高了难度。兼容性不够好的播放器在播放不规则片源会出现各种各样的问题,相比视频画面而言,音频的音质效果对用户更为敏感。而市面上片源存在时间戳不连续的现象较为普遍,当音频时间戳不连续时,音频播放会存在音频卡顿等现象,此类问题严重影响用户体验。
发明内容
本发明所要解决的技术问题是:提出一种优化播放器音频播放卡顿的方法,解决传统技术中由于片源存在时间戳不连续的现象导致的音频播放卡顿的问题。
本发明解决上述技术问题所采用的技术方案是:
优化播放器音频播放卡顿的方法,包括以下步骤:
a.实时记录码流的音频时间戳,根据上一帧的时间戳以及帧时长计算当前帧的理论时间戳,根据当前帧的理论时间戳与当前帧的实际时间戳计算跳变差值;
b.判断跳变差值:若1*duration≤跳变差值≤3*duration,则进入步骤c,若跳变差值=0,则进入步骤e,若跳变差值>3*duration,则在当前帧位置补上跳变差值对应的帧数个静音帧,进入步骤e,其中,duration为帧时长;
c.判断当前帧的分贝值:若当前帧的分贝值大于或等于阈值,则继续等待下一帧音频到来,进入步骤d;若小于阈值,则在当前帧位置补上跳变差值对应的帧个数个静音帧,进入步骤e;
d.计算下一帧音频的理论时间戳与实际时间戳之间的差值,若大于3*duration,则在播放所述下一帧位置补上差值对应的帧个数个静音帧,进入步骤f;否则,返回步骤c;
e.播放器按照正常流程播放。
作为进一步优化,步骤c中所述阈值为30dB。由于分贝值低于30dB时,人的耳朵是基本感受不到音频变化的,因此,将阈值设置为30dB,在低于30dB的音频帧处补静音是比较合理的选择,用户是感受不到音频变化的,从而保证音频的播放流畅。
本发明的有益效果是:通过对码流实时分析,当检测到码流音频时间戳发生跳变后,计算发生时间戳跳变的帧附近处的音频分贝值,在分贝值比较小的地方适当插入静音帧,从而尽量减小补静音帧带来的音量跳变,达到音频播放流畅的效果,优化节目音频的音质。
附图说明
图1为本发明实施例中的优化播放器音频播放卡顿的方法流程图。
具体实施方式
本发明旨在提出一种优化播放器音频播放卡顿的方法,解决传统技术中由于片源存在时间戳不连续的现象导致的音频播放卡顿的问题。其核心思想是:通过对码流实时分析,当检测到码流音频时间戳发生跳变后,计算发生时间戳跳变的帧附近处的音频分贝值,在分贝值比较小的地方适当插入静音帧,从而尽量减小补静音帧带来的音量跳变,达到音频播放流畅的效果,优化节目音频的音质。
实施例:
如图1所示,本实施例中的优化播放器音频播放卡顿的方法包括以下步骤:
1.实时记录码流的音频时间戳,计算跳变差值:
造成音频播放卡顿问题,主要是片源码流中存在音频时间戳不连续现象,这种码流片源其实比较普遍,播放器在只有出现这种情况才需要对针对码流在播放过程中进行实时修复。
以音频采样率44100Hz为例,一帧音频时长大约在23ms,因此规则片源中相邻两帧音频之间pts(播放时间戳)差值在23ms,如果相邻两帧音频之间的pts差值大于23ms毫秒,则说明发生了音频时间戳跳变。引起时间戳跳变的原因有多种原因,可能是网络丢包导致或者编码器异常导致。当发生时间戳跳变的情况,播放器在播放过程中需要做修复容错处理,最大程度减少对用户试听节目的影响。
本发明的补静音策略需要实时记录码流的音频时间戳,对于上一帧音频pts,记为pre_pts,并根据上一帧音频的pts计算出当前帧的理论pts(当前帧正常情况下应该的理论值pts),记录为expect_pts,以作为判定时间戳发生跳变与否的依据,expect_pts的计算公式为:
expect_pts=pre_pts+duration
这里的duration为帧时长(即每一帧音频帧播放所需要时间),以音频采样率44100Hz为例,duration时间大约在23ms。
将当前音频帧的实际pts值(记录的时间戳)记为current_pts,其与当前帧的理论pts值expect_pts的差值即是“跳变差值”;
2.比较跳变差值:
若跳变差值=0,则说明书没有发生时间戳跳变,则不需要进行修复处理,进入步骤5的正常播放流程。
若跳变差值>3*duration,则按照市面上的主流播放器的容错处理手段,即在发生跳变的帧处(当前帧)补上跳变差值对应的帧数个静音帧,并更新pre_pts:pre_pts=current_pts;
比如:跳变差值为5个duration,则补上5个静音帧;这是因为时间戳跳变大于3*duration时,直接补静音对用户的体验影响较小。在补静音后进入步骤5的正常播放流程。
若1*duration≤跳变差值≤3*duration,说明时间戳跳变较小,此时如果按照主流播放器的容错处理手段直接补静音可能造成声音不连续(这种问题的根源是编码器编码音频pts异常导致的问题),为了尽量减小音量跳变,需要按照本申请的补静音策略进行处理,进入步骤3;
3.判断当前音频帧的分贝值:
将当前帧的分贝值与阈值进行比较,由于分贝值低于30dB时,人的耳朵是基本感受不到音频变化的,因此,将阈值设置为30dB。如果当前帧的分贝值大于或等于30dB,此时补静音会导致音频视听效果不连续,存在卡顿现象,则需要延时补静音。则继续等待下一帧音频到来,此时更新pre_pts为当前音频帧的理论pts,即:pre_pts=expect_pts,进入步骤4;
若当前帧的分贝值小于30dB,用户是感受不到音频变化的,在此时补静音可以保证音频的播放流畅,并更新pre_pts:pre_pts=current_pts(更新的目的是为了便于后面的帧的理论时间戳的计算)。补静音之后进入步骤5的正常播放流程。音频分贝值的计算基于音频帧解码过后的PCM计算,采用市面上主流算法。
4.音视频同步的判断:
在步骤3中对于当前帧分贝值大于或等于30dB的情况,为了避免视听效果不连续的情况,需要延时补静音,但此时当前帧已经发生了时间戳跳变,下一帧音频帧的实际时间戳都是在当前已经跳变的时间戳基础上进行累加的,有可能会导致下一帧的实际时间戳与理论时间戳差值进一步变大,当差值超过三帧就会导致音视频不同步。
为了避免造成音视频不同步的影响,需要计算下一帧音频的理论时间戳与实际时间戳之间的差值,若大于3*duration,则此时需要立刻补静音,在下一帧处补入跳变差值对应的帧数个静音帧,补静音完成后进入步骤5的正常播放流程。
若下一帧音频的理论时间戳与实际时间戳之间的差值未达到3*duration,则返回步骤3继续判断下一帧的分贝值(此时的“下一帧”即为“当前帧”)。
通过该机制,可以在保证音视频同步的同时,在发送时间戳跳变的帧附近分贝值较小的帧处补静音,从而最大程度减小对用户的视听影响。
5.播放器按照正常流程播放。
Claims (2)
1.优化播放器音频播放卡顿的方法,其特征在于,包括以下步骤:
a.实时记录码流的音频时间戳,根据上一帧的时间戳以及帧时长计算当前帧的理论时间戳,根据当前帧的理论时间戳与当前帧的实际时间戳计算跳变差值;
b.判断跳变差值:若1*duration≤跳变差值≤3*duration,则进入步骤c,若跳变差值=0,则进入步骤e,若跳变差值>3*duration,则在当前帧位置补上跳变差值对应的帧数个静音帧,进入步骤e,其中,duration为帧时长;
c.判断当前帧的分贝值:若当前帧的分贝值大于或等于阈值,则继续等待下一帧音频到来,进入步骤d;若小于阈值,则在当前帧位置补上跳变差值对应的帧个数个静音帧,进入步骤e;
d.计算下一帧音频的理论时间戳与实际时间戳之间的差值,若大于3*duration,则在播放所述下一帧位置补上差值对应的帧个数个静音帧,进入步骤f;否则,返回步骤c;
e.播放器按照正常流程播放。
2.如权利要求1所述的优化播放器音频播放卡顿的方法,其特征在于,
步骤c中所述阈值为30dB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910212585.6A CN109905763B (zh) | 2019-03-20 | 2019-03-20 | 优化播放器音频播放卡顿的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910212585.6A CN109905763B (zh) | 2019-03-20 | 2019-03-20 | 优化播放器音频播放卡顿的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905763A true CN109905763A (zh) | 2019-06-18 |
CN109905763B CN109905763B (zh) | 2021-09-10 |
Family
ID=66952411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910212585.6A Active CN109905763B (zh) | 2019-03-20 | 2019-03-20 | 优化播放器音频播放卡顿的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905763B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110996182A (zh) * | 2019-11-21 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN112153446A (zh) * | 2020-09-27 | 2020-12-29 | 海信视像科技股份有限公司 | 一种显示设备及流媒体视频音画同步方法 |
CN112423117A (zh) * | 2020-06-11 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Web端视频播放方法、装置及计算机设备 |
CN114339445A (zh) * | 2021-12-16 | 2022-04-12 | 以萨技术股份有限公司 | 实时视频流自适应协调系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101500170A (zh) * | 2008-01-28 | 2009-08-05 | 联发科技股份有限公司 | 用于补偿音频视频流中时序不匹配的方法 |
CN102215429A (zh) * | 2010-04-01 | 2011-10-12 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
EP2498495A1 (en) * | 2011-03-11 | 2012-09-12 | Thomson Licensing | Decoder and method at the decoder for synchronizing the rendering of contents received through different networks |
CN103327368A (zh) * | 2012-03-25 | 2013-09-25 | 联发科技股份有限公司 | 执行多媒体播放控制的方法及其装置 |
CN103731716A (zh) * | 2014-01-08 | 2014-04-16 | 珠海全志科技股份有限公司 | 一种ts流播放中的音视频同步方法 |
US20150082368A1 (en) * | 2013-09-16 | 2015-03-19 | Broadcom Corporation | Application specific policy implementation and stream attribute modification in audio video (av) media |
CN105846940A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 时间戳容错控制方法及装置 |
CN106507217A (zh) * | 2016-10-27 | 2017-03-15 | 腾讯科技(北京)有限公司 | 视频流的时间戳的处理方法和装置 |
CN107566890A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 |
CN108495164A (zh) * | 2018-04-09 | 2018-09-04 | 珠海全志科技股份有限公司 | 音视频同步处理方法及装置、计算机装置及存储介质 |
-
2019
- 2019-03-20 CN CN201910212585.6A patent/CN109905763B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101500170A (zh) * | 2008-01-28 | 2009-08-05 | 联发科技股份有限公司 | 用于补偿音频视频流中时序不匹配的方法 |
CN102215429A (zh) * | 2010-04-01 | 2011-10-12 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
EP2498495A1 (en) * | 2011-03-11 | 2012-09-12 | Thomson Licensing | Decoder and method at the decoder for synchronizing the rendering of contents received through different networks |
CN103327368A (zh) * | 2012-03-25 | 2013-09-25 | 联发科技股份有限公司 | 执行多媒体播放控制的方法及其装置 |
US20150082368A1 (en) * | 2013-09-16 | 2015-03-19 | Broadcom Corporation | Application specific policy implementation and stream attribute modification in audio video (av) media |
CN103731716A (zh) * | 2014-01-08 | 2014-04-16 | 珠海全志科技股份有限公司 | 一种ts流播放中的音视频同步方法 |
CN105846940A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 时间戳容错控制方法及装置 |
CN106507217A (zh) * | 2016-10-27 | 2017-03-15 | 腾讯科技(北京)有限公司 | 视频流的时间戳的处理方法和装置 |
CN107566890A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 |
CN108495164A (zh) * | 2018-04-09 | 2018-09-04 | 珠海全志科技股份有限公司 | 音视频同步处理方法及装置、计算机装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
GUO-SONG TIAN等: "High-Precision Relative Clock Synchronization Using Time Stamp Counters", 《13TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2008)》 * |
刘丽霞等: "基于FFMPEG解码的音视频同步实现", 《计算机工程与设计》 * |
胡治国等: "一种嵌入视频流的丢包自测量方法", 《软件学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110996182A (zh) * | 2019-11-21 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN110996182B (zh) * | 2019-11-21 | 2021-07-23 | 北京奇艺世纪科技有限公司 | 时间戳处理方法、装置、电子设备及计算机存储介质 |
CN112423117A (zh) * | 2020-06-11 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Web端视频播放方法、装置及计算机设备 |
CN112153446A (zh) * | 2020-09-27 | 2020-12-29 | 海信视像科技股份有限公司 | 一种显示设备及流媒体视频音画同步方法 |
CN114339445A (zh) * | 2021-12-16 | 2022-04-12 | 以萨技术股份有限公司 | 实时视频流自适应协调系统及方法 |
CN114339445B (zh) * | 2021-12-16 | 2023-09-05 | 以萨技术股份有限公司 | 实时视频流自适应协调系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109905763B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905763A (zh) | 优化播放器音频播放卡顿的方法 | |
US11386932B2 (en) | Audio modification for adjustable playback rate | |
US8947596B2 (en) | Alignment of closed captions | |
CN103747317B (zh) | 一种播放库在不稳定网络下的流畅播放控制方法 | |
CN107509100A (zh) | 音视频同步方法、系统、计算机装置及计算机可读存储介质 | |
EP2193645B1 (en) | Communication technique able to synchronise the received stream with that sent to another device | |
CN105245976B (zh) | 音频和视频同步播放的方法及系统 | |
CN103024603B (zh) | 一种用于解决播放网络视频时短时停顿的装置及方法 | |
CN101715046B (zh) | 电子设备和内容再现方法 | |
CN105187896B (zh) | 多分段的媒体文件播放方法和系统 | |
WO2017067489A1 (zh) | 机顶盒音视频同步的方法及装置、存储介质 | |
CN105979347A (zh) | 一种视频的播放方法和装置 | |
CN101710997A (zh) | 基于mpeg-2系统实现视、音频同步的方法及系统 | |
KR101132043B1 (ko) | 디코더 장치 및 디코드 방법 | |
CN1883198A (zh) | 基于周围的节目内容将广告插入视频流 | |
CN109714622B (zh) | 一种视频数据处理方法、装置及电子设备 | |
CN107690073A (zh) | 一种视频直播方法及视频直播服务器 | |
US20090313652A1 (en) | Ad splicing using re-quantization variants | |
CN101938628A (zh) | 互联网直播信号动态切换方法 | |
CN110519627B (zh) | 一种音频数据的同步方法和装置 | |
CN108989883A (zh) | 一种直播广告方法、装置、设备及介质 | |
CN109275008A (zh) | 一种音视频同步的方法和装置 | |
CN104639955A (zh) | 检测mpeg2-ts vbr码流质量问题的方法 | |
CN103428584A (zh) | 多媒体播放平台上保持音视频同步的方法及设备 | |
CN107295403A (zh) | 视频间无缝衔接播放的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |