CN112911377A - 一种视频播放和缓存间适配系统及算法 - Google Patents
一种视频播放和缓存间适配系统及算法 Download PDFInfo
- Publication number
- CN112911377A CN112911377A CN202110135530.7A CN202110135530A CN112911377A CN 112911377 A CN112911377 A CN 112911377A CN 202110135530 A CN202110135530 A CN 202110135530A CN 112911377 A CN112911377 A CN 112911377A
- Authority
- CN
- China
- Prior art keywords
- video
- module
- data
- frequency
- cache
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
Abstract
发明公开了一种视频播放和缓存间适配系统及算法,所述系统包括View模块,用于提供操作和播放界面;连接模块,用于并获取视频数据并连接数据缓存模块;数据缓存模块,用于接收视频数据并缓存中,等待被使用;视频中转模块,用于负责以频率适配器计算出的动态新频率从缓存数据中读取数据并转交解码模块做视频解码;频率适配器,用于在收到第一帧后开始工作,并在每帧播放结束后读取缓存的大小,计算出当前合适的播放频率,然后控制视频中转模块后续以所述当前合适的播放频率作为动态新频率,在等待间隔时间内,完成视频中转的工作,等待间隔时间后,再开始下个视频中转循环;解码模块,用于将解码后的视频画面上传到View模块。
Description
技术领域
发明涉及视频处理技术领域,具体为一种视频播放和缓存间适配系统及算法。
背景技术
在车载机视频监控摄像并通过无线传输到后台服务,再传到终端的过程中,存在如下问题:1、由于网络等原因,导致每秒传输和接受的帧数,会有较大的起伏,直接播放会有忽快忽慢的现象。2由于不同摄像设备每秒录制和上传的帧数也不同,按照固定帧数播放会有缓存积压或播放延迟。
目前视频播放一般采用MVC设计模式,View提供操作和播放界面,Controller控制流程和中转数据,Model获取数据和视频解码,如图1所示。原流程中,在socket连接建立并获取数据后,transfer负责以固定频率从buffer 缓存中读取数据并转交decode做视频解码,然后将视频画面回传到surface播放。
但是存在问题:当网速较慢,缓存过少时,可能会频繁出现将视频数据播完,有卡顿感;当网速较快,缓存过多时,会使得当前播放的视频,较实时延迟几秒或更多,影响查看效果。
基于此,发明设计了一种视频播放和缓存间适配系统及算法,以解决上述提到的问题。
发明内容
发明的目的在于提供一种视频播放和缓存间适配系统及算法,将从缓存获取视频并播放的固定频率(25帧/秒)改为依据缓存大小正比调整的及时动态频率:网速较低缓存较小时降低频率;网速较高缓存较大时提高频率。以解决上述提到的问题。
为实现上述目的,发明提供如下技术方案:一种视频播放和缓存间适配系统及算法,所述系统包括
View模块,用于提供操作和播放界面;
连接模块,用于并获取视频数据并连接数据缓存模块;
数据缓存模块,用于接收视频数据并缓存中,等待被使用;
视频中转模块,用于负责以频率适配器计算出的动态新频率从缓存数据中读取数据并转交解码模块做视频解码;
频率适配器,用于在收到第一帧后开始工作,并在每帧播放结束后读取缓存的大小,计算出当前合适的播放频率,然后控制视频中转模块后续以所述当前合适的播放频率作为动态新频率,在等待间隔时间内,完成视频中转的工作,等待间隔时间后,再开始下个视频中转循环;
解码模块,用于将解码后的视频画面上传到View模块。
优选的,所述频率适配器的算法为:
若buffer Size∈(0,BUFFER_LENGTH/n)
则,rate∈(RATE_MIN,1),
FPS∈(f*RATE_MIN,f);
若buffer Size∈(BUFFER_RATIO,BUFFER_LENGTH)
则,rate∈(1,n),
FPS∈(f,f*n);
其中,f为固定频率,FPS为动态频率,BUFFER_LENGTH为缓存总数, BUFFER_RATIO为缓存比例基准,RATE_MIN为最低播放速率倍速,n为最高播放速率倍速,RATE_MIN为最低播放速率倍速,buffer Size为实时缓存大小,rate为适配当前缓存的播放速率。
优选的,所述固定频率为25帧/秒。
与现有技术相比,发明的有益效果是:该种视频播放和缓存间适配系统及算法,将从缓存获取视频并播放的固定频率(25帧/秒)改为依据缓存大小正比调整的及时动态频率:网速较低缓存较小时降低频率;网速较高缓存较大时提高频率,能够达到根据缓存大小来适配相应的播放速度,提高播放的平滑和流畅度,以提升用户体验。
附图说明
为了更清楚地说明发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术系统框图;
图2为发明系统框图;
图3为发明频率适配器适配流程图;
图4为发明播放速度在最小1/2倍速到4倍速之间,播放速度和缓存间的关系图。
具体实施方式
下面将结合发明实施例中的附图,对发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是发明一部分实施例,而不是全部的实施例。基于发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于发明保护的范围。
请参阅图2-3,发明提供一种技术方案:一种视频播放和缓存间适配系统及算法,所述系统包括
View模块,用于提供操作和播放界面;
连接模块,用于并获取视频数据并连接数据缓存模块;
数据缓存模块,用于接收视频数据并缓存中,等待被使用;
视频中转模块,用于负责以频率适配器计算出的动态新频率从缓存数据中读取数据并转交解码模块做视频解码;
频率适配器,用于在收到第一帧后开始工作,并在每帧播放结束后读取缓存的大小,计算出当前合适的播放频率,然后控制视频中转模块后续以所述当前合适的播放频率作为动态新频率,在等待间隔时间内,完成视频中转的工作,等待间隔时间后,再开始下个视频中转循环;
解码模块,用于将解码后的视频画面上传到View模块。
所述频率适配器的算法为:
若buffer Size∈(0,BUFFER_LENGTH/n)
则,rate∈(RATE_MIN,1),
FPS∈(f*RATE_MIN,f);
若buffer Size∈(BUFFER_RATIO,BUFFER_LENGTH)
则,rate∈(1,n),
FPS∈(f,f*n);
其中,f为固定频率,FPS为动态频率,BUFFER_LENGTH为缓存总数, BUFFER_RATIO为缓存比例基准,RATE_MIN为最低播放速率倍速,n为最高播放速率倍速,RATE_MIN为最低播放速率倍速,buffer Size为实时缓存大小,rate为适配当前缓存的播放速率。
通常的连接模块将从缓存获取视频并播放的固定频率25帧/秒,本发明以缓存的1/n为基准,正常1倍播放速度为每秒25帧,最低播放速率倍速 RATE_MIN为1/m。
当实时缓存大小buffer Size处于总数的0-1/n区间,算法会在1/m倍~1 倍范围内调整基准播放速度,每秒播放帧数(25/m-25)帧;当实时缓存大小 buffer Size处于总数的1/n-1区间,算法会在1倍-n倍范围内调整基准播放速度,每秒播放帧数(25-25n)帧。
如图4所示是控制播放速度在最小1/2倍速到4倍速之间,播放速度和缓存间的关系图。
场景一:当网络状况不理想,数据传输较慢时,buffer缓存大小会低于基准值。
这时频率适配器adapter就会感知并开始进行微调-减小播放频率;随着 buffer越来越小,播放速度会曲线降低,最后停留在半速(12.5帧/秒),使得视频播放尽量不给人卡顿感。
场景二:当网络较好,数据传输较快或之前积压数据恢复时,buffer缓存大小会高于基准值。
这时adapter就会感知并开始进行微调-增大播放频率;随着buffer越来越大,播放速度会曲线升高,经过验证大多数情况会在2倍速之前,播放掉缓存中高出基准值的数据,平稳恢复正常播放速度,尽量不给人快进的突兀感。之所以最高设为4倍速(100帧/秒),是为了防止某段时间数据传输异常快的情况下缓存溢出丢失数据。
场景三:网速上下波动较大较频繁,因为播放每帧后都会检查缓存数量并及时计算调整下帧的播放频率,因为数据是线性增减,播放频率也随之线性增减,就可以减少和缓和网速对播放效果的影响。
本发明能够达到根据缓存大小来适配相应的播放速度,提高播放的平滑和流畅度,以提升用户体验。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的发明优选实施例只是用于帮助阐述发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用发明。发明仅受权利要求书及其全部范围和等效物的限制。
Claims (3)
1.一种视频播放和缓存间适配系统及算法,其特征在于:所述系统包括View模块,用于提供操作和播放界面;
连接模块,用于并获取视频数据并连接数据缓存模块;
数据缓存模块,用于接收视频数据并缓存中,等待被使用;
视频中转模块,用于负责以频率适配器计算出的动态新频率从缓存数据中读取数据并转交解码模块做视频解码;
频率适配器,用于在收到第一帧后开始工作,并在每帧播放结束后读取缓存的大小,计算出当前合适的播放频率,然后控制视频中转模块后续以所述当前合适的播放频率作为动态新频率,在等待间隔时间内,完成视频中转的工作,等待间隔时间后,再开始下个视频中转循环;
解码模块,用于将解码后的视频画面上传到View模块。
2.根据权利要求1所述的一种视频播放和缓存间适配系统及算法,其特征在于:所述频率适配器的算法为:
若buffer Size∈(0,BUFFER_LENGTH/n)
则,rate∈(RATE_MIN,1),
FPS∈(f*RATE_MIN,f);
若buffer Size∈(BUFFER_RATIO,BUFFER_LENGTH)
则,rate∈(1,n),
FPS∈(f,f*n);
其中,f为固定频率,FPS为动态频率,BUFFER_LENGTH为缓存总数,BUFFER_RATIO为缓存比例基准,RATE_MIN为最低播放速率倍速,n为最高播放速率倍速,RATE_MIN为最低播放速率倍速,buffer Size为实时缓存大小,rate为适配当前缓存的播放速率。
3.根据权利要求2所述的一种视频播放和缓存间适配系统及算法,其特征在于:所述固定频率为25帧/秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110135530.7A CN112911377B (zh) | 2021-02-01 | 2021-02-01 | 一种视频播放和缓存间适配系统及算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110135530.7A CN112911377B (zh) | 2021-02-01 | 2021-02-01 | 一种视频播放和缓存间适配系统及算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112911377A true CN112911377A (zh) | 2021-06-04 |
CN112911377B CN112911377B (zh) | 2022-10-21 |
Family
ID=76122504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110135530.7A Active CN112911377B (zh) | 2021-02-01 | 2021-02-01 | 一种视频播放和缓存间适配系统及算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112911377B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259660A (zh) * | 2021-06-11 | 2021-08-13 | 宁波星巡智能科技有限公司 | 基于动态编码帧的视频压缩传输方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111674A (zh) * | 2010-12-22 | 2011-06-29 | 深圳市五巨科技有限公司 | 一种移动终端播放在线视频的系统、方法及移动终端 |
CN102185835A (zh) * | 2011-04-14 | 2011-09-14 | 广东威创视讯科技股份有限公司 | 一种实时网络信号播放方法及装置 |
CN102665131A (zh) * | 2012-04-27 | 2012-09-12 | 山东省计算中心 | 一种网络视频服务系统接收端的视频缓冲方法 |
CN103402136A (zh) * | 2013-07-29 | 2013-11-20 | 重庆大学 | 自适应调整缓存的控制方法、装置及自适应播放器 |
US20140049689A1 (en) * | 2011-12-05 | 2014-02-20 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for streaming media data processing, and streaming media playback equipment |
CN105376607A (zh) * | 2015-10-29 | 2016-03-02 | 深圳云聚汇数码有限公司 | 一种网络抖动环境下的视频直播方法及装置 |
CN105392023A (zh) * | 2015-10-29 | 2016-03-09 | 深圳云聚汇数码有限公司 | 一种网络抖动环境下的视频直播方法及装置 |
-
2021
- 2021-02-01 CN CN202110135530.7A patent/CN112911377B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111674A (zh) * | 2010-12-22 | 2011-06-29 | 深圳市五巨科技有限公司 | 一种移动终端播放在线视频的系统、方法及移动终端 |
CN102185835A (zh) * | 2011-04-14 | 2011-09-14 | 广东威创视讯科技股份有限公司 | 一种实时网络信号播放方法及装置 |
US20140049689A1 (en) * | 2011-12-05 | 2014-02-20 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for streaming media data processing, and streaming media playback equipment |
CN102665131A (zh) * | 2012-04-27 | 2012-09-12 | 山东省计算中心 | 一种网络视频服务系统接收端的视频缓冲方法 |
CN103402136A (zh) * | 2013-07-29 | 2013-11-20 | 重庆大学 | 自适应调整缓存的控制方法、装置及自适应播放器 |
CN105376607A (zh) * | 2015-10-29 | 2016-03-02 | 深圳云聚汇数码有限公司 | 一种网络抖动环境下的视频直播方法及装置 |
CN105392023A (zh) * | 2015-10-29 | 2016-03-09 | 深圳云聚汇数码有限公司 | 一种网络抖动环境下的视频直播方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259660A (zh) * | 2021-06-11 | 2021-08-13 | 宁波星巡智能科技有限公司 | 基于动态编码帧的视频压缩传输方法、装置、设备及介质 |
CN113259660B (zh) * | 2021-06-11 | 2021-10-29 | 宁波星巡智能科技有限公司 | 基于动态编码帧的视频压缩传输方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112911377B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6707852B1 (en) | Digital video signal encoder and encoding method | |
US6118817A (en) | Digital video signal encoder and encoding method having adjustable quantization | |
CN101583025B (zh) | 一种流媒体播放方法及装置 | |
US5903673A (en) | Digital video signal encoder and encoding method | |
US7421508B2 (en) | Playback of streamed media | |
CN110769296B (zh) | 一种传输时基于本地缓存的视频码率自适应调节方式 | |
WO2016131223A1 (zh) | 一种视频帧丢帧方法及视频发送装置 | |
CN101466034A (zh) | 发送、播放流媒体数据的方法和装置及流媒体点播系统 | |
CN106792154B (zh) | 视频播放器的跳帧同步系统及其控制方法 | |
CN103916716A (zh) | 一种无线网络下视频实时传输的码率平滑方法 | |
CN202799004U (zh) | 一种视频播放终端及系统 | |
CN107205160A (zh) | 一种针对服务器下发的视频的播放方法及装置 | |
CN105072345A (zh) | 视频编码方法和装置 | |
CN108259964B (zh) | 一种视频播放速率调整方法及系统 | |
WO2022052566A1 (zh) | 视频码率调整方法、装置、电子设备和机器可读存储介质 | |
CN112911377B (zh) | 一种视频播放和缓存间适配系统及算法 | |
CN105872722A (zh) | 一种在线视频起播缓冲系统和方法 | |
CN101909210A (zh) | 一种网络流媒体服务器及其低带宽高质量解决方法 | |
CN111491201B (zh) | 调整视频码流的方法及视频丢帧处理方法 | |
CN108965807B (zh) | 实时视频的播放控制方法、装置、终端及存储介质 | |
CN102387409A (zh) | 基于流媒体系统的视频播放方法 | |
CN108810468B (zh) | 一种优化显示效果的视频传输装置及方法 | |
TW201909630A (zh) | 視訊編碼裝置及相應地視訊編碼方法 | |
CN110072125A (zh) | 视频播放方法及装置 | |
CN111683288A (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 | ||
CP03 | Change of name, title or address |
Address after: 14 / F, Hualu building, 717 Huangpu Road, Dalian hi tech Industrial Park, Liaoning 116000 Patentee after: Hualu Zhida Technology Co.,Ltd. Address before: 116085 14 / F, Hualu building, 717 Huangpu Road, Dalian hi tech Industrial Park, Liaoning Province Patentee before: Hualu Zhida Technology Co.,Ltd. |
|
CP03 | Change of name, title or address |