CN112788360A - 直播方法、直播装置与计算机程序产品 - Google Patents
直播方法、直播装置与计算机程序产品 Download PDFInfo
- Publication number
- CN112788360A CN112788360A CN202011631129.4A CN202011631129A CN112788360A CN 112788360 A CN112788360 A CN 112788360A CN 202011631129 A CN202011631129 A CN 202011631129A CN 112788360 A CN112788360 A CN 112788360A
- Authority
- CN
- China
- Prior art keywords
- data
- pause
- time
- information
- playing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000004590 computer program Methods 0.000 title claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 49
- 230000002045 lasting effect Effects 0.000 claims abstract description 9
- 239000012634 fragment Substances 0.000 claims description 50
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 230000008030 elimination Effects 0.000 abstract 1
- 238000003379 elimination reaction Methods 0.000 abstract 1
- 230000003139 buffering effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000010354 integration Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开关于一种直播方法、直播装置与计算机程序产品,该方法包括:接收卡顿信息,卡顿信息包括卡顿的起始时间和卡顿时长;根据卡顿信息从缓存区提取缓存的卡顿数据,并将卡顿数据下发至客户端设备,以供客户端设备播放,卡顿数据包括从卡顿的起始时间开始且持续预设时间的音视频数据,预设时间大于或者等于卡顿时长与追赶时长的和,追赶时长为客户端设备从播放卡顿数据开始,且直到同步播放当前直播内容为止的时间。采用本方案在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放有较好的体验感。
Description
技术领域
本公开涉及音视频播放领域,尤其涉及一种直播方法、直播装置与计算机程序产品。
背景技术
相关技术中,当我们在直播平台观看直播时,遇到弱网情况时会发生较长时间的卡顿情况,当网络恢复时,直播内容会直接跳到当下主播直播的进度。从卡顿到恢复中间的直播内容时无法观看到的。这就造成了直播内容的丢失。
现有的直播技术实现过程大致包括音视频采集、编码、推流、拉流、解码以及播放几个步骤。由于音视频采集是实时的,推流和拉流也是实时的,只会同步地将服务器的数据推到客户端,如果你卡顿出现较长时间就会在直播过程中丢失很多内容。
现阶段,出现卡顿后,一般会在直播结束后看回看再理解一遍内容,不利于用户当时就获得到相应的信息。而且,由于地区不同,网络基础设施覆盖不同,带宽不同等原因,在直播时由于网络问题发生卡顿的现象比较常见。现阶段各种平台采用的措施就是直接继续播放直播内容,丢弃卡顿发生时的内容。
发明内容
本公开提供一种直播方法、直播装置与计算机程序产品,以至少解决相关技术中在直播过程中,当卡顿消失时无法直接继续播放直播内容,而需要用户在直播完回看卡顿过程中的视频的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种直播方法,包括:接收卡顿信息,所述卡顿信息包括卡顿的起始时间和卡顿时长;根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放,所述卡顿数据包括从所述卡顿的起始时间开始且持续预设时间的音视频数据,所述预设时间大于或者等于所述卡顿时长与追赶时长的和,所述追赶时长为所述客户端设备从播放所述卡顿数据开始,且直到同步播放当前直播内容为止的时间。
可选地,在根据所述卡顿信息从缓存区提取缓存的卡顿数据之前,所述方法还包括::对所述音视频数据进行编码,得到编码音视频数据;将所述编码音视频数据划分为多个数据片段,并缓存至所述缓存区。
可选地,所述对所述音视频数据进行编码步骤包括:采用多种编码参数对所述音视频数据进行编码,得到多个不同清晰度的所述编码音视频数据,所述编码参数包括比特率和视频码率。
可选地,所述根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放步骤包括:至少根据所述卡顿信息,确定视频信息,所述视频信息至少包括:所述卡顿数据中的所述数据片段的数量以及所述卡顿数据中的第一个所述数据片段的起始时间;根据所述视频信息,确定对应的所述卡顿数据;将所述视频信息以及对应的所述卡顿数据发送至所述客户端设备。
可选地,所述将所述视频信息以及对应的所述卡顿数据发送至所述客户端设备步骤还包括:将所述视频信息发送至所述客户端设备;在接收到所述客户端设备发送的预定信息的情况下,将所述卡顿数据发送至所述客户端设备,所述预定信息为表征允许缓存所述卡顿片段的信息。
可选地,在至少根据所述卡顿信息,确定视频信息之前,所述方法还包括:记录各所述数据片段对应的数据片段信息,所述数据片段信息至少包括所述数据片段的起始时间和所述数据片段的时长,所述至少根据所述卡顿信息,确定视频信息步骤包括:根据所述卡顿时长、直播速度以及预定播放倍速,计算所述追赶时长;根据所述卡顿的起始时间、所述直播速度、所述追赶时长、预定参数和各所述数据片段信息,确定所述数据片段的数量、第一个所述数据片段的起始时间以及所述卡顿片段中的所述数据片段对应的所述数据片段信息,所述预定参数为所述预定播放倍速或者所述卡顿时长。
可选地,所述预设时间大于或者等于述卡顿时长、所述追赶时长以及缓存时间的和,所述缓存时间为所述客户端设备缓存所述卡顿数据所需要的时间。
可选地,所述视频信息还包括所述数据片段的清晰度,所述至少根据所述卡顿信息,确定视频信息包括:根据所述追赶时长,确定所述卡顿片段的清晰度。
可选地,所述根据所述追赶时长,确定所述卡顿片段的清晰度步骤包括:在所述追赶时长大于所述第一阈值且小于等于第二阈值的情况下,确定所述卡顿片段的清晰度为第一清晰度,所述第一清晰度低于直播的清晰度;在所述追赶时长小于或者等于所述第一阈值的情况下,确定所述卡顿片段的清晰度为直播的清晰度;在所述追赶时长大于所述第二阈值的情况下,确定所述卡顿片段的清晰度为第二清晰度,所述第二清晰度低于所述第一清晰度。
可选地,在根据所述卡顿信息确定卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放之前,所述方法还包括:获取直播过程中的第一弹幕信息;将所述第一弹幕信息整合至对应的所述数据片段信息中。
可选地,所述方法还包括:获取所述客户端设备播放所述卡顿片段时接收到的第二弹幕信息;将所述第二弹幕信息整合至所述数据片段信息中。
根据本公开实施例的第二方面,提供一种直播方法,包括:获取卡顿信息并发送至服务端设备,所述卡顿信息包括卡顿的起始时间和卡顿时长;接收所述服务端设备发送的卡顿数据并播放,所述卡顿数据为至少根据所述卡顿信息确定的预设时间的音视频数据,且所述预设时间的起始时间为所述卡顿的起始时间,所述音视频数据为直播过程中缓存的,所述预设时间大于或者等于所述卡顿时长和追赶时长的和,所述追赶时长为从播放所述卡顿数据开始且直到同步播放当前直播内容为止的时间。
可选地,所述接收所述服务端设备发送的卡顿数据并播放步骤包括:接收所述服务端设备发送的视频信息,所述视频信息至少包括:所述卡顿数据中的数据片段的数量以及所述卡顿片段中的第一个所述数据片段的起始时间,所述视频信息为所述服务端设备至少根据所述卡顿信息确定的,所述数据片段为所述服务端设备对所述音视频数据分片段得到的;根据所述视频信息,确定缓存所述卡顿数据;判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据。
可选地,所述根据所述视频信息,确定缓存所述卡顿数据步骤包括:根据所述视频信息确定是否允许缓存所述卡顿数据;在允许缓存所述卡顿数据的情况下,缓存所述卡顿数据。
可选地,所述判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据步骤包括:在缓存的所述卡顿数据的数据量符合所述连续播放的条件的情况下,确定播放策略,所述播放策略包括:所述卡顿片段中的第一个所述数据片段中的播放起始时间以及播放倍速;根据所述播放策略播放所述卡顿数据。
可选地,所述视频信息还包括所述追赶时长以及所述卡顿数据的数据量,所述在缓存的所述卡顿数据的数据量符合所述连续播放的条件的情况下,确定播放策略步骤包括:根据所述卡顿数据的数据量以及所述追赶时长,确定所述卡顿数据的播放倍速。
可选地,所述根据所述数据量以及所述追赶时长,确定所述卡顿片段的播放倍速步骤包括:根据第一时间段的数据量以及所述第一时间段,确定所述第一时间段内的播放倍速递增;根据第二时间段的数据量以及所述第二时间段,确定所述第二时间段内的播放倍速递减,所述追赶时长按照时间先后顺序分为所述第一时间段和所述第二时间段,所述数据量由所述第一时间段的数据量和所述第二时间段的数据量构成。
根据本公开实施例的第三方面,提供一种直播方法,包括:在直播的过程中,服务端设备将直播的音视频数据缓存至缓存区;所述客户端设备记录卡顿信息并将所述卡顿信息发送至所述服务端设备,所述卡顿信息包括卡顿的起始时间和卡顿时长;所述服务端设备从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,所述卡顿数据包括从所述卡顿的起始时间开始且持续预设时间的音视频数据,所述预设时间大于或者等于所述卡顿时长与追赶时长的和,所述追赶时长为所述客户端设备从播放所述卡顿数据开始,且直到同步播放当前直播内容为止的时间;所述客户端设备接收所述卡顿数据并播放所述卡顿片段。
可选地,在所述服务端设备从缓存区提取缓存的卡顿数据之前,所述方法还包括:所述服务端设备对所述音视频数据进行编码,得到编码音视频数据;所述服务端设备将所述编码音视频数据划分为多个所述数据片段,并缓存至所述缓存区。
可选地,所述服务端设备对所述音视频数据进行编码步骤包括:所述服务端设备采用多种编码参数对所述音视频数据进行编码,得到多个不同清晰度的所述编码音视频数据。
可选地,所述服务端设备从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备步骤包括:所述服务端设备至少根据所述卡顿信息,确定视频信息,所述视频信息至少包括:所述卡顿数据中的所述数据片段的数量以及所述卡顿片段中的第一个所述数据片段的起始时间;所述服务端设备根据所述视频信息,确定对应的所述卡顿数据;所述服务端设备将包括所述视频信息以及对应的所述卡顿数据发送至所述客户端设备。
可选地,所述客户端设备接收所述卡顿数据并播放所述卡顿数据步骤包括:接收所述服务端设备发送的视频信息;根据所述视频信息确定是否允许缓存所述卡顿片段;在允许缓存所述卡顿片段的情况下,将预定信息发送至所述服务端设备,所述预定信息为表征允许缓存所述卡顿片段的信息;缓存所述卡顿数据;判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据。
可选地,所述判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据步骤包括:在缓存的所述卡顿数据的数据量符合所述连续播放的条件的情况下,所述客户端设备确定播放策略,所述播放策略包括:所述卡顿片段中的第一个所述数据片段中的播放起始时间以及播放倍速;所述客户端设备根据所述播放策略播放所述卡顿数据。
可选地,所述视频信息还包括所述追赶时长以及所述卡顿数据的数据量,所述在缓存的所述卡顿数据的数据量符合所述连续播放的条件的情况下,所述客户端设备确定播放策略步骤包括:所述客户端设备根据接收到的所述卡顿数据的数据量以及所述追赶时长,确定所述卡顿片段的播放倍速。
可选地,所述客户端设备根据所述数据量以及追赶时长确定所述卡顿片段的播放倍速步骤包括:所述客户端设备根据第一时间段的数据量以及所述第一时间段,确定所述第一时间段内的播放倍速递增;所述客户端设备根据第二时间段的数据量以及所述第二时间段,确定所述第二时间段内的播放倍速递减,所述追赶时长按照时间先后顺序分为所述第一时间段和所述第二时间段,所述数据量由所述第一时间段的数据量和所述第二时间段的数据量构成。
可选地,在所述服务端设备至少根据所述卡顿信息,确定视频信息之前,所述方法还包括:所述服务端设备记录各所述数据片段对应的数据片段信息,所述数据片段信息至少包括所述数据片段的起始时间和所述数据片段的时长,所述服务端设备至少根据所述卡顿信息,确定视频信息步骤包括:所述服务端设备根据所述卡顿时长、直播速度以及预定播放倍速,计算所述追赶时长;所述服务端设备根据所述卡顿的起始时间、所述直播速度、所述追赶时长、预定参数和各所述数据片段信息,确定所述数据片段的数量、第一个所述数据片段的起始时间以及所述卡顿片段中的所述数据片段对应的所述数据片段信息,所述预定参数为所述预定播放倍速或者所述卡顿时长。
可选地,所述视频信息还包括所述数据片段的清晰度,所述服务端设备至少根据所述卡顿信息,确定视频信息步骤包括:所述服务端设备根据所述追赶时长,确定所述卡顿片段的清晰度。
可选地,在所述服务端设备根据所述卡顿信息确定卡顿数据,并将所述卡顿数据下发至所述客户端设备,所述卡顿数据包括卡顿片段之前,所述方法还包括:所述服务端设备获取直播过程中的第一弹幕信息;所述服务端设备将所述第一弹幕信息整合至对应的所述数据片段信息中。
可选地,所述方法还包括:所述服务端设备获取所述客户端设备播放所述卡顿片段时接收到的第二弹幕信息;所述服务端设备将所述第二弹幕信息整合至对应的所述数据片段信息中。
根据本公开实施例的第四方面,提供一种直播装置,包括:第一获取单元,被配置为执行接收卡顿信息,所述卡顿信息包括卡顿的起始时间和卡顿时长;发送单元,被配置为执行根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放,所述卡顿数据包括从所述卡顿的起始时间开始且持续预设时间的音视频数据,所述预设时间大于或者等于所述卡顿时长与追赶时长的和,所述追赶时长为所述客户端设备从播放所述卡顿数据开始,且直到同步播放当前直播内容为止的时间。
可选地,所述直播装置还包括:编码单元,被配置为执行在根据所述卡顿信息从缓存区提取缓存的卡顿数据之前,对所述音视频数据进行编码,得到编码音视频数据;缓存单元,被配置为将所述编码音视频数据划分为多个数据片段,并缓存至所述缓存区。
可选地,所述编码单元还被配置为执行:采用多种编码参数对所述音视频数据进行编码,得到多个不同清晰度的所述编码音视频数据,所述编码参数包括比特率和视频码率。
可选地,所述发送单元包括:第一确定模块,被配置为执行至少根据所述卡顿信息,确定视频信息,所述视频信息至少包括:所述卡顿数据中的所述数据片段的数量以及所述卡顿数据中的第一个所述数据片段的起始时间;第二确定模块,被配置为执行根据所述视频信息,确定对应的所述卡顿数据;发送模块,被配置为执行将所述视频信息以及对应的所述卡顿数据发送至所述客户端设备。
可选地,所述发送模块包括:第一发送子模块,被配置为执行将所述视频信息发送至所述客户端设备;第二发送子模块,被配置为执行在接收到所述客户端设备发送的预定信息的情况下,将所述卡顿数据发送至所述客户端设备,所述预定信息为表征允许缓存所述卡顿数据的信息。
可选地,所述直播装置还包括:记录单元,被配置为执行在至少根据所述卡顿信息,确定视频信息之前,记录各所述数据片段对应的数据片段信息,所述数据片段信息至少包括所述数据片段的起始时间和所述数据片段的时长,所述第一确定模块包括:第一确定子模块,被配置为执行根据所述卡顿时长、直播速度以及预定播放倍速,确定所述追赶时长;第二确定子模块,被配置为执行根据所述卡顿的起始时间、所述直播速度、所述追赶时长、预定参数和各所述数据片段信息,确定所述数据片段的数量、第一个所述数据片段的起始时间以及所述卡顿数据中的所述数据片段对应的所述数据片段信息,所述预定参数为所述预定播放倍速或者所述卡顿时长。
可选地,所述预设时间大于或者等于述卡顿时长、所述追赶时长以及缓存时间的和,所述缓存时间为所述客户端设备缓存所述卡顿数据所需要的时间。
可选地,所述视频信息还包括所述数据片段的清晰度,所述第一确定模块还包括:第三确定子模块,被配置为执行根据所述追赶时长,确定所述卡顿数据的清晰度。
可选地,所述第三确定子模块包括:第四确定子模块,被配置为执行在所述追赶时长大于第一阈值且小于等于第二阈值的情况下,确定所述卡顿数据的清晰度为第一清晰度,所述第一清晰度低于直播的清晰度;第五确定子模块,被配置为执行在所述追赶时长小于或者等于所述第一阈值的情况下,确定所述卡顿数据的清晰度为直播的清晰度;第六确定子模块,被配置为执行在所述追赶时长大于所述第二阈值的情况下,确定所述卡顿数据的清晰度为第二清晰度,所述第二清晰度低于所述第一清晰度。
可选地,所述直播装置还包括:第二获取单元,被配置为执行根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放之前,获取直播过程中的第一弹幕信息;第一整合单元,被配置为执行将所述第一弹幕信息整合至对应的所述数据片段信息中。
可选地,所述直播装置还包括:第三获取单元,被配置为执行获取所述客户端设备播放所述卡顿数据时接收到的第二弹幕信息;第二整合单元,被配置为执行将所述第二弹幕信息整合至所述数据片段信息中。
根据本公开实施例的第五方面,提供一种直播装置,包括:第二获取单元,被配置为执行获取卡顿信息并发送至服务端设备,所述卡顿信息包括卡顿的起始时间和卡顿时长;接收单元,被配置为执行接收所述服务端设备发送的卡顿数据并播放,所述卡顿数据为至少根据所述卡顿信息确定的预设时间的音视频数据,且所述预设时间的起始时间为所述卡顿的起始时间,所述音视频数据为直播过程中缓存的,所述预设时间大于或者等于所述卡顿时长和追赶时长的和,所述追赶时长为从播放所述卡顿数据开始且直到同步播放当前直播内容为止的时间。
可选地,所述接收单元包括:接收模块,被配置为执行接收所述服务端设备发送的视频信息,所述视频信息至少包括:所述卡顿数据中的数据片段的数量以及所述卡顿数据中的第一个所述数据片段的起始时间,所述视频信息为至少根据所述卡顿信息确定的,所述数据片段为对所述音视频数据分片段得到的;确定模块,被配置为执行根据所述视频信息,确定缓存所述卡顿数据;播放模块,被配置为执行在判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据。
可选地,所述确定模块包括:确定子模块,被配置为执行根据所述视频信息确定是否允许缓存所述卡顿数据;缓存子模块,被配置为执行在允许缓存所述卡顿数据的情况下,缓存所述卡顿数据。
可选地,所述播放模块包括:第一确定子模块,被配置为执行在缓存的所述卡顿数据的数据量符合所述连续播放的条件的情况下,确定播放策略,所述播放策略包括:所述卡顿数据中的第一个所述数据片段中的播放起始时间以及播放倍速;播放子模块,被配置为执行根据所述播放策略播放所述卡顿数据。
可选地,所述视频信息还包括所述追赶时长以及所述卡顿数据的数据量,所述第一确定子模块被配置为执行:根据所述卡顿数据的数据量以及所述追赶时长,确定所述卡顿数据的播放倍速。
可选地,所述第一确定子模块包括:第二确定子模块,被配置为执行根据第一时间段的数据量以及所述第一时间段,确定所述第一时间段内的播放倍速递增;第三确定子模块,被配置为执行根据第二时间段的数据量以及所述第二时间段,确定所述第二时间段内的播放倍速递减,所述追赶时长按照时间先后顺序分为所述第一时间段和所述第二时间段,所述数据量由所述第一时间段的数据量和所述第二时间段的数据量构成。
根据本公开实施例的第六方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如任意一种所述的直播方法。
根据本公开实施例的第七方面,提供一种***,包括:服务端设备,被配置为执行任意一种所述的直播方法;客户端设备,被配置为执行任意一种所述的直播方法。
根据本公开实施例的第八方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行任意一种所述的直播方法。
根据本公开实施例的第九方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现任意一种所述的直播方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
上述的方案中,首先接收卡顿信息,再根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放,由于预设时间大于或者等于所述卡顿时长与追赶时长的和,使得在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放,无需用户在直播完回放卡顿过程中的音视频数据,使得观看视频的用户可以接着卡顿时播放的内容进行观看,有较好的体验感。该方法解决了现有技术中,当卡顿消失后无法直接继续播放卡顿时的内容,而需要用户在直播完之后回看卡顿过程中的视频的问题。并且,该方案中,所述卡顿数据包括从所述卡顿的起始时间开始且持续预设时间的音视频数据,卡顿数据不仅包括卡顿期间的数据还包括追赶时长对应的直播数据,保证了在卡顿消失之后,且在播放完卡顿数据之后与当前直播同步。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种直播方法的应用场景的架构图。
图2是根据一示例性实施例示出的一种直播方法流程示意图。
图3是根据再一示例性实施例示出的一种直播方法流程示意图。
图4是根据另一示例性实施例示出的一种直播方法流程示意图。
图5是根据再一示例性实施例示出的一种直播方法流程示意图。
图6是根据一示例性实施例示出的一种直播装置的结构框图。
图7是根据一示例性实施例示出的一种直播装置的结构框图。
图8是根据一示例性实施例示出的另一种电子设备的结构框图。
图9是根据一示例性实施例示出的一种直播***的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
正如背景技术所说,现有技术中,在直播过程中,当卡顿消失时直接继续播放直播内容,而需要用户在直播完回看卡顿过程中的视频的问题。
图1是根据一示例性实施例示出的一种直播方法的应用场景的架构图。如图1所示,下述直播方法可以应用于该实施环境中。该实施环境包括客户端设备01和服务端设备02,客户端设备01和服务端设备02可以通过网络互连并通信。
其中,客户端设备01为播放音视频数据的设备,服务端设备02实时缓存客户端设备01播放的音视频数据,在客户端设备01卡顿消除的情况下,服务端设备02获取卡顿数据,并将上述卡顿数据下发至上述客户端设备,以供上述客户端设备播放。
客户端设备01可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如手机、平板电脑、掌上电脑、个人计算机(Personal Computer,PC)、可穿戴设备、智能电视等。
服务端设备02可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。服务端设备02可以包括处理器、存储器以及网络接口等。
本领域技术人员应能理解上述客户端设备和服务端设备仅为举例,其他现有的或今后可能出现的客户端设备或服务端设备如可适用于本公开,也应包含在本公开保护范围以内,并在此以引用方式包含于此。
基于此,本公开的实施例提供了一种直播方法、直播装置与计算机程序产品。
本公开实施例提供的直播方法的执行主体可以为上述的客户端设备或者服务端设备,也可以为该客户端设备或者服务端设备中能够实现该直播方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本公开实施例不作限定。下面以执行主体为客户端设备为例,对本公开实施例提供的直播方法进行示例性的说明。
图2是根据一示例性实施例示出的一种直播方法流程示意图,如图2所示,该直播方法用于服务端设备中,包括以下步骤S11-步骤S12。
在步骤S11中,接收卡顿信息,上述卡顿信息包括卡顿的起始时间和卡顿时长;
在步骤S12中,根据上述卡顿信息从缓存区提取缓存的卡顿数据,并将上述卡顿数据下发至上述客户端设备,以供上述客户端设备播放,上述卡顿数据包括从上述卡顿的起始时间开始且持续预设时间的音视频数据,上述预设时间大于或者等于上述卡顿时长与追赶时长的和,上述追赶时长为上述客户端设备从播放上述卡顿数据开始,且直到同步播放当前直播内容为止的时间。
上述的实施例中,首先接收卡顿信息,再根据上述卡顿信息从缓存区提取缓存的卡顿数据,并将上述卡顿数据下发至上述客户端设备,以供上述客户端设备播放,由于预设时间大于或者等于上述卡顿时长与追赶时长的和,使得在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放,无需用户在直播完回放卡顿过程中的音视频数据,使得观看视频的用户可以接着卡顿时播放的内容进行观看,有较好的体验感。该方法解决了现有技术中,当卡顿消失后无法直接继续播放卡顿时的内容,而需要用户在直播完之后回看卡顿过程中的视频的问题。并且,该方案中,上述卡顿数据包括从上述卡顿的起始时间开始且持续预设时间的音视频数据,卡顿数据不仅包括卡顿期间的数据还包括追赶时长对应的直播数据,保证了在卡顿消失之后,且在播放完卡顿数据之后与当前直播同步。为实现对直播过程中的音视频数据进行缓存,本申请的一种实施例中,在步骤S12之前,上述方法还包括:对上述音视频数据进行编码,得到编码音视频数据,即对实时获取的直播过程中的音视频数据进行编码;具体地,可以按照H.261、H.263和H.264等视频压缩标准对音视频数据进行编码,得到编码音视频数据。将上述编码音视频数据划分为多个数据片段,并缓存至上述缓存区。对编码音视频数据划分为多个上述数据片段,再将多个数据片段缓存,由于采用了统一的编码方式对音视频数据进行编码,加快了音视频数据的处理速度。将上述音视频数据分多个数据片段,可以按照音视频数据的大小进行划分,也可以按照音视频数据的播放时间进行划分,例如,按照视频的播放顺序将每一个大小为50K的音视频数据划分为一个数据片段,按照视频的播放顺序将每次播放时间为30S的音视频数据划分为一个数据片段。可以将音视频按照不同的清晰度进行缓存,例如按照720P、480P以及270P等清晰度进行缓存,当然,也可以将音视频缓存为纯音频的形式,由于缓存的清晰度不同,缓存所需要的空间就不相同。由于预先将上述音视频数据分多个数据片段缓存至缓存区,即直播的过程中所有的音视频数据已经预先缓存,根据卡顿的起始时间和卡顿时长确定的卡顿数据也预先缓存至缓存区,从缓存区中将卡顿数据读出再下发至客户端设备,客户端设备就可以将接收到的卡顿数据继续播放,客户端设备边接收卡顿数据边播放,即客户端设备需要从缓存区边接收卡顿数据边播放,以节省资源。相比现有技术中,在卡顿之后才缓存对应卡顿期间的视频来说,该方法不会因为网络延迟而导致缓存的数据不准确,进一步保证了后续在卡顿消除后,用户可以看到卡顿期间的完整视频内容。另外,该方法中,并不是由客户端设备缓存对应的数据,而是实时获取直播的音视频数据并缓存,并将对应的卡顿数据发送至客户端设备,避免了客户端由于卡顿导致的缓存数据不完整的问题。
本申请的一种更为具体的实施例中,上述对上述音视频数据进行编码步骤包括:采用多种编码参数对上述音视频数据进行编码,得到多个不同清晰度的上述编码音视频数据,上述编码参数包括比特率和视频码率。由于编码参数的不同,编码得到的音视频数据的清晰度也不相同,另外,清晰度不仅与编码方式有关,还与源视频相关,而源视频的清晰度受到采集源的影响,采集源可以为摄像机等可以摄取音视频数据的设备,源视频的清晰度与摄像机的分辨率有关,本领域技术人员可以根据实际情况选择合适的编码参数。
本申请的一种实施例中,如图3所示,步骤S12通过步骤S120、步骤S121和步骤S122实现。
在步骤S120中,至少根据上述卡顿信息,确定视频信息,上述视频信息至少包括:上述卡顿数据中的上述数据片段的数量以及上述卡顿片段中的第一个上述数据片段的起始时间;
通过获取数据片段的数量以及第一个上述数据片段的起始时间可以准确确定卡顿片段对应的视频信息,以供客户端设备播放。例如,数据片段的数量为10个,第一个数据片段的起始时间为2020年9月20日10:25,再根据每一个数据片段的大小,就可以精确确定卡顿片段对应的视频信息。
在步骤S121中,根据上述视频信息,确定对应的上述卡顿数据;
在步骤S122中,将包括上述视频信息以及对应的上述卡顿数据发送至上述客户端设备。
本申请的一种实施方式中,步骤S122包括:将上述视频信息发送至上述客户端设备;在接收到上述客户端设备发送的预定信息的情况下,将上述卡顿数据发送至上述客户端设备,上述预定信息为表征允许缓存上述卡顿片段的信息。即在客户端设备允许缓存上述卡顿片段的信息的情况下,才将卡顿片段对应的视频信息发送至上述客户端设备,供客户端设备播放,以节约资源。在有多个客户端设备的情况下,可以根据每一个客户端设备具体的卡顿情况,发送对应的卡顿数据至上述客户端设备,以实现所有的客户端设备对卡顿数据的顺利播放。
本申请的一种实施方式中,在步骤S120之前,上述方法还包括:记录各上述数据片段对应的数据片段信息,上述数据片段信息至少包括上述数据片段的起始时间和上述数据片段的时长。
当然,数据片段信息也可以包括数据片段的结束时间、清晰度、大小以及弹幕信息,然后根据数据片段的起始时间、数据片段的时长、数据片段的结束时间、数据片段的清晰度、大小以及弹幕信息,实现对数据片段的精确确定。
本申请的一种实施例中,步骤S120包括:根据上述卡顿时长、直播速度以及预定播放倍速,计算上述追赶时长;根据上述卡顿的起始时间、上述直播速度、上述追赶时长、预定参数和各上述数据片段信息,确定上述数据片段的数量、第一个上述数据片段的起始时间以及上述卡顿片段中的上述数据片段对应的上述数据片段信息,上述预定参数为上述预定播放倍速或者上述卡顿时长。实际的应用过程中,根据上述卡顿的起始时间、上述直播速度、上述追赶时长和预定参数,可以确定从上述卡顿的起始时间开始直播预设时间对应的音视频数据,之后,再根据各上述数据片段信息和对应的音视频数据来确定上述数据片段的数量、第一个上述数据片段的起始时间以及上述卡顿片段中的上述数据片段对应的上述数据片段信息。
本申请的一种实施例中,上述预设时间大于或者等于述卡顿时长、上述追赶时长以及缓存时间的和,上述缓存时间为上述客户端设备缓存上述卡顿数据所需要的时间。以使得播放卡段片段时追赶上直播的速度。
具体的一种实施例中,采用公式1:t1f+tf=1.5ft,计算得到追赶时长,其中,t1表示卡顿时长,f表示直播速度,1.5表示预定播放倍速,即假设以正常播放速度的1.5倍播放卡顿数据,t表示追赶时长,根据公式1可得:t=2t1,即假设以正常播放速度的1.5倍播放卡顿数据,在卡顿恢复后,播放2倍卡顿时长的音视频数据后,就可以与当前直播内容同步,当然,追赶时长随着卡顿时长、直播速度以及预定播放倍速的改变而改变;再根据上述卡顿的起始时间、上述直播速度、上述追赶时长、预定参数和各上述数据片段信息,确定上述数据片段的数量、第一个上述数据片段的起始时间以及上述卡顿片段中的上述数据片段对应的上述数据片段信息,实现了对卡顿时的音视频数据的精确确定。
本申请的另一种实施例中,上述预设时间还包括上述客户端设备缓存上述卡顿片段所需要的时间。具体地,在考虑客户端设备缓存上述卡顿片段所需要的时间的情况下,根据公式2:(t1+t2)f+tf=1.5ft确定追赶时长,其中,t2表示客户端设备缓存上述卡顿片段所需要的时间,即客户端设备在播放卡顿片段之前需要先缓存卡顿片段。根据该公式也可以计算得到对应的追赶时长。
并且,由公式2可得t2越大,t越大。
如果再考虑到采用步进递增和步进递减,可以采用公式3确定追赶时长:
即以1.5f的播放速度播放t3时间段,即以2f的播放速度播放t4时间段,根据卡顿片段的实际情况,适应性地调整播放速度。
本申请的另一种实施例中,上述视频信息还包括上述数据片段的清晰度,上述步骤S120还包括:根据上述追赶时长,确定上述卡顿片段的清晰度。
本申请的一种实施例中,根据上述追赶时长,确定上述卡顿片段的清晰度步骤包括:在上述追赶时长大于上述第一阈值且小于等于第二阈值的情况下,确定上述卡顿片段的清晰度为第一清晰度,上述第一清晰度低于直播的清晰度;在上述追赶时长小于或者等于上述第一阈值的情况下,确定上述卡顿片段的清晰度为直播的清晰度;在上述追赶时长大于上述第二阈值的情况下,确定上述卡顿片段的清晰度为第二清晰度,上述第二清晰度低于上述第一清晰度。具体地,追赶时长与清晰度的关系可以用公式4表示:
其中,x1表示第一阈值,x2表示第二阈值,p1表示第一清晰度,pz表示直播的清晰度,p2表示第二清晰度,即追赶时长越大,清晰度越低,在追赶时长较长的情况下,为实现追上直播的进程,可以采用纯音频播放。
本申请的另一种实施例中,也可以根据播放的音视频数据的内容确定播放倍速,例如,在音视频数据的内容为学习视频的情况下,应当适当地减小播放倍速,在音视频数据的内容为纯娱乐视频的情况下,可以适当地增大播放倍速,以保证较好的观看体验。具体地,可以通过补偿SDK(软件开发工具包)确定播放倍速、播放起始时间以及预设时间。
本申请的另一种实施例中,在步骤S12之前,上述方法还包括:获取直播过程中的第一弹幕信息;将上述第一弹幕信息整合至对应的上述数据片段信息中。通过将第一弹幕信息整合至对应的上述数据片段信息中,利于观众之间的交流,以保证较好的体验感。
本申请的再一种实施例中,上述方法还包括:获取上述客户端设备播放上述卡顿片段时接收到的第二弹幕信息;将上述第二弹幕信息整合至上述数据片段信息中。通过将第二弹幕信息整合至数据片段信息中,利于观众之间的交流,以保证较好的体验感。
图4是根据一示例性实施例示出的一种直播方法流程示意图,如图4所示,该直播方法用于客户端设备中,包括以下步骤S21-步骤S22。
在步骤S21中,获取卡顿信息并发送至服务端设备,上述卡顿信息包括卡顿的起始时间和卡顿时长,当然,卡顿信息还可以包括卡顿的结束时间、卡顿信息的大小、卡顿信息的清晰度以及弹幕信息;
在步骤S22中,接收上述服务端设备发送的卡顿数据并播放,上述卡顿数据为至少根据上述卡顿信息确定的预设时间的音视频数据,且上述预设时间的起始时间为上述卡顿的起始时间,上述音视频数据为直播过程中缓存的,上述预设时间大于或者等于上述卡顿时长和追赶时长的和,上述追赶时长为从播放上述卡顿数据开始且直到同步播放当前直播内容为止的时间。
上述方案中,首先获取卡顿信息,并将卡顿信息发送至服务端设备,然后接受服务端设备发送的卡顿数据并播放,采用本方案,在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放,无需用户在直播完回放卡顿过程中的音视频数据,使得观看视频的用户可以接着卡顿时播放的内容进行观看,有较好的体验感。该方法解决了现有技术中,当卡顿消失时直接继续播放直播内容而需要用户在直播完回看卡顿过程中的视频的问题。并且,该方法中,实时获取直播过程中的音视频数据并缓存,并且根据卡顿信息从缓存区提取缓存的卡顿数据,相比现有技术中,在卡顿之后才缓存对应卡顿期间的视频来说,该方法不会因为网络延迟而导致缓存的数据不准确,进一步保证了后续在卡顿消除后,用户可以看到卡顿期间的完整视频内容。另外,该方法中,并不是由客户端设备缓存对应的数据,而是实时获取直播的音视频数据并缓存,并将对应的卡顿数据发送至客户端设备,避免了客户端由于卡顿导致的缓存数据不完整的问题。
本申请的另一种实施例中,步骤S22包括:接收上述服务端设备发送的视频信息,上述视频信息至少包括:上述卡顿数据中的上述数据片段的数量以及上述卡顿片段中的第一个上述数据片段的起始时间,上述视频信息为上述服务端设备至少根据上述卡顿信息确定的,上述数据片段为上述服务端对上述音视频数据分片段得到的;根据上述视频信息,确定缓存上述卡顿数据;判断缓存的上述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放上述卡顿数据。具体地,连续播放的条件可以为缓存的数据量和下载量(播放时下载的)加起来要大于等于播放量(播放时间和播放速度的乘积),其中,下载量的下载时间和播放时间相同;有多个客户端设备的情况下,可以根据每一个客户端设备具体的卡顿情况,发送对应的卡顿数据至上述客户端设备,以实现所有的客户端设备对卡顿数据的顺利播放。
本申请的又一种实施例中,上述根据上述视频信息,确定缓存上述卡顿数据步骤包括:根据上述视频信息确定是否允许缓存上述卡顿数据;在允许缓存上述卡顿数据的情况下,缓存上述卡顿数据。即在客户端设备允许缓存上述卡顿片段的信息的情况下,才将卡顿片段对应的视频信息发送至上述客户端设备,供客户端设备播放,以节约资源。
本申请的又一种实施例中,上述判断缓存的上述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放上述卡顿数据步骤包括:在缓存的上述卡顿数据的数据量符合上述连续播放的条件的情况下,确定播放策略,上述播放策略包括:上述卡顿片段中的第一个上述数据片段中的播放起始时间以及播放倍速,上述卡顿数据中的第一个上述数据片段中的播放起始时间以及播放倍速;根据上述播放策略播放上述卡顿数据。例如,在播放的内容比较重要的情况下,降低播放的倍数,在播放的内容次重要的情况下,提高播放的倍数;根据上述播放策略播放上述卡顿数据。即根据卡顿数据的不同制定不同的播放策略,以保证卡顿数据的顺利播放。
本申请的另一种实施例中,上述视频信息还包括上述追赶时长以及上述卡顿数据的数据量,上述在缓存的上述卡顿数据的数据量符合上述连续播放的条件的情况下,确定播放策略步骤包括:根据接收到的上述卡顿数据的数据量以及上述追赶时长,确定上述卡顿片段的播放倍速,上述追赶时长为从播放上述卡顿片段开始到同步播放当前直播内容为止所需的时间。具体地,采用公式1:t1f+tf=1.5ft,计算得到追赶时长,其中,t1表示卡顿时长,f表示直播速度,1.5表示预定播放倍速,即假设以正常播放速度的1.5倍播放卡顿数据,t表示追赶时长,根据公式1可得:t=2t1,即假设以正常播放速度的1.5倍播放卡顿数据,在卡顿恢复后,播放2倍卡顿时长的音视频数据后,就可以与当前直播内容同步,当然,追赶时长随着卡顿时长、直播速度以及预定播放倍速的改变而改变。
本申请的再一种实施例中,上述根据上述数据量以及追赶时长,确定上述卡顿片段的播放倍速步骤包括:根据第一时间段的数据量以及上述第一时间段,确定上述第一时间段内的播放倍速递增;根据第二时间段的数据量以及上述第二时间段,确定上述第二时间段内的播放倍速递减,上述追赶时长按照时间先后顺序分为上述第一时间段和上述第二时间段,上述数据量由上述第一时间段的数据量和上述第二时间段的数据量构成。即根据时间段(包括第一时间段和第二时间段)的长短和该时间段对应的数据量,确定该时间段内的卡顿片段的播放倍速,以实现对卡顿片段的顺利播放,且通过倍速播放追上直播的进度,在追上直播的进度后,改变播放速度,观看直播,具体地,假设用户在播放卡顿片段的播放速度是正常播放速度的3倍,直接将播放速度降低至正常的播放速度,降低会让用户感觉不适,此时应该逐步降低,以保证较好的用户体验感。且播放卡顿片段时,通过逐步增加播放速度,使得用户在短时间适应播放速度。
图5是根据一示例性实施例示出的一种直播方法流程示意图,如图5所示,该直播方法用于客户端设备和服务端设备中,包括以下步骤S31-步骤S33。
在步骤S31中,在直播的过程中,上述服务端设备将直播的音视频数据缓存至缓存区;
在步骤S32中,上述客户端设备记录卡顿信息并将上述卡顿信息发送至上述服务端设备,上述卡顿信息包括卡顿的起始时间和卡顿时长;
在步骤S33中,上述服务端设备根据上述卡顿信息确定卡顿数据,并将上述卡顿数据下发至上述客户端设备,上述卡顿数据包括从上述卡顿的起始时间开始且持续预设时间的音视频数据,上述预设时间大于或者等于上述卡顿时长与追赶时长的和,上述追赶时长为上述客户端设备从播放上述卡顿数据开始,且直到同步播放当前直播内容为止的时间;
在步骤S34中,上述客户端设备接收上述卡顿数据并播放上述卡顿片段。
上述的实施例中,首先服务端设备将获取的音视频数据缓存至缓存区,在客户端设备卡顿消除的情况下,获取包括卡顿的起始时间和卡顿时长的卡顿信息,然后服务端设备根据卡顿信息确定卡顿数据,并将卡顿数据下发至客户端设备,以供客户端设备播放。采用本方案,在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放,无需用户在直播完回放卡顿过程中的音视频数据,使得观看视频的用户可以接着卡顿时播放的内容进行观看,有较好的体验感。该方法解决了现有技术中,当卡顿消失时直接继续播放直播内容而需要用户在直播完回看卡顿过程中的视频的问题。并且,该方案中,上述卡顿数据包括从上述卡顿的起始时间开始且持续预设时间的音视频数据,卡顿数据不仅包括卡顿期间的数据还包括追赶时长对应的直播数据,保证了在卡顿消失之后,且在播放完卡顿数据之后与当前直播同步。
本申请的再一种实施例中,在上述服务端设备从缓存区提取缓存的卡顿数据之前,上述方法还包括:上述服务端设备对上述音视频数据进行编码,得到编码音视频数据;上述服务端设备将上述编码音视频数据划分为多个上述数据片段,并缓存至上述缓存区。具体地,可以按照H.261、H.263和H.264等视频压缩标准对音视频数据进行编码,得到编码音视频数据。
本申请的另一种实施例中,上述服务端设备对上述音视频数据进行编码步骤包括:上述服务端设备采用多种编码参数对上述音视频数据进行编码,得到多个不同清晰度的上述编码音视频数据。上述编码参数包括比特率和视频码率。由于编码参数的不同,编码得到的音视频数据的清晰度也不相同,本领域技术人员可以根据实际情况选择合适的编码参数。
本申请的再一种实施例中,步骤S33包括:上述服务端设备至少根据上述卡顿信息,确定视频信息,上述视频信息至少包括:上述卡顿数据中的上述数据片段的数量以及上述卡顿片段中的第一个上述数据片段的起始时间;上述服务端设备根据上述视频信息,确定对应的上述卡顿数据;上述服务端设备将包括上述视频信息以及对应的上述卡顿片段的上述卡顿数据发送至上述客户端设备。通过获取数据片段的数量以及第一个上述数据片段的起始时间可以准确确定卡顿片段对应的视频信息,以供客户端设备播放。例如,数据片段的数量为10个,第一个数据片段的起始时间为2020年9月20日10:25,再根据每一个数据片段的大小,就可以精确确定卡顿片段对应的视频信息。
本申请的一种实施例中,步骤S34包括:接收上述服务端设备发送的视频信息,上述视频信息至少包括:上述卡顿数据中的上述数据片段的数量以及上述卡顿片段中的第一个上述数据片段的起始时间,上述视频信息为上述服务端设备至少根据上述卡顿信息确定的;根据上述视频信息确定是否允许缓存上述卡顿片段;在允许缓存上述卡顿片段的情况下,将预定信息发送至上述服务端设备,上述预定信息为表征允许缓存上述卡顿片段的信息;缓存上述卡顿数据;判断缓存的上述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放上述卡顿数据。即在客户端设备允许缓存上述卡顿片段的信息的情况下,才将卡顿片段对应的视频信息发送至上述客户端设备,供客户端设备播放,以节约资源。
本申请的又一种实施例中,上述判断缓存的上述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放上述卡顿数据步骤包括:在缓存的上述卡顿数据的数据量符合上述连续播放的条件的情况下,上述客户端设备确定播放策略,上述播放策略包括:上述卡顿片段中的第一个上述数据片段中的播放起始时间以及播放倍速;上述客户端设备根据上述播放策略播放上述卡顿数据。即根据卡顿数据的不同制定不同的播放策略,以保证卡顿数据的顺利播放。
本申请的一种实施例中,上述视频信息还包括上述追赶时长以及上述卡顿数据的数据量,上述在缓存的上述卡顿数据的数据量符合上述连续播放的条件的情况下,上述客户端设备确定播放策略步骤包括:上述客户端设备根据上述卡顿数据的数据量以及追赶时长,确定上述卡顿数据的播放倍速,上述追赶时长为从播放上述卡顿片段开始到同步播放当前直播内容为止所需的时间。根据接收到的上述卡顿数据的数据量以及追赶时长,确定上述卡顿片段的播放倍速,以实现卡顿数据的顺利播放。
本申请的另一种实施例中,上述客户端设备根据上述数据量以及追赶时长确定上述卡顿片段的播放倍速步骤包括:上述客户端设备根据第一时间段的数据量以及上述第一时间段,确定上述第一时间段内的播放倍速递增;上述客户端设备根据第二时间段的数据量以及上述第二时间段,确定上述第二时间段内的播放倍速递减,上述追赶时长按照时间先后顺序分为上述第一时间段和上述第二时间段,上述数据量由上述第一时间段的数据量和上述第二时间段的数据量构成。即根据时间段(包括第一时间段和第二时间段)的长短和该时间段对应的数据量,确定该时间段内的卡顿片段的播放倍速,以实现对卡顿片段的顺利播放,且通过倍速播放追上直播的进度,在追上直播的进度后,改变播放速度,观看直播,具体地,假设用户在播放卡顿片段的播放速度是正常播放速度的3倍,直接将播放速度降低至正常的播放速度,降低会让用户感觉不适,此时应该逐步降低,以保证较好的用户体验感。且播放卡顿片段时,通过逐步增加播放速度,使得用户在短时间适应播放速度。本申请的又一种实施例中,在上述服务端设备至少根据上述卡顿信息,确定上述卡顿片段对应的视频信息之前,上述方法还包括:上述服务端设备记录各上述数据片段对应的数据片段信息,上述数据片段信息至少包括上述数据片段的起始时间和上述数据片段的时长。上述服务端设备至少根据上述卡顿信息,确定视频信息步骤包括:上述服务端设备根据上述卡顿时长、直播速度以及预定播放倍速,确定上述追赶时长;上述服务端设备根据上述卡顿的起始时间、上述直播速度、上述追赶时长、预定参数和各上述数据片段信息,确定上述数据片段的数量、第一个上述数据片段的起始时间以及上述卡顿数据中的上述数据片段对应的上述数据片段信息,上述预定参数为上述预定播放倍速或者上述卡顿时长。
本申请的一种实施例中,上述视频信息还包括上述数据片段的清晰度,上述服务端设备至少根据上述卡顿信息,确定视频信息步骤包括:上述服务端设备根据上述追赶时长,确定上述卡顿数据的清晰度。
本申请的又一种实施例中,上述视频信息还包括上述数据片段的清晰度,上述服务端设备至少根据上述卡顿信息,确定上述卡顿片段对应的视频信息步骤包括:上述服务端设备根据上述追赶时长,确定上述卡顿片段的清晰度。根据上述追赶时长,确定上述卡顿片段的清晰度步骤包括:在上述追赶时长大于上述第一阈值且小于等于第二阈值的情况下,确定上述卡顿片段的清晰度为第一清晰度,上述第一清晰度低于直播的清晰度;在上述追赶时长小于或者等于上述第一阈值的情况下,确定上述卡顿片段的清晰度为直播的清晰度;在上述追赶时长大于上述第二阈值的情况下,确定上述卡顿片段的清晰度为第二清晰度,上述第二清晰度低于上述第一清晰度。具体地,追赶时长与清晰度的关可以用公式4表示:
其中,x1表示第一阈值,x2表示第二阈值,p1表示第一清晰度,pz表示直播的清晰度,p2表示第二清晰度,即追赶时长越大,清晰度越低,在追赶时长较长的情况下,为实现追上直播的进程,可以采用纯音频播放。
本申请的一种实施例中,在上述服务端设备根据上述卡顿信息确定卡顿数据,并将上述卡顿数据下发至上述客户端设备,上述卡顿数据包括卡顿片段之前,上述方法还包括:上述服务端设备获取直播过程中的第一弹幕信息;上述服务端设备将上述第一弹幕信息整合至对应的上述数据片段信息中。通过将第一弹幕信息整合至对应的上述数据片段信息中,利于观众之间的交流,以保证较好的体验感。
本申请的一种实施例中,上述方法还包括:上述服务端设备获取上述客户端设备播放上述卡顿片段时接收到的第二弹幕信息;上述服务端设备将上述第二弹幕信息整合至对应的上述数据片段信息中。通过将第二弹幕信息整合至数据片段信息中,利于观众之间的交流,以保证较好的体验感。
图6是根据一示例性实施例示出的一种直播装置的结构框图,该直播装置包括:
第一获取单元10,被配置为执行接收卡顿信息,上述卡顿信息包括卡顿的起始时间和卡顿时长;
发送单元20,被配置为执行根据上述卡顿信息从缓存区提取缓存的卡顿数据,并将上述卡顿数据下发至上述客户端设备,以供上述客户端设备播放,上述卡顿数据包括从上述卡顿的起始时间开始且持续预设时间的音视频数据,上述预设时间大于或者等于上述卡顿时长与追赶时长的和,上述追赶时长为上述客户端设备从播放上述卡顿数据开始,且直到同步播放当前直播内容为止的时间。
上述方案中,在直播的过程中,第一获取单元接收卡顿信息,发送单元根据上述卡顿信息从缓存区提取缓存的卡顿数据,并将上述卡顿数据下发至上述客户端设备,以供上述客户端设备播放,由于预设时间大于或者等于上述卡顿时长与追赶时长的和,使得在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放,无需用户在直播完回放卡顿过程中的音视频数据,使得观看视频的用户可以接着卡顿时播放的内容进行观看,有较好的体验感。该方案解决了现有技术中,当卡顿消失后无法直接继续播放卡顿时的内容,而需要用户在直播完之后回看卡顿过程中的视频的问题。并且,该方案中,上述卡顿数据包括从上述卡顿的起始时间开始且持续预设时间的音视频数据,卡顿数据不仅包括卡顿期间的数据还包括追赶时长对应的直播数据,保证了在卡顿消失之后,且在播放完卡顿数据之后与当前直播同步。
本申请的一种实施例中,上述直播装置还包括编码单元和缓存单元,编码单元用于被配置为执行在根据上述卡顿信息从缓存区提取缓存的卡顿数据之前,对上述音视频数据进行编码,得到编码音视频数据;具体地,可以按照H.261、H.263和H.264等视频压缩标准对音视频数据进行编码,得到编码音视频数据。缓存单元用于将上述编码音视频数据划分为多个数据片段,并缓存至上述缓存区。对编码音视频数据划分为多个上述数据片段,再将多个数据片段缓存,由于采用了统一的编码方式对音视频数据进行编码,加快了音视频数据的处理速度。将上述音视频数据分多个数据片段,可以按照音视频数据的大小进行划分,也可以按照音视频数据的播放时间进行划分,例如,按照视频的播放顺序将每一个大小为50K的音视频数据划分为一个数据片段,按照视频的播放顺序将每次播放时间为30S的音视频数据划分为一个数据片段。可以将音视频按照不同的清晰度进行缓存,例如按照720P、480P以及270P等清晰度进行缓存,当然,也可以将音视频缓存为纯音频的形式,由于缓存的清晰度不同,缓存所需要的空间就不相同。由于预先将上述音视频数据分多个数据片段缓存至缓存区,即直播的过程中所有的音视频数据已经预先缓存,根据卡顿的起始时间和卡顿时长确定的卡顿数据也预先缓存至缓存区,从缓存区中将卡顿数据读出再下发至客户端设备,客户端设备就可以将接收到的卡顿数据继续播放,客户端设备边接收卡顿数据边播放,即客户端设备需要从缓存区边接收卡顿数据边播放,以节省资源。
本申请的一种更为具体的实施例中,编码单元还被配置为执行:采用多种编码参数对上述音视频数据进行编码,得到多个不同清晰度的上述编码音视频数据,上述编码参数包括比特率和视频码率。由于编码参数的不同,编码得到的音视频数据的清晰度也不相同,另外,清晰度不仅与编码方式有关,还与源视频相关,而源视频的清晰度受到采集源的影响,采集源可以为摄像机等可以摄取音视频数据的设备,源视频的清晰度与摄像机的分辨率有关,本领域技术人员可以根据实际情况选择合适的编码参数。
本申请的一种实施例中,发送单元包括第一确定模块、第二确定模块和发送模块,第一确定模块被配置为执行至少根据上述卡顿信息,确定视频信息,上述视频信息至少包括:上述卡顿数据中的上述数据片段的数量以及上述卡顿片段中的第一个上述数据片段的起始时间;通过获取数据片段的数量以及第一个上述数据片段的起始时间可以准确确定卡顿片段对应的视频信息,以供客户端设备播放。例如,数据片段的数量为10个,第一个数据片段的起始时间为2020年9月20日10:25,再根据每一个数据片段的大小,就可以精确确定卡顿片段对应的视频信息。第二确定模块,用于被配置为执行根据上述视频信息,确定对应的上述卡顿数据;发送模块被配置为执行上述视频信息以及对应的上述卡顿片段的上述卡顿数据发送至上述客户端设备。在接收到上述客户端设备发送的预定信息的情况下,将上述卡顿数据发送至上述客户端设备,上述预定信息为表征允许缓存上述卡顿片段的信息。即在客户端设备允许缓存上述卡顿片段的信息的情况下,才将卡顿片段对应的视频信息发送至上述客户端设备,供客户端设备播放,以节约资源。在有多个客户端设备的情况下,可以根据每一个客户端设备具体的卡顿情况,发送对应的卡顿数据至上述客户端设备,以实现所有的客户端设备对卡顿数据的顺利播放。
本申请的一种实施方式中,发送模块包括第一发送子模块和第二发送子模块,第一发送子模块被配置为执行将上述视频信息发送至上述客户端设备;第二发送子模块被配置为执行在接收到上述客户端设备发送的预定信息的情况下,将上述卡顿数据发送至上述客户端设备,上述预定信息为表征允许缓存上述卡顿数据的信息。即在客户端设备允许缓存上述卡顿片段的信息的情况下,才将卡顿片段对应的视频信息发送至上述客户端设备,供客户端设备播放,以节约资源。在有多个客户端设备的情况下,可以根据每一个客户端设备具体的卡顿情况,发送对应的卡顿数据至上述客户端设备,以实现所有的客户端设备对卡顿数据的顺利播放。
本申请的一种实施方式中,上述直播装置还包括记录单元,记录单元被配置为执行在至少根据上述卡顿信息,确定上述卡顿片段对应的视频信息之前,记录各上述数据片段对应的数据片段信息,上述数据片段信息至少包括上述数据片段的起始时间和上述数据片段的时长。当然,也可以获取数据片段的结束时间、清晰度、大小以及弹幕信息,然后根据数据片段的起始时间、数据片段的时长、数据片段的结束时间、数据片段的清晰度、大小以及弹幕信息,实现对数据片段的精确确定。上述第一确定模块包括:第一确定子模块,被配置为执行根据上述卡顿时长、直播速度以及预定播放倍速,确定上述追赶时长;第二确定子模块,被配置为执行根据上述卡顿的起始时间、上述直播速度、上述追赶时长、预定参数和各上述数据片段信息,确定上述数据片段的数量、第一个上述数据片段的起始时间以及上述卡顿数据中的上述数据片段对应的上述数据片段信息,上述预定参数为上述预定播放倍速或者上述卡顿时长。具体地,采用公式1:t1f+tf=1.5ft,计算得到追赶时长,其中,t1表示卡顿时长,f表示直播速度,1.5表示预定播放倍速,即假设以正常播放速度的1.5倍播放卡顿数据,t表示追赶时长,根据公式1可得:t=2t1,即假设以正常播放速度的1.5倍播放卡顿数据,在卡顿恢复后,播放2倍卡顿时长的音视频数据后,就可以与当前直播内容同步,当然,追赶时长随着卡顿时长、直播速度以及预定播放倍速的改变而改变;再根据上述卡顿的起始时间、上述直播速度、上述追赶时长、预定参数和各上述数据片段信息,确定上述数据片段的数量、第一个上述数据片段的起始时间以及上述卡顿片段中的上述数据片段对应的上述数据片段信息,实现了对卡顿时的音视频数据的精确确定。
本申请的另一种实施例中,上述预设时间大于或者等于述卡顿时长、上述追赶时长以及缓存时间的和,上述缓存时间为上述客户端设备缓存上述卡顿数据所需要的时间。
本申请的另一种实施例中,上述视频信息还包括上述数据片段的清晰度,第一确定模块还包括第三确定子模块,被配置为执行根据上述追赶时长,确定上述卡顿片段的清晰度。具体地,在数据片段的数量确定的情况下,网络速度越快,卡顿片段的清晰度越高,网络速度越慢,卡顿片段的清晰度越低。
本申请的一种实施例中,上述第三确定子模块包括第四确定子模块、第五确定子模块和第六确定子模块,第四确定子模块被配置为执行在上述追赶时长大于上述第一阈值且小于等于第二阈值的情况下,确定上述卡顿片段的清晰度为第一清晰度,上述第一清晰度低于直播的清晰度;第五确定子模块被配置为执行在上述追赶时长小于或者等于上述第一阈值的情况下,确定上述卡顿片段的清晰度为直播的清晰度;第六确定子模块,被配置为在上述追赶时长大于上述第二阈值的情况下,确定上述卡顿片段的清晰度为第二清晰度,上述第二清晰度低于上述第一清晰度。具体地,追赶时长与清晰度的关系可以用公式4表示:
其中,x1表示第一阈值,x2表示第二阈值,p1表示第一清晰度,pz表示直播的清晰度,p2表示第二清晰度,即追赶时长越大,清晰度越低,在追赶时长较长的情况下,为实现追上直播的进程,可以采用纯音频播放。
本申请的另一种实施例中,上述直播装置还包括第二获取单元和第一整合单元,第二获取单元用于被配置为执行根据上述卡顿信息从缓存区提取缓存的卡顿数据,并将上述卡顿数据下发至上述客户端设备,以供上述客户端设备播放之前,获取直播过程中的第一弹幕信息;第一整合单元被配置为执行将上述第一弹幕信息整合至对应的上述数据片段信息中。通过将第一弹幕信息整合至对应的上述数据片段信息中,利于观众之间的交流,以保证较好的体验感。
本申请的再一种实施例中,上述直播装置还包括第三获取单元和第二整合单元,第三获取单元被配置为执行获取上述客户端设备播放上述卡顿数据时接收到的第二弹幕信息;第二整合单元被配置为执行将上述第二弹幕信息整合至上述数据片段信息中。通过将第二弹幕信息整合至数据片段信息中,利于观众之间的交流,以保证较好的体验感。
图7是根据一示例性实施例示出的一种直播装置的结构框图。该直播装置包括:
第二获取单元30,被配置为执行获取卡顿信息并发送至服务端设备,上述卡顿信息包括播放直播视频过程中的卡顿的起始时间和卡顿时长;
接收单元40,被配置为执行接收上述服务端设备发送的卡顿数据并播放,上述卡顿数据为至少根据上述卡顿信息确定的预设时间的音视频数据,且上述预设时间的起始时间为上述卡顿的起始时间,上述音视频数据为直播过程中缓存的,上述预设时间大于或者等于上述卡顿时长和追赶时长的和,上述追赶时长为从播放上述卡顿数据开始且直到同步播放当前直播内容为止的时间。
上述方案中,第二获取单元获取卡顿信息,并将卡顿信息发送至服务端设备,接收单元接受服务端设备发送的卡顿数据并播放,采用本方案,在直播的过程中卡顿消除的情况下,可以继续将卡顿发生时的音视频数据播放,无需用户在直播完回放卡顿过程中的音视频数据,使得观看视频的用户可以接着卡顿时播放的内容进行观看,有较好的体验感。
本申请的一种实施例中,上述接收单元包括接收模块、确定模块和播放模块,接收模块被配置为执行接收上述服务端设备发送的视频信息,上述视频信息至少包括:上述卡顿数据中的数据片段的数量以及上述卡顿数据中的第一个上述数据片段的起始时间,上述视频信息为至少根据上述卡顿信息确定的,上述数据片段为对上述音视频数据分片段得到的;确定模块被配置为执行根据上述视频信息,确定缓存上述卡顿数据;播放模块被配置为执行在判断缓存的上述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放上述卡顿数据。
本申请的一种实施例中,上述确定模块包括确定子模块和缓存子模块,确定子模块被配置为执行根据上述视频信息确定是否允许缓存上述卡顿数据;缓存子模块被配置为执行在允许缓存上述卡顿数据的情况下,缓存上述卡顿数据。即在允许缓存上述卡顿片段的信息的情况下,缓存对应的卡顿数据。
本申请的一种实施例中,上述播放模块包括第一确定子模块和播放子模块,第一确定子模块被配置为执行在缓存的上述卡顿数据的数据量符合上述连续播放的条件的情况下,确定播放策略,上述播放策略包括:上述卡顿数据中的第一个上述数据片段中的播放起始时间以及播放倍速;播放子模块被配置为执行根据上述播放策略播放上述卡顿数据。例如,在播放的内容比较重要的情况下,降低播放的倍数,在播放的内容次重要的情况下,提高播放的倍数;根据上述播放策略播放上述卡顿数据。即根据卡顿数据的不同制定不同的播放策略,以保证卡顿数据的顺利播放。
本申请的一种实施例中,上述视频信息还包括上述追赶时长以及上述卡顿数据的数据量,上述第一确定子模块被配置为执行:根据上述卡顿数据的数据量以及上述追赶时长,确定上述卡顿数据的播放倍速。上述追赶时长为从播放上述卡顿片段开始到同步播放当前直播内容为止所需的时间。具体地,采用公式1:t1f+tf=1.5ft,计算得到追赶时长,其中,t1表示卡顿时长,f表示直播速度,1.5表示预定播放倍速,即假设以正常播放速度的1.5倍播放卡顿数据,t表示追赶时长,根据公式1可得:t=2t1,即假设以正常播放速度的1.5倍播放卡顿数据,在卡顿恢复后,播放2倍卡顿时长的音视频数据后,就可以与当前直播内容同步,当然,追赶时长随着卡顿时长、直播速度以及预定播放倍速的改变而改变。
本申请的一种实施例中,上述第一确定子模块包括第二确定子模块和第三确定子模块,第二确定子模块被配置为执行根据第一时间段的数据量以及上述第一时间段,确定上述第一时间段内的播放倍速递增;第三确定子模块被配置为执行根据第二时间段的数据量以及上述第二时间段,确定上述第二时间段内的播放倍速递减,上述追赶时长按照时间先后顺序分为上述第一时间段和上述第二时间段,上述数据量由上述第一时间段的数据量和上述第二时间段的数据量构成。即根据时间段(包括第一时间段和第二时间段)的长短和该时间段对应的数据量,确定该时间段内的卡顿片段的播放倍速,以实现对卡顿片段的顺利播放,且通过倍速播放追上直播的进度,在追上直播的进度后,改变播放速度,观看直播,具体地,假设用户在播放卡顿片段的播放速度是正常播放速度的3倍,直接将播放速度降低至正常的播放速度,降低会让用户感觉不适,此时应该逐步降低,以保证较好的用户体验感。且播放卡顿片段时,通过逐步增加播放速度,使得用户在短时间适应播放速度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请的一种实施例中,提供了一种电子设备,如图8上述,其包括:处理器100;用于存储上述处理器可执行指令的存储器200;其中,上述处理器被配置为执行上述指令,以实现上述对应的直播方法。图8中示出了一种具体的结构,其还包括存储控制器300以及外设接口400。
本申请的一种实施例提供了一种***,包括服务端设备和客户端设备,上述服务端设备被配置为执行有关直播方法;上述客户端设备,被配置为执行有关直播方法。
本申请的一种实施例提供了一种直播***,图9示出了该直播***的结构框图。该直播***包括采集端、服务端以及播放端,服务端即服务端设备,采集端和播放端即客户端设备,采集端与服务端之间的数据交互、采集端与播放端之间的数据交互、服务端与播放端之间的数据交互如图9所示;采集端直接与主播进行交互,播放端与观众进行交互,该图中,两个服务端实际为同一个,只是划分的方式不同。
本申请的另一种实施例提供了一种存储介质,当上述存储介质中的指令由服务端设备的处理器执行时,使得服务端设备能够执行有关直播方法。
本申请的再一种实施例提供了一种存储介质,当上述存储介质中的指令由客户端设备的处理器执行时,使得客户端设备能够执行有关直播方法。
本申请的再一种实施例提供了一种计算机程序产品,包括计算机程序,上述计算机程序被处理器执行时实现任意一种上述的直播方法。
可选地,存储介质可以是非临时性计算机可读存储介质,例如,上述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种直播方法,其特征在于,包括:
接收卡顿信息,所述卡顿信息包括卡顿的起始时间和卡顿时长;
根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至客户端设备,以供所述客户端设备播放,所述卡顿数据包括从所述卡顿的起始时间开始且持续预设时间的音视频数据,所述预设时间大于或者等于所述卡顿时长与追赶时长的和,所述追赶时长为所述客户端设备从播放所述卡顿数据开始,且直到同步播放当前直播内容为止的时间。
2.根据权利要求1所述的方法,其特征在于,在根据所述卡顿信息从缓存区提取缓存的卡顿数据之前,所述方法还包括:
对所述音视频数据进行编码,得到编码音视频数据;
将所述编码音视频数据划分为多个数据片段,并缓存至所述缓存区。
3.根据权利要求2所述的方法,其特征在于,所述根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至所述客户端设备,以供所述客户端设备播放步骤包括:
至少根据所述卡顿信息,确定视频信息,所述视频信息至少包括:所述卡顿数据中的所述数据片段的数量以及所述卡顿数据中的第一个所述数据片段的起始时间;
根据所述视频信息,确定对应的所述卡顿数据;
将所述视频信息以及对应的所述卡顿数据发送至所述客户端设备。
4.根据权利要求3所述的方法,其特征在于,
在至少根据所述卡顿信息,确定视频信息之前,所述方法还包括:
记录各所述数据片段对应的数据片段信息,所述数据片段信息至少包括所述数据片段的起始时间和所述数据片段的时长,
所述至少根据所述卡顿信息,确定视频信息步骤包括:
根据所述卡顿时长、直播速度以及预定播放倍速,确定所述追赶时长;
根据所述卡顿的起始时间、所述直播速度、所述追赶时长、预定参数和各所述数据片段信息,确定所述数据片段的数量、第一个所述数据片段的起始时间以及所述卡顿数据中的所述数据片段对应的所述数据片段信息,所述预定参数为所述预定播放倍速或者所述卡顿时长。
5.一种直播方法,其特征在于,包括:
获取卡顿信息并发送至服务端设备,所述卡顿信息包括播放直播视频过程中的卡顿的起始时间和卡顿时长;
接收所述服务端设备发送的卡顿数据并播放,所述卡顿数据为至少根据所述卡顿信息确定的预设时间的音视频数据,且所述预设时间的起始时间为所述卡顿的起始时间,所述音视频数据为直播过程中缓存的,所述预设时间大于或者等于所述卡顿时长和追赶时长的和,所述追赶时长为从播放所述卡顿数据开始且直到同步播放当前直播内容为止的时间。
6.根据权利要求5所述的方法,其特征在于,所述接收所述服务端设备发送的卡顿数据并播放步骤包括:
接收所述服务端设备发送的视频信息,所述视频信息至少包括:所述卡顿数据中的数据片段的数量以及所述卡顿数据中的第一个所述数据片段的起始时间,所述视频信息为至少根据所述卡顿信息确定的,所述数据片段为对所述音视频数据分片段得到的;
根据所述视频信息,确定缓存所述卡顿数据;
判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据。
7.根据权利要求6所述的方法,其特征在于,所述判断缓存的所述卡顿数据的数据量是否符合连续播放的条件,如果是,则播放所述卡顿数据步骤包括:
在缓存的所述卡顿数据的数据量符合所述连续播放的条件的情况下,确定播放策略,所述播放策略包括:所述卡顿数据中的第一个所述数据片段中的播放起始时间以及播放倍速;
根据所述播放策略播放所述卡顿数据。
8.一种直播装置,其特征在于,包括:
第一获取单元,被配置为执行接收卡顿信息,所述卡顿信息包括卡顿的起始时间和卡顿时长;
发送单元,被配置为执行根据所述卡顿信息从缓存区提取缓存的卡顿数据,并将所述卡顿数据下发至客户端设备,以供所述客户端设备播放,所述卡顿数据包括从所述卡顿的起始时间开始且持续预设时间的音视频数据,所述预设时间大于或者等于所述卡顿时长与追赶时长的和,所述追赶时长为所述客户端设备从播放所述卡顿数据开始,且直到同步播放当前直播内容为止的时间。
9.一种直播装置,其特征在于,包括:
第二获取单元,被配置为执行获取卡顿信息并发送至服务端设备,所述卡顿信息包括播放直播视频过程中的卡顿的起始时间和卡顿时长;
接收单元,被配置为执行接收所述服务端设备发送的卡顿数据并播放,所述卡顿数据为至少根据所述卡顿信息确定的预设时间的音视频数据,且所述预设时间的起始时间为所述卡顿的起始时间,所述音视频数据为直播过程中缓存的,所述预设时间大于或者等于所述卡顿时长和追赶时长的和,所述追赶时长为从播放所述卡顿数据开始且直到同步播放当前直播内容为止的时间。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的直播方法或者实现权利要求5至7中任一项所述的直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631129.4A CN112788360B (zh) | 2020-12-30 | 2020-12-30 | 直播方法、直播装置与计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631129.4A CN112788360B (zh) | 2020-12-30 | 2020-12-30 | 直播方法、直播装置与计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112788360A true CN112788360A (zh) | 2021-05-11 |
CN112788360B CN112788360B (zh) | 2023-06-20 |
Family
ID=75754732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011631129.4A Active CN112788360B (zh) | 2020-12-30 | 2020-12-30 | 直播方法、直播装置与计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112788360B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113038166A (zh) * | 2021-03-29 | 2021-06-25 | 读书郎教育科技有限公司 | 一种智慧课堂错失课程播放控制***及方法 |
CN113434561A (zh) * | 2021-06-24 | 2021-09-24 | 北京金山云网络技术有限公司 | 直播数据校验方法、***、电子设备及存储介质 |
CN114401447A (zh) * | 2021-12-20 | 2022-04-26 | 北京字节跳动网络技术有限公司 | 一种视频卡顿预测方法、装置、设备和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639977A (zh) * | 2015-02-05 | 2015-05-20 | 小米科技有限责任公司 | 节目播放的方法及装置 |
CN106101146A (zh) * | 2016-08-12 | 2016-11-09 | 暴风集团股份有限公司 | 基于分块格式进行Flash对等网络直播的方法及*** |
CN107396171A (zh) * | 2017-07-24 | 2017-11-24 | 广州酷狗计算机科技有限公司 | 网络直播方法、装置和存储介质 |
US20170353518A1 (en) * | 2016-06-01 | 2017-12-07 | Amazon Technologies, Inc. | Catching up to the live playhead in live streaming |
CN110166834A (zh) * | 2018-02-11 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种数据播放方法、装置及存储介质 |
CN110198495A (zh) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
CN110248204A (zh) * | 2019-07-16 | 2019-09-17 | 广州虎牙科技有限公司 | 一种直播缓存的处理方法、装置、设备和存储介质 |
CN110401869A (zh) * | 2019-07-26 | 2019-11-01 | 歌尔股份有限公司 | 一种视频直播方法、***及电子设备和存储介质 |
CN111294634A (zh) * | 2020-02-27 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 直播方法、装置、***、设备及计算机可读存储介质 |
CN111885334A (zh) * | 2020-08-26 | 2020-11-03 | 杭州速递科技有限公司 | 一种音视频实时追帧缩小延迟的方法 |
CN111918093A (zh) * | 2020-08-13 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-12-30 CN CN202011631129.4A patent/CN112788360B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639977A (zh) * | 2015-02-05 | 2015-05-20 | 小米科技有限责任公司 | 节目播放的方法及装置 |
US20170353518A1 (en) * | 2016-06-01 | 2017-12-07 | Amazon Technologies, Inc. | Catching up to the live playhead in live streaming |
CN106101146A (zh) * | 2016-08-12 | 2016-11-09 | 暴风集团股份有限公司 | 基于分块格式进行Flash对等网络直播的方法及*** |
CN107396171A (zh) * | 2017-07-24 | 2017-11-24 | 广州酷狗计算机科技有限公司 | 网络直播方法、装置和存储介质 |
CN110166834A (zh) * | 2018-02-11 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种数据播放方法、装置及存储介质 |
CN110198495A (zh) * | 2019-06-28 | 2019-09-03 | 广州市百果园信息技术有限公司 | 一种视频下载和播放的方法、装置、设备和存储介质 |
CN110248204A (zh) * | 2019-07-16 | 2019-09-17 | 广州虎牙科技有限公司 | 一种直播缓存的处理方法、装置、设备和存储介质 |
CN110401869A (zh) * | 2019-07-26 | 2019-11-01 | 歌尔股份有限公司 | 一种视频直播方法、***及电子设备和存储介质 |
CN111294634A (zh) * | 2020-02-27 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 直播方法、装置、***、设备及计算机可读存储介质 |
CN111918093A (zh) * | 2020-08-13 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 直播数据处理方法、装置、计算机设备和存储介质 |
CN111885334A (zh) * | 2020-08-26 | 2020-11-03 | 杭州速递科技有限公司 | 一种音视频实时追帧缩小延迟的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113038166A (zh) * | 2021-03-29 | 2021-06-25 | 读书郎教育科技有限公司 | 一种智慧课堂错失课程播放控制***及方法 |
CN113434561A (zh) * | 2021-06-24 | 2021-09-24 | 北京金山云网络技术有限公司 | 直播数据校验方法、***、电子设备及存储介质 |
CN114401447A (zh) * | 2021-12-20 | 2022-04-26 | 北京字节跳动网络技术有限公司 | 一种视频卡顿预测方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112788360B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112788360B (zh) | 直播方法、直播装置与计算机程序产品 | |
CN111294634B (zh) | 直播方法、装置、***、设备及计算机可读存储介质 | |
US10841667B2 (en) | Producing video data | |
US7614064B2 (en) | Determining program boundaries through viewing behavior | |
CN112822503B (zh) | 直播视频流的播放方法、装置、设备及存储介质 | |
WO2021147448A1 (zh) | 一种视频数据处理方法、装置及存储介质 | |
TW201404170A (zh) | 用於可調適視訊串流之技術 | |
CN114363649B (zh) | 视频处理方法、装置、设备及存储介质 | |
US10091265B2 (en) | Catching up to the live playhead in live streaming | |
CN110139128B (zh) | 一种信息处理方法、***、电子设备及存储介质 | |
US20240214443A1 (en) | Methods, systems, and media for selecting video formats for adaptive video streaming | |
US11082679B1 (en) | Synchronizing secondary audiovisual content based on frame transitions in streaming content | |
CN117714700A (zh) | 一种视频编码方法、装置、设备、可读存储介质及产品 | |
US12015834B2 (en) | Methods, systems, and media for streaming video content using adaptive buffers | |
JP6987567B2 (ja) | 配信装置、受信装置及びプログラム | |
EP3902275A1 (en) | A method for estimating bandwidth between a video server and a video client | |
CN114339284A (zh) | 直播延迟的监控方法、设备、存储介质及程序产品 | |
CN111064698B (zh) | 一种多媒体流数据的播放方法和装置 | |
CN114302223A (zh) | 将视觉对象合并到视频材料中 | |
US12052427B2 (en) | Video data processing method and apparatus, and storage medium | |
CN115278349B (zh) | 一种在无线通信环境下的处理拖拽观看视频的方法 | |
US20230199267A1 (en) | Method and apparatus for processing adaptive multi-view streaming | |
CN115695918B (zh) | 多摄像头导播控制方法、装置、可读存储介质及终端设备 | |
JP2008054150A (ja) | 複数チャンネル画像転送装置 | |
CN115052191A (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 |