基于视频流的数据传输方法、设备和存储介质转让专利
申请号 : CN202010296928.4
文献号 : CN111478916B
文献日 : 2021-09-21
发明人 : 谭登峰 , 其他发明人请求不公开姓名
申请人 : 北京仁光科技有限公司
摘要 :
权利要求 :
1.一种基于视频流的数据传输方法,服务器端对视频流进行编码得到关键帧和非关键帧,其特征在于,还包括如下步骤:服务器端监测新用户对视频流的连接;服务器端进行累加计时;其中,服务器端自首次对视频流进行关键帧编码的时刻起进行累加计时;
当服务器端监测到新用户的连接时,产生第一帧数据,所述第一帧数据可被新用户端直接进行显示;以及每当服务器端累加计时达到要求时,服务器端对视频流的视频帧进行关键帧编码;其中,服务器端累加计时的时长为固定值,其中所述固定值为关键帧编码的周期;
新用户端接收所述第一帧数据以及后续帧数据;
新用户端处理并显示所接收的帧数据;
所述第一帧数据为当服务器端监测到新用户的连接时,服务器端对视频流当前视频帧进行关键帧编码得到的帧数据;
服务器端对视频流进行第i次关键帧编码的时刻为ti,服务器端对视频流进行关键帧编码的周期为T2;若在ti与(ti+T2)时刻之间,服务器端未监测到新用户的连接,则服务器端对视频流进行第(i+1)次关键帧编码的时刻ti+1满足如下条件:ti+1=T2+ti;
若在ti与(ti+T2)时刻之间,服务器端监测到新用户的连接,在ti与(ti+T2)时刻之间最后一位新用户连接入视频流的时刻为q1,在q1之后,服务器端对视频流进行首次关键帧编码的时刻为r,则有,r=q1+T2。
2.一种基于视频流的数据传输方法,服务器端对视频流进行编码得到关键帧和非关键帧,其特征在于,还包括如下步骤:服务器端监测新用户对视频流的连接;服务器端进行累加计时;其中,服务器端自首次对视频流进行关键帧编码的时刻起进行累加计时;
当服务器端监测到新用户的连接时,产生第一帧数据,所述第一帧数据可被新用户端直接进行显示;以及每当服务器端累加计时达到要求时,服务器端对视频流的视频帧进行关键帧编码;其中,服务器端累加计时的时长为固定值,其中所述固定值为关键帧编码的周期;
所述第一帧数据为当服务器端监测到新用户的连接时,服务器端对视频流当前视频帧进行关键帧编码得到的帧数据;
服务器端对视频流进行第i次关键帧编码的时刻为ti,服务器端对视频流进行关键帧编码的周期为T2;若在ti与(ti+T2)时刻之间,服务器端未监测到新用户的连接,则服务器端对视频流进行第(i+1)次关键帧编码的时刻ti+1满足如下条件:ti+1=T2+ti;
若在ti与(ti+T2)时刻之间,服务器端监测到新用户的连接,在ti与(ti+T2)时刻之间最后一位新用户连接入视频流的时刻为q1,在q1之后,服务器端对视频流进行首次关键帧编码的时刻为r,则有,r=q1+T2。
3.一种基于视频流的数据显示设备,其包括存储器和处理器;其中,所述存储器用于存储可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行根据权利要求2所述的基于视频流的数据传输方法。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求2所述的基于视频流的数据传输方法。
说明书 :
基于视频流的数据传输方法、设备和存储介质
技术领域
背景技术
提出申请的申请日的现有技术。
帧的所有信息可以直接显示,但是关键帧的数据量很大,为了减少编码后的数据量,在编码
过程中会产生大量的数据量很小的非关键帧,非关键帧只包含了与关键帧的差异信息,必
须在关键帧的配合下才能显示,没有办法直接显示。
秒的间隔,在这个期间新连接的用户无法获取到关键帧,不能正常显示画面,用户只能等到
下一个关键帧到来才能正常显示画面,中间的空白期是对用户不友好的。
发明内容
行关键帧编码的周期;k为正整数。
编码的时刻为r,则有,r=q1+T2。
行关键帧编码的周期;k为正整数。
编码的时刻为r,则有,r=q1+T2。
器中存储的可执行程序代码以执行所述的基于视频流的数据传输方法。
法。
数据,新用户端处理接收到的第一帧数据以及第一帧数据之后的帧数据,并进行显示,从而
避免了在两个关键帧之间接入的新用户无法及时获取到关键帧,保证画面及时显示。
附图说明
具体实施方式
例及实施例中的特征可以相互组合。
的具体实施例的限制。
和/或不同实施例的所有可能组合。因而,如果一个实施例包含A、B、C,另一个实施例包含B
和D的组合,那么本发明也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实
施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
务器端监测到新用户的连接时,产生第一帧数据,第一帧数据可被新用户端直接进行显示;
步骤S03,新用户端接收第一帧数据以及后续帧数据;新用户端处理并显示所接收的帧数
据。
户端,用户端包括新用户的用户端以及播放用户的用户端(即在新用户接入视频流之前与
视频流连接的用户端)。在新用户的用户端接入视频流时,新用户的用户端向服务器端发送
播放请求,服务器端的连接控制服务模块接收播放请求,同时服务器端产生第一数据帧,第
一帧数据例如可以通过直接将接收的视频流编码为关键帧来获取 (如下面围绕图3所描述
的),或者可以通过计算方式(如下面要进一步描述的)产生所述第一帧数据,以使所述第一
帧数据可被新用户端直接进行显示。数据服务模块为连接的新用户端提供第一帧数据以及
后续的帧数据。新用户端接收第一帧数据以及后续的帧数据并进行显示。
的第一帧数据以及第一帧数据之后的帧数据,并进行显示,从而避免了在两个关键帧之间
接入的新用户必须等待下一个关键帧的到来而导致画面延迟的问题,保证画面及时显示。
进行关键帧编码。其中,服务器端累加计时的时长为固定值。
的关键帧,以及自新用户端接入视频流时刻之后服务器端对视频流进行编码得到的帧数
据,直至该用户端结束播放;对于原有播放用户的用户端,其接收的帧数据为自其接入视频
流时刻起,服务器端对视频流进行的编码得到的帧数据,对于在新用户端接入视频流时刻
产生的关键帧,服务器端可以发送至原有播放用户的用户端,也可以不发送至原有播放用
户的用户端。
t0为服务器端对视频流进行首次关键帧编码的时刻,T1为服务器端对视频流进行关键帧编
码的周期;k为正整数。在此基础上,设服务器端对视频流的视频帧进行第i次关键帧编码的
时刻为ti,若在ti与(ti+T1)时刻之间,未监测到新用户端接入视频流,则服务器端对视频流
的视频帧进行第(i+1)次关键帧编码的时刻ti+1满足如下条件:ti+1= T1+ti;若在ti与(ti+
T1)时刻之间,监测到新用户端接入视频流,在ti与 (ti+T1)时刻之间最后一位新用户的用
户端连接入视频流的时刻为Q1,在 Q1之后,服务器端对视频流的视频帧进行关键帧编码的
时刻为tn,则有, tn=ti+nT1,n为整数。换言之,服务器端对视频流的视频帧进行关键帧编
码包括如下两种情况:(1)当服务器端监测到新用户的连接入视频流时; (2)当到达th时刻
时,在第二种情况中,th=t0+hT1,其中,t0为服务器端对视频流进行首次关键帧编码的时
刻,T1为服务器端对视频流进行关键帧编码的周期,h为正整数。
第一帧数据以及第一帧数据之后的帧数据,并进行显示,确保了新用户接入后画面显示的
实时性,避免了画面的延迟,而且新用户的用户端接入不改变原有的对视频流的帧数据进
行关键帧编码的时刻,保证对原有播放用户的显示稳定顺畅。
(ti+T2)时刻之间,服务器端未监测到新用户的连接,则服务器端对视频流进行第(i+1)次关
键帧编码的时刻ti+1满足如下条件:ti+1=T2+ti;若在ti与(ti+T2)时刻之间,服务器端监测到
新用户的连接,在ti与(ti+T2)时刻之间最后一位新用户连接入视频流的时刻为 q1,在q1之
后,服务器端对视频流进行首次关键帧编码的时刻为r,则有, r=q1+T2。此实施例和前面实
施例的不同之处在于,除此之外,前面围绕图 1和2所做的其他描述也适用于该实施例,为
简化起见,此处不再赘述。
端处理接收到的第一帧数据以及第一帧数据之后的帧数据,并进行显示。并且,当有新用户
的用户端接入视频流时,改变原有的对视频流的帧数据进行关键帧编码的时刻,保证新用
户的接入体验,避免了新用户接入初期出现画面播放卡顿或者播放过快等情形的出现。
的编码为关键帧编码,则编码得到的帧数据为第一帧数据;若在第一时刻,服务器端对视频
流当前视频帧所进行的编码为非关键帧编码;第一时刻编码得到的帧数据为第一非关键
帧,与第一非关键帧配合显示的关键帧为第一关键帧,则第一帧数据为对第一关键帧至第
一非关键帧的所有帧数据进行运算得到的帧数据。为实现在第一时刻,对第一关键帧至第
一非关键帧的所有帧数据进行运算,本说明书基于视频流的数据传输方法的某些实施例中
可以包含存储端,存储端存储第一关键帧至第一非关键帧的所有帧数据,便于后期调用计
算。在该实施例中,服务器端监测新用户的接入视频流的动作,当监测到新用户接入视频流
时,通过对第一关键帧至第一非关键帧的所有帧数据进行运算产生第一帧数据,新用户的
用户端处理接收到的第一帧数据以及第一帧数据之后的帧数据,并进行显示,从而避免了
在两个关键帧之间接入的新用户无法及时获取到关键帧,保证画面及时显示。
置为当监测到新用户端接入视频流时,产生第一帧数据,第一帧数据可被用户端直接显示;
数据服务模块,数据服务模块被配置为向新用户的用户端发送第一帧数据以及第一帧数据
之后的帧数据。通过监测新用户的接入视频流的动作,当监测到新用户端接入视频流时,产
生可被新用户的用户端直接显示的第一帧数据,新用户的用户端处理接收到的第一帧数据
以及第一帧数据之后的帧数据,并进行显示,从而避免了在两个关键帧之间接入的新用户
端无法及时获取到关键帧,保证画面及时显示。
为根据流数据增加新用户的用户端与视频流的数据连接;连接控制服务模块被配置为,当
新用户的用户端与视频流建立连接时,接收新用户的用户端发出的播放请求并处理。
据服务模块被配置为根据连接控制服务模块的通知减少连接并向连接控制服务模块发送
减少连接响应;连接控制服务模块被配置为接收减少连接响应并向用户端发送结束播放响
应。
开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、
PDA(个人数字助理)、 PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导
航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设
备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
(RAM)303中的程序而执行前述实施例中的基于视频流的数据传输方法。处理装置301、ROM
302以及 RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线 304。
器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通
信装置309可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出
了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。
上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实
施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308
被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例
的方法中限定的上述功能。
计算机可读指令41。当该非暂时性计算机可读指令41由处理器运行时,执行前述的本公开
各实施例的基于视频流的数据传输方法的全部或部分步骤。
于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可
读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计
算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器
(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器 (CD‑ROM)、光存储器件、磁存储器件、或
者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序
的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公
开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中
承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电
磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储
介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由
指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程
序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的
任意合适的组合。
表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上
可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注
意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执
行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
数据,新用户端处理接收到的第一帧数据以及第一帧数据之后的帧数据,并进行显示,从而
避免了在两个关键帧之间接入的新用户无法及时获取到关键帧,保证画面及时显示。
施例或示例中。在本申请中,对上述术语的示意性表述不一定指的是相同的实施例或实例。
而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适
的方式结合。
等同替换、改进等,均应包含在本发明的保护范围之内。