CN103929682B - 一种在视频直播系统中设置关键帧的方法及装置 - Google Patents

一种在视频直播系统中设置关键帧的方法及装置 Download PDF

Info

Publication number
CN103929682B
CN103929682B CN201410120922.6A CN201410120922A CN103929682B CN 103929682 B CN103929682 B CN 103929682B CN 201410120922 A CN201410120922 A CN 201410120922A CN 103929682 B CN103929682 B CN 103929682B
Authority
CN
China
Prior art keywords
frame
video
frames
key frame
user
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
CN201410120922.6A
Other languages
English (en)
Other versions
CN103929682A (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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201410120922.6A priority Critical patent/CN103929682B/zh
Publication of CN103929682A publication Critical patent/CN103929682A/zh
Application granted granted Critical
Publication of CN103929682B publication Critical patent/CN103929682B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种在视频直播系统中设置关键帧的方法及装置,属于互联网通讯领域。该方法包括:将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,第一预设阈值小于第二预设阈值;如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频;如果存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为I帧;如果不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧。本发明提高了直播视频的压缩率,进而节省了码率。

Description

一种在视频直播系统中设置关键帧的方法及装置
技术领域
本发明涉及互联网通讯领域,特别涉及一种在视频直播系统中设置关键帧的方法及装置。
背景技术
在视频直播系统中,正在直播的视频依赖于网络传输给用户。由于观看该直播视频的用户可以随时接入该网络,并且当该网络状况不好时会出现丢包的情况,所以为了使新接入网络的用户快速观看到该直播视频以及丢包时快速恢复该直播视频,需要在该视频直播系统中设置关键帧。
目前,提供了一种在视频直播系统中设置关键帧的方法,具体可以为:获取当前录制的视频帧,以及获取当前录制的视频帧之前且离当前录制的视频帧最近的关键帧,获取当前录制的视频帧与该关键帧之间的视频帧的个数,如果该个数等于预设阈值,则将当前录制的视频帧设置为I帧(intra picture,内部帧)关键帧。
其中,I帧包括该帧图像的所有信息,并且终端对I帧进行解码时不依赖于其他的视频帧,所以当新用户接入网络时,终端接收到I帧关键帧后对该I帧立即进行解码就可以快速地观看该直播视频;并且当出现丢包的情况时,终端接收到I帧关键帧后对该I帧进行解码就可以快速地观看该直播视频,并且当后续接收到视频帧时,后续的视频帧参考该I帧关键帧进行解码,进而恢复该直播视频。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于I帧包括该帧图像的所有信息,所以I帧的压缩率最低,而现有技术将关键帧都设置为I帧,降低了直播视频的压缩率,进而浪费了码率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种在视频直播系统中设置关键帧的方法及装置。所述技术方案如下:
一方面,提供了一种在视频直播系统中设置关键帧的方法,所述方法包括:
将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,所述第一预设阈值小于所述第二预设阈值;
如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频;
如果存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为I帧;
如果不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧。
进一步地,所述如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频之后,还包括:
判断所述时间段内网络视频在线播放是否存在丢失的视频帧;
相应地,所述如果不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧,包括:
如果在所述时间段内存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为PI帧;
如果在所述时间段内不存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为P帧。
进一步地,所述如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频之前,还包括:
接收服务器发送的第一个数,所述第一个数为所述时间段内接入所述网络视频的用户的个数;或者,
接收所述服务器发送的接入指示值,所述接入指示值用于指示在所述时间段内是否存在接入所述网络视频的用户。
进一步地,所述判断所述时间段内网络视频在线播放是否存在丢失的视频帧之前,还包括:
接收服务器发送的第二个数,所述第二个数为所述时间段内丢失的视频帧的个数;或者,
接收所述服务器发送的丢帧指示值,所述丢帧指示值用于指示在所述时间段内是否存在丢失的视频帧。
另一方面,提供了一种在视频直播系统中设置关键帧的装置,所述装置包括:
生成模块,用于将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,所述第一预设阈值小于所述第二预设阈值;
第一判断模块,用于如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频;
第一设置模块,用于如果存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为I帧;
第二设置模块,用于如果不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧。
进一步地,所述装置还包括:
第二判断模块,用于判断所述时间段内网络视频在线播放是否存在丢失的视频帧;
相应地,所述第二设置模块包括:
第一设置单元,用于如果在所述时间段内存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为PI帧;
第二设置单元,用于如果在所述时间段内不存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为P帧。
进一步地,所述装置还包括:
第一接收模块,用于接收服务器发送的第一个数,所述第一个数为所述时间段内接入所述网络视频的用户的个数;或者,
第二接收模块,用于接收所述服务器发送的接入指示值,所述接入指示值用于指示在所述时间段内是否存在接入所述网络视频的用户。
进一步地,所述装置还包括:
第三接收模块,用于接收服务器发送的第二个数,所述第二个数为所述时间段内丢失的视频帧的个数;或者,
第四接收模块,用于接收所述服务器发送的丢帧指示值,所述丢帧指示值用于指示在所述时间段内是否存在丢失的视频帧。
在本发明实施例中,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每个第二预设阈值个数的视频帧生成一个固定I帧关键帧;而且自适应关键帧根据是否有用户接入网络视频来设置其编码类型,由于P帧和PI帧的压缩率高于I帧的压缩率,所以,本发明实施例提供的设置关键帧的方法在不影响用户观看视频效果的前提下,可以提高直播视频的压缩率,进而节省码率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种在视频直播系统中设置关键帧的方法流程图;
图2是本发明实施例二提供的一种在视频直播系统中设置关键帧的方法流程图;
图3是本发明实施例三提供的一种在视频直播系统中设置关键帧的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种在视频直播系统中设置关键帧的方法,参见图1,该方法包括:
步骤101:将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,第一预设阈值小于第二预设阈值;
优选地,第二预设阈值是第一预设阈值的整数倍,比如:第二预设阈值可以取值为100,第一预设阈值取值为20;也就是说在对网络视频进行压缩编码时,每隔20帧生成一个自适应关键帧,每隔100帧生成一个固定I帧关键帧。
步骤102:如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频;
这里所说的上一个关键帧,可以是上述的自适应关键帧,也可以是固定I帧关键帧,只要是离当前视频帧最接近的上一个关键帧即可。
步骤103:如果存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为I帧;
因为新用户接入网络视频时,必须接收到I帧作为参考帧才能对后续的视频帧进行解码播放。
步骤104:如果不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为P(Predicted frames)帧或PI帧。
由于在同等观看效果的前提下,P帧和PI帧的压缩率比I帧要大,所以在没有新用户接入观看视频的时候,可以提高网络视频的压缩率,减小视频数据包的大小,从而降低网络传输的带宽压力。
进一步地,如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频之后,还包括:
判断该时间段内网络视频在线播放是否存在丢失的视频帧;
相应地,如果不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧,包括:
如果在该时间段内存在丢失的视频帧且不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置为PI帧;
如果在该时间段内不存在丢失的视频帧且不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置为P帧。
由于P帧比PI帧的压缩率高,所以在丢包的情况下,为了快速恢复视频,将自适应关键帧设置为PI帧,以便于保证视频解码播放时在线用户的观看效果。
进一步地,如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频之前,还包括:
接收服务器发送的第一个数,第一个数为该时间段内接入该网络视频的用户的个数;或者,
接收该服务器发送的接入指示值,该接入指示值用于指示在该时间段内是否存在接入该网络视频的用户。
进一步地,判断该时间段内网络视频在线播放是否存在丢失的视频帧之前,还包括:
接收服务器发送的第二个数,第二个数为该时间段内丢失的视频帧的个数;或者,
接收服务器发送的丢帧指示值,该丢帧指示值用于指示在该时间段内是否存在丢失的视频帧。
在本发明实施例中,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每个第二预设阈值个数的视频帧生成一个固定I帧关键帧。而且自适应关键帧根据是否有用户接入网络视频来设置其编码类型,由于P帧和PI帧的压缩率高于I帧的压缩率,所以,本发明实施例提供的设置关键帧的方法在不影响用户观看视频效果的前提下,可以提高直播视频的压缩率,进而节省码率。
实施例二
本发明实施例提供了一种在视频直播系统中设置关键帧的方法,参见图2,该方法包括:
步骤201:将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,第一预设阈值小于第二预设阈值;
具体地,第一终端录制预设时间段内的网络视频数据,并将录制的网络视频数据进行压缩生成视频帧,从已生成的视频帧中获取上一个固定I帧关键帧,如果将当前录制的网络视频数据进行压缩生成的视频帧与上一个固定I帧关键帧之间的视频帧的个数等于第二预设阈值,则确定当前要生成固定I帧关键帧;否则,从已生成的视频帧中获取上一个自适应关键帧,如果上一个自适应关键帧与将当前录制的网络视频数据进行压缩生成的视频帧之间的视频帧的个数等于第一预设阈值,则确定当前要生成自适应关键帧。
进一步地,如果上一个自适应关键与将当前录制的网络视频数据进行压缩生成的视频帧之间的视频帧的个数不等于第一预设阈值时,则确定当前不生成关键帧,即将当前要生成的视频帧设置为普通的视频帧。
其中,第二预设阈值可以为第一预设阈值的整数倍,当然,第二预设阈值也可以不为第一预设阈值的整数倍。
其中,自适应关键帧为I帧、P帧和PI帧中的任一个。
其中,P帧的压缩率高于PI帧的压缩率,PI帧的压缩率高于I帧的压缩率。P帧解码时需要参考在该P帧之前且离该P帧最近的I帧;PI帧解码时需要参考在该PI帧之前且离该PI帧最近的I帧,且在该PI帧之后的视频帧解码时不参考该PI帧之前的视频帧;I帧解码时不参考其他的关键帧。
其中,该网络视频包括的每个视频帧的时间长度相等,并且该网络视频对应一个网络视频频道。当第一终端将录制的网络视频数据进行压缩生成的视频帧上传到服务器之后,其他用户对应的第二终端可以接入到该服务器中该网络视频的频道观看该网络视频。
步骤202:接收服务器发送的接入指示值,该接入指示值用于指示在当前要生成的视频帧与上一个关键帧之间的时间段内是否存在接入该网络视频的用户;
其中,在该网络视频在线播放的过程中,可能会存在新的用户接入到该网络视频中。当服务器接收到第一终端发送的关键帧时,服务器设置接入用户个数的初值。当服务器在当前接收的关键帧与接收的下一个关键帧之间的时间间隔内接收到新的用户对应的终端发送的接入请求消息时,服务器增加接入用户个数,当服务器接收到第一终端发送的下一个关键帧时,服务器根据该接入用户个数设置接入指示值,并将该接入指示值发送给第一终端。
优选地,服务器根据该接入用户个数设置接入指示值的具体操作可以为:如果该接入用户个数等于0,则将接入指示值设置为0,如果该接入用户个数大于0,则将接入指示值设置为1。
当然,也可以当接入用户个数等于0时,将接入指示值设置为1,当接入用户个数大于0时,将接入指示值设置为0。本发明实施例中以接入用户个数等于0时接入指示值为0,接入用户个数大于0时接入指示值为1为例进行说明。
其中,接入用户个数的初值可以设置为0、1、2等,优选地,将接入用户个数的初值设置为0。
进一步地,当服务器将该接入指示值发送给第一终端后,服务器将该接入用户个数清零,并设置该接入用户个数的初值。
其中,第一终端接收服务器发送的接入指示值的时间在将当前录制的网络视频数据进行压缩生成视频帧的时间之前,且接收接入指示值的时间可能与将当前录制的网络视频数据进行压缩生成视频帧的时间连续,也可能与将当前录制的网络视频数据进行压缩生成视频帧的时间间隔一段时间,该间隔的一段时间小于相邻两个关键帧之间的间隔时间。
其中,在相邻两个关键帧之间的视频帧不为关键帧,但是在相邻两个关键帧之间的视频帧也可以为I帧、P帧、B帧或PI帧。
步骤203:接收服务器发送的丢帧指示值,该丢帧指示值用于指示在该时间段内是否存在丢失的视频帧;
其中,第一终端录制一个视频帧,对该视频帧进行编码之后上传到服务器,而服务器也是接收到一个视频帧之后,将该视频帧发送给第二终端。当第二终端在预设时间段之内接收到该视频帧,则第二终端向服务器发送确认响应消息,以通知服务器第二终端接收到服务器发送的视频帧。如果第二终端在预设时间段之内没有接收到视频帧,则第二终端向服务器发送丢失响应消息,以通知服务器第二终端没有接收到服务器发送的视频帧。
当服务器接收到第一终端发送的关键帧时,服务器设置视频帧丢失个数的初值,并将接收的关键帧发送给第二终端。当服务器在当前接收的关键帧与下一个接收的关键帧之间的时间间隔内接收到第二终端发送的丢失响应消息时,服务器增加视频帧丢失个数,并且当服务器接收到第一终端发送的下一个关键帧时,服务器根据该视频帧丢失个数设置丢帧指示值,将该丢帧指示值发送给第一终端。
优选地,服务器根据该视频帧丢失个数设置丢帧指示值的具体操作可以为:如果该视频帧丢失个数等于0,则将丢帧指示值设置为0,如果该视频帧丢失个数大于0,则将丢帧指示值设置为1。
当然,也可以当视频帧丢失个数等于0时,将丢帧指示值设置为1,当视频帧丢失个数大于0时,将丢帧指示值设置为0。本发明实施例中以视频帧丢失个数等于0时丢帧指示值为0,视频帧丢失个数大于0时丢帧指示值为1为例进行说明。
其中,视频帧丢失个数的初值可以设置为0、1、2等,优选地,将视频帧丢失个数的初值设置为0。
进一步地,当服务器将该丢帧指示值发送给第一终端后,服务器将该视频帧丢失个数清零,并设置该视频帧丢失个数的初值。
其中,第一终端接收服务器发送的丢帧指示值的时间在将当前录制的网络视频进行压缩生成视频帧的时间之前,且接收丢帧指示值的时间可能与将当前录制的网络视频进行压缩生成视频帧的时间连续,也可能与将当前录制的网络视频进行压缩生成视频帧的时间间隔一段时间,该间隔的一段时间小于相邻两个关键帧之间的间隔时间。
步骤204:如果当前要生成自适应关键帧,则根据接入指示值判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频,如果存在用户接入该网络视频,则执行步骤205,如果不存在用户接入该网络视频,则执行步骤206;
具体地,如果当前要生成自适应关键帧,则判断接收到接入指示值是否为1,如果接入指示值为1,则确定在该时间段内存在用户接入该网络视频,执行步骤205;如果接入指示值为0,则确定在该时间段内不存在用户接入该网络视频,执行步骤206。
可选地,第一终端接收服务器发送到第一个数,第一个数为在该时间段内接入该网络视频的用户的个数,第一终端根据该第一个数判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频。
其中,第一终端根据该第一个数判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频的具体操作可以为:如果第一个数大于0,则确定在该时间段内存在用户接入该网络视频,如果第一个数为0,则确定在该时间段内不存在用户接入该网络视频。
其中,服务器可以统计当前要生成的自适应关键帧与上一个关键帧之间的时间段内接入该网络视频的用户的个数,将统计的接入该网络视频的用户的个数发送给第一终端。
其中,第一终端接收服务器发送的第一个数的时间在将当前录制的网络视频数据进行压缩生成视频帧的时间之前,且接收第一个数的时间也可能与将当前录制的网络视频数据进行压缩生成视频帧的时间间隔一段时间,该间隔的一段时间小于相邻两个关键帧之间的间隔时间。
步骤205:将当前要生成的自适应关键帧设置为I帧;
其中,在该时间段内存在用户接入该网络视频,为了保证接入该网络视频的用户能快速地观看该网络视频,将当前要生成的自适应关键帧设置为I帧。由于对I帧进行解码时不需要依赖其他的视频帧,所以第二终端接收到I帧之后,可以立即对该I帧进行解码,快速地观看到该网络视频。
步骤206:根据丢失指示值判断该时间段内网络视频在线播放是否存在丢失的视频帧,如果存在丢失的视频帧,则执行步骤207,如果不存在丢失的视频帧,则执行步骤208;
具体地,判断接收的丢帧指示值是否为1,如果丢帧指示值为1,则确定在该时间段内网络视频在线播放存在丢失的视频帧,执行步骤207;如果丢帧指示值为0,则确定在该时间段内网络视频在线播放不存在丢失的视频帧,执行步骤208。
可选地,第一终端接收服务器发送到第二个数,第二个数为在该时间段内丢失的视频帧的个数,第一终端根据该第二个数判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在丢失的视频帧。
其中,第一终端根据该第二个数判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在丢失的视频帧的具体操作可以为:如果第二个数大于0,则确定在该时间段内存在丢失的视频帧,如果第二个数为0,则确定在该时间段内不存在丢失的视频帧。
其中,服务器可以统计当前要生成的自适应关键帧与上一个关键帧之间的时间段内丢失的视频帧的个数,将统计的丢失的视频帧的个数发送给第一终端。
其中,第一终端接收服务器发送的第二个数的时间在将当前录制的网络视频数据进行压缩生成视频帧的时间之前,且接收第二个数的时间也可能与将当前录制的网络视频数据进行压缩生成视频帧的时间间隔一段时间,该间隔的一段时间小于相邻两个关键帧之间的间隔时间。
步骤207:将当前要生成的自适应关键帧设置成为PI帧;
其中,在该时间段内存在丢失的视频帧且不存在新接入直播视频频道的用户,为了保证正在观看该网络视频的用户迅速地恢复该网络视频,将当前要生成的自适应关键帧设置为PI帧。由于对PI帧进行解码时需要参考该PI帧之前且与该PI帧最近的I帧,且该PI帧之后的视频帧解码时不参考该PI帧之前的视频帧,所以当第二终端接收到该PI帧之后,获取在该PI帧之前接收到的I帧,根据获取的I帧对该PI帧进行解码。对该PI帧之后接收的视频帧进行解码时不参考该PI帧之前的视频帧,从而恢复该网络视频。并且PI帧的压缩率比I帧的压缩率高,所以将该当前要生成的自适应关键帧设置为PI帧,可以提高该网络视频的压缩率,进而节省码率。
步骤208:将当前要生成的自适应关键帧设置为P帧。
其中,在该时间段内不存在丢失的视频帧且不存在用户接入该网络视频,不需要保证接入的用户快速地观看到该网络视频,也不需要快速地恢复该网络视频,又由于P帧的压缩率比PI帧的压缩率和I帧的压缩率都高,所以将当前要生成的自适应关键帧设置为P帧可以提高该网络视频的压缩率,进而节省码率。
在本发明实施例中,每个第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧。如果当前要生成自适应关键帧且在当前要生成的自适应关键帧与上一个关键帧之间的时间段内存在用户接入该网络视频,则将当前要生成的自适应关键帧设置为I帧;如果在该时间段内存在丢失的视频帧且不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置为PI帧;如果在该时间段内不存在丢失的视频帧且不存在用户接入该网络视频,则将当前要生成自适应关键帧设置为P帧。如此,设置的关键帧不只是I帧,还有可能是P帧或者PI帧,由于P帧的压缩率高于PI帧的压缩率,PI帧的压缩率高于I帧的压缩率,所以,本发明实施例提供的设置关键帧的方法在不影响用户观看视频效果的前提下,可以提高直播视频的压缩率,进而节省码率。
实施例三
参见图3,本发明实施例提供了一种在视频直播系统中设置关键帧的装置,该装置包括:
生成模块301,用于将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,第一预设阈值小于第二预设阈值;
第一判断模块302,用于如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入该网络视频;
第一设置模块303,用于如果存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为I帧;
第二设置模块304,用于如果不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧。
进一步地,该装置还包括:
第二判断模块,用于判断该时间段内网络视频在线播放是否存在丢失的视频帧;
相应地,第二设置模块304包括:
第一设置单元,用于如果在该时间段内存在丢失的视频帧且不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置为PI帧;
第二设置单元,用于如果在该时间段内不存在丢失的视频帧且不存在用户接入该网络视频,则将当前要生成的自适应关键帧设置为P帧。
进一步地,该装置还包括:
第一接收模块,用于接收服务器发送的第一个数,第一个数为该时间段内接入该网络视频的用户的个数;或者,
第二接收模块,用于接收该服务器发送的接入指示值,该接入指示值用于指示在该时间段内是否存在接入该网络视频的用户。
进一步地,该装置还包括:
第三接收模块,用于接收服务器发送的第二个数,第二个数为该时间段内丢失的视频帧的个数;或者,
第四接收模块,用于接收该服务器发送的丢帧指示值,该丢帧指示值用于指示在该时间段内是否存在丢失的视频帧。
在本发明实施例中,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧。而且自适应关键帧根据是否有用户接入网络视频来设置其编码类型,由于P帧和PI帧的压缩率高于I帧的压缩率,所以,本发明实施例提供的设置关键帧的方法在不影响用户观看视频效果的前提下,可以提高直播视频的压缩率,进而节省码率。
需要说明的是:上述实施例提供的在视频直播系统中设置关键帧的装置在在视频直播系统中设置关键帧时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的在视频直播系统中设置关键帧的装置与在视频直播系统中设置关键帧的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种在视频直播系统中设置关键帧的方法,其特征在于,所述方法包括:
将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,所述第一预设阈值小于所述第二预设阈值;
如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频;
如果存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为I帧;
如果不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧;
其中,所述P帧的压缩率高于所述PI帧的压缩率,所述PI帧的压缩率高于所述I帧的压缩率;所述P帧解码时需要参考在所述P帧之前且离所述P帧最近的I帧;所述PI帧解码时需要参考在所述PI帧之前且离所述PI帧最近的I帧,且在所述PI帧之后的视频帧解码时不参考所述PI帧之前的视频帧;所述I帧解码时不参考其他的关键帧。
2.如权利要求1所述的方法,其特征在于,所述如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频之后,还包括:
判断所述时间段内网络视频在线播放是否存在丢失的视频帧;
相应地,所述如果不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧,包括:
如果在所述时间段内存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为PI帧;
如果在所述时间段内不存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为P帧。
3.如权利要求1所述的方法,其特征在于,所述如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频之前,还包括:
接收服务器发送的第一个数,所述第一个数为所述时间段内接入所述网络视频的用户的个数;或者,
接收所述服务器发送的接入指示值,所述接入指示值用于指示在所述时间段内是否存在接入所述网络视频的用户。
4.如权利要求2所述的方法,其特征在于,所述判断所述时间段内网络视频在线播放是否存在丢失的视频帧之前,还包括:
接收服务器发送的第二个数,所述第二个数为所述时间段内丢失的视频帧的个数;或者,
接收所述服务器发送的丢帧指示值,所述丢帧指示值用于指示在所述时间段内是否存在丢失的视频帧。
5.一种在视频直播系统中设置关键帧的装置,其特征在于,所述装置包括:
生成模块,用于将当前录制的网络视频数据进行压缩生成视频帧,每隔第一预设阈值个数的视频帧生成一个自适应关键帧,每隔第二预设阈值个数的视频帧生成一个固定I帧关键帧,所述第一预设阈值小于所述第二预设阈值;
第一判断模块,用于如果当前要生成自适应关键帧,则判断当前要生成的自适应关键帧与上一个关键帧之间的时间段内是否存在用户接入所述网络视频;
第一设置模块,用于如果存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为I帧;
第二设置模块,用于如果不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置成为P帧或PI帧;
其中,所述P帧的压缩率高于所述PI帧的压缩率,所述PI帧的压缩率高于所述I帧的压缩率;所述P帧解码时需要参考在所述P帧之前且离所述P帧最近的I帧;所述PI帧解码时需要参考在所述PI帧之前且离所述PI帧最近的I帧,且在所述PI帧之后的视频帧解码时不参考所述PI帧之前的视频帧;所述I帧解码时不参考其他的关键帧。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于判断所述时间段内网络视频在线播放是否存在丢失的视频帧;
相应地,所述第二设置模块包括:
第一设置单元,用于如果在所述时间段内存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为PI帧;
第二设置单元,用于如果在所述时间段内不存在丢失的视频帧且不存在用户接入所述网络视频,则将当前要生成的自适应关键帧设置为P帧。
7.如权利要求5所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收服务器发送的第一个数,所述第一个数为所述时间段内接入所述网络视频的用户的个数;或者,
第二接收模块,用于接收所述服务器发送的接入指示值,所述接入指示值用于指示在所述时间段内是否存在接入所述网络视频的用户。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于接收服务器发送的第二个数,所述第二个数为所述时间段内丢失的视频帧的个数;或者,
第四接收模块,用于接收所述服务器发送的丢帧指示值,所述丢帧指示值用于指示在所述时间段内是否存在丢失的视频帧。
CN201410120922.6A 2014-03-27 2014-03-27 一种在视频直播系统中设置关键帧的方法及装置 Active CN103929682B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410120922.6A CN103929682B (zh) 2014-03-27 2014-03-27 一种在视频直播系统中设置关键帧的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410120922.6A CN103929682B (zh) 2014-03-27 2014-03-27 一种在视频直播系统中设置关键帧的方法及装置

Publications (2)

Publication Number Publication Date
CN103929682A CN103929682A (zh) 2014-07-16
CN103929682B true CN103929682B (zh) 2017-03-22

Family

ID=51147737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410120922.6A Active CN103929682B (zh) 2014-03-27 2014-03-27 一种在视频直播系统中设置关键帧的方法及装置

Country Status (1)

Country Link
CN (1) CN103929682B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104602044B (zh) * 2015-02-05 2019-02-15 秦永红 一种rtmp流媒体公网直播系统及其设计方法
CN107231564B (zh) * 2017-05-31 2020-06-09 广州华多网络科技有限公司 一种视频直播方法、直播系统和直播服务器
CN111478916B (zh) * 2020-04-15 2021-09-21 北京仁光科技有限公司 基于视频流的数据传输方法、设备和存储介质
CN111917661B (zh) * 2020-07-29 2023-05-02 抖音视界有限公司 数据传输方法、装置、电子设备和计算机可读存储介质
CN112866736A (zh) * 2021-01-15 2021-05-28 北京乐学帮网络技术有限公司 一种关键帧发送方法、处理服务器及直播系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1589770A2 (en) * 2004-04-20 2005-10-26 Kabushiki Kaisha Toshiba Apparatus and method for decoding a moving picture sequence
CN101568038A (zh) * 2009-06-04 2009-10-28 西南交通大学 基于视差/运动联合估计的多视点容错编码框架
CN102870416A (zh) * 2011-02-25 2013-01-09 松下电器产业株式会社 运动图像编码装置以及运动图像解码装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1589770A2 (en) * 2004-04-20 2005-10-26 Kabushiki Kaisha Toshiba Apparatus and method for decoding a moving picture sequence
CN101568038A (zh) * 2009-06-04 2009-10-28 西南交通大学 基于视差/运动联合估计的多视点容错编码框架
CN102870416A (zh) * 2011-02-25 2013-01-09 松下电器产业株式会社 运动图像编码装置以及运动图像解码装置

Also Published As

Publication number Publication date
CN103929682A (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
CN103929682B (zh) 一种在视频直播系统中设置关键帧的方法及装置
CN105744342B (zh) 移动终端的数据传输方法和装置
CN104125429B (zh) 视频数据传输的调节方法及装置
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
CN100499790C (zh) 在弱信号环境的移动站中提供视频呼叫服务的方法
CN104394426B (zh) 流媒体倍速播放方法和装置
CN100456830C (zh) 实现流媒体内容审查的用户终端设备及审查方法
CN108696773A (zh) 一种实时视频的传输方法及装置
CN110662114B (zh) 视频处理方法、装置、电子设备及存储介质
US20140109156A1 (en) Method, terminal, server and system for playing media file
CN107613314B (zh) 一种检测直播中刷人气行为的方法及装置
CN102202210A (zh) 手机播放实时监控视频的方法及播放实时监控视频的手机
CN109714622A (zh) 一种视频数据处理方法、装置及电子设备
CN106375859B (zh) 一种媒体处理方法、装置及终端
CN106603503A (zh) 直播数据的处理方法和装置
CN104038813B (zh) 一种多屏互动方法及系统
CN108966006A (zh) 视频的播放方法、浏览器设备及可读存储介质
CN107801049A (zh) 一种实时视频传送、播放方法及装置
EP2649794B1 (en) Method and apparatus for managing content distribution over multiple terminal devices in collaborative media system
CN107872734A (zh) 流媒体信息观看和直播的方法和装置
CN101888412A (zh) 一种服务于移动终端直播的视频推送处理方法及系统
CN1929647B (zh) 执行视频通信业务的方法及使用该方法的移动通信终端
US8204987B2 (en) Providing reports of received multimedia programs
CN101540871B (zh) 基于电路域可视电话同步录制对端声音图像的方法和终端
CN107079132A (zh) 在视频电话中的端口重配置之后馈送经帧内译码的视频帧

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210108

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511446 28th floor, block B1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140716

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: Method and device for setting key frame in live video system

Granted publication date: 20170322

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract