CN112929677B - 直播视频的回看方法、装置和服务器 - Google Patents

直播视频的回看方法、装置和服务器 Download PDF

Info

Publication number
CN112929677B
CN112929677B CN201911256145.7A CN201911256145A CN112929677B CN 112929677 B CN112929677 B CN 112929677B CN 201911256145 A CN201911256145 A CN 201911256145A CN 112929677 B CN112929677 B CN 112929677B
Authority
CN
China
Prior art keywords
index
review
video
live video
request
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
CN201911256145.7A
Other languages
English (en)
Other versions
CN112929677A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911256145.7A priority Critical patent/CN112929677B/zh
Publication of CN112929677A publication Critical patent/CN112929677A/zh
Application granted granted Critical
Publication of CN112929677B publication Critical patent/CN112929677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium

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为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
直播回看是指观众可以任意回放过去时间的直播内容,它是直播与点播相结合而形成的一种新业务,是直播业务的补充。用户在观看直播节目时,中途可以暂停,过后可以从暂停处继续收看,以免错过某些重要情节。
直播回看基于常规的HLS(HTTP Live Streaming,一种基于HTTP的流媒体网络传输协议)视频直播;HLS是一种用于实时流传输的协议,基于HTTP协议实现,包括:M3U8索引文件、TS(Transport Stream,传送流)媒体分片文件和key加密串文件,可以实现流媒体的直播和点播。其中,M3U8索引文件,即索引文件,是一种UTF-8编码格式的M3U文件,UTF-8(Unicode Transformation Format-8,8位元统一码转换格式)是针对Unicode(统一码)的一种可变长度字符编码;M3U(Moving Picture Experts Group Audio Layer 3UniformResource Locator)文件是音频或视频文件的列表文件,是纯文本文件。
TS媒体分片文件,即视频分片,通常是由源站生成的,基于编码后的媒体源,由一系列的.ts格式的文件组成,其中包含可以通过RTMP(Real Time Messaging Protocol,实时消息传输协议)流携带的H.264视频和AAC(Advanced Audio Coding,高级音频编码)音频。对于纯音频的直播,切片器可以生产MPEG(Moving Picture Experts Group,一种文件格式)基础音频流,其中包含了ADTS(Audio Data Transport Stream,音频数据传输流)头的AAC音频。M3U8索引文件可以理解为,服务器根据播放端的拉流参数动态生成的存储TS媒体分片文件播放信息的索引文件,参见表1所示M3U8索引文件信息列表,该文件中会存储M3U文件头、第一个TS媒体分片文件的序列号、TS媒体分片文件时长、路径等等视频分片信息。
表1
M3U文件头
第一个TS媒体分片文件的序列号
每个TS媒体分片文件的最大的时长
TS媒体分片文件时长、路径等视频分片信息
TS媒体分片文件时长、路径等视频分片信息
TS媒体分片文件时长、路径等视频分片信息
……
M3U8索引文件列表结束
基于常规的HLS视频直播,直播视频推流被切分成多个TS媒体分片文件,即视频分片,通过HLS协议向播放用户分发,用户请求的M3U8索引文件中包含不断刷新的TS媒体分片文件路径,即TS媒体分片文件的存储位置,也即视频分片的存储位置;对于常规的HLS直播而言,TS媒体分片文件路径及相应的TS媒体分片文件并不持久化保存,导致当前时间之前的直播视频内容无法回溯;而对于开通了回看功能的HLS直播而言,TS媒体分片文件路径及相应TS媒体分片文件会在分布式文件系统中持久化保存一段时间,使得回溯从直播开始时间到当前时间之间的视频内容成为可能。
目前,HLS直播的回看功能有两种实现方案,两种方案都需要借助服务器。第一种方案是服务器将实时获取的TS媒体分片文件存储在该服务器的内存或者本地磁盘中,当客户端请求某一时间段的回看节目时,该服务器取出相对应的TS媒体分片文件并进行打包,生成M3U8索引文件(该索引文件与观看直播时的M3U8索引文件是同一个文件;)和播放链接,返回给客户端,客户端获取到的播放链接和直播的链接是一样的,播放的处理流程也是一样的,只不过这时的直播只能播放靠近当前时间的一段时间,比如:回看时间段为5分钟,则只能回看靠近当前时间的最近5分钟的直播;该方案将TS媒体分片文件存在同一个服务器上,由于服务器容量有限,无法存储过多数据,只能支持较短时间的回看;并且,由于将数据存至服务器上,当存在多台服务器时,需要先找到对应服务器才可以拿到索引文件,操作不方便;另外,播放器可能不能识别M3U8索引文件的部分tag(标签),或者,部分tag可能会导致播放器异常,从而可能会导致各种播放错误,因而该方案实现较为困难。
第二种方案是服务器将指定节目的指定直播内容使用FFMPEG(用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)转码成MP4(全称MPEG-4Part 14,是一种使用MPEG-4的多媒体电脑档案格式,副档名为MP4,以储存数码音讯及数码视讯为主,其中MPEG是指Moving Picture Experts Group,即动态图像专家组,是针对运动图像和语音压缩制定国际标准的组织;MPEG-4该组织所制定的其中一种编码标准)和3GP(一种3G流媒体的视频编码格式,其中3G是指3rd-generation,即第三代移动通信技术)等点播源,生成播放链接返回给客户端播放;该方案对于服务器来说,多了一步制作点播源的步骤;并且灵活性较差,用户需要等到录制文件生成后才可以进行回看,时效性较差。
基于上述问题,本发明实施例提供了一种直播视频的回看方法、装置和服务器,该技术可以应用于需要运行直播视频回看功能的各种服务器中。下面对本发明实施例所公开的一种直播视频的回看方法进行详细介绍,如图1所示,该方法包括如下步骤:
步骤S102,接收来自拉流客户端的回看请求。
上述拉流客户端通常设置在用户终端上,通过该拉流客户端可以观看或回看直播视频;上述回看请求可以理解为拉流客户端想要回看过去时间的直播视频时所发出的请求,该请求中通常包含用户想要回看的该直播视频的回看时间段等信息;当拉流客户端想要回看过去时间段的直播视频时,可以通过拖动播放进度条,基于拖动位置生成回看请求,其中,拖动位置可以基于拖动的时间段进行设置;拉流客户端将所生成的回看请求发送至服务器,服务器接收该回看请求。
步骤S104,获取上述回看请求对应的直播视频的多级索引;其中,该多级索引中,上级索引包括下级索引的存储位置,最下级索引用于指示该直播视频的各个视频分片的存储位置。
上述多级索引可以理解为是对单级索引空间或空间范围进行的多级划分,可以用于解决超大型数据量的检索、分析和显示的效率等问题;该多级索引通常至少包括两级索引;作为示例,当多级索引包括一级索引、二级索引和三级索引时,对于一级索引和二级索引,一级索引为上级索引,二级索引为下级索引;对于二级索引和三级索引,二级索引为上级索引,三级索引为下级索引;其中三级索引通常为最下级索引;一级索引中包括二级索引的存储位置,二级索引中包括三级索引的存储位置;上述三级索引可以指示该直播视频的各个视频分片的存储位置。当服务器接收到回看请求后,逐级查找并获取与该回看请求相对应的直播视频的多级索引。
上述视频分片通常可以理解为,按预设时间间隔对该直播视频进行切片,所分成的多个直播视频片段即为视频分片,该视频分片的具体实现形式可以为上述TS媒体分片文件;该视频分片可以存储在文件系统中,该文件系统通常为分布式文件系统。
步骤S106,根据上述多级索引,生成上述回看请求对应的回看索引;该回看索引包括:直播视频中,与该回看请求相关联的视频分片的存储位置。
上述回看索引中通常仅包含与回看请求相对应的视频分片的存储位置,比如,回看请求中通常包含回看时间段,则回看索引中仅包含与该回看时间段相对应的视频分片的存储位置。服务器根据获取到的多级索引,得到与回看请求相关联的视频分片的存储位置,生成对应的回看索引,比如,如果多级索引包括一级索引和二级索引,一级索引中包含二级索引的存储位置,二级索引中包含直播视频的各个视频分片的存储位置;并且,回看请求中包含回看时间段时,服务器首先通过一级索引查找到包含回看请求中回看时间段的二级索引的存储位置,获取到相应的二级索引,然后从获取到的二级索引中所包含的直播视频的各个视频分片的存储位置中,截取与回看请求相对应的视频分片的存储位置,并生成对应的回看索引。
步骤S108,将上述回看索引返回至上述拉流客户端,以使该拉流客户端通过该回看索引,回看直播视频。
服务器将所生成的回看索引返回至拉流客户端,因回看索引中包含与回看请求相对应的视频分片的存储位置,因此,拉流客户端获取到该回看索引后,通过该回看索引,即可回看所请求回看的直播视频。
本发明实施例提供的一种直播视频的回看方法,当接收到来自拉流客户端的回看请求后,通过多级索引逐级查找到包含回看请求的视频分片的存储位置,根据该存储位置生成该回看请求对应的回看索引;将该回看索引返回至该拉流客户端,以使该拉流客户端通过该回看索引,回看该直播视频。该方法通过设定多级索引的方式,当接收到回看请求后,服务器只需要遍历与回看请求相关联的视频分片的存储位置,无需遍历直播视频的所有视频分片的存储位置,因而减少了对服务器资源的消耗。
本发明实施例还提供另一种直播视频的回看方法,该方法在上述实施例方法的基础上实现;该方法中多级索引包括一级索引和二级索引;一级索引包括直播视频的二级索引的存储位置;二级索引包括该直播视频的各个视频分片的存储位置,可以将一级索引、二级索引和各个视频分片存储在文件系统中,该文件系统通常为分布式文件系统,该分布式系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取;这样一级索引、二级索引和各个视频分片可能会存储在不同的服务器上。
由于直播视频的各个视频分片可以存储在分布式文件系统中,因而可以存储相对完整的直播视频内容,在直播视频的视频分片数量大的情况下,通过上述多级索引可以快速地得到回看请求对应的视频分片的存储位置,可以在节约服务器资源消耗的同时,支持较长时间的视频数据的回看。
上述一级索引中需要包含二级索引的存储位置,比如,二级索引所在的服务器名称,以及该二级索引在相应的服务器中的路径、名称等;同样,二级索引中需要包含该直播视频的各个视频分片的存储位置,比如,各个视频分片所在的服务器名称,以及各个视频分片在相应的服务器中的路径、名称等。
本实施例重点描述生成直播视频的二级索引和一级索引的具体实现过程,具体对应下述步骤S202至步骤S206。如图2所示,该方法包括以下步骤:
步骤S202,如果接收到来自推流客户端的直播视频,按照预设的分片长度,将该直播视频划分为多个视频分片。
上述推流客户端通常理解为,可以将录制的直播视频发送到服务器上的客户端;上述分片长度可以按照时间进行设定,也可以按照其他方式进行设定,比如设定分片长度为10秒,按照该分片长度,对该直播视频进行划分,则所划分出的每个视频分片的时长为10秒左右。实际实现时,通常在服务器接收来自推流客户端的直播视频过程中,就对该直播视频进行实时划分,生成多个视频分片,该视频分片可以由编码器编码而成,通常情况下,该视频分片为一段10秒左右时长的直播视频数据,且该视频分片中记录有创建时间信息,该创建时间一般为绝对时间,可以理解为根据该直播视频生成视频分片的时间,一般包括日期、时、分、秒的具体时间信息;以此保证每个视频分片的唯一性以及该直播视频内部各视频分片的顺序性。
步骤S204,保存划分得到的上述视频分片,根据每个视频分片的存储位置,生成上述直播视频的二级索引。
服务器将划分得到的视频分片上传至文件系统并保存,由于该文件系统通常为分布式文件系统,因此,所划分得到的各个视频分片一般会存储在不同的服务器上,文件系统所在的服务器与对拉流客户端的直播视频进行接收、存储等处理操作的服务器通常不是同一个服务器,根据每个视频分片的存储位置,生成该直播视频的二级索引。在实际实现时,直播回看通常基于HLS视频直播,HLS中所包含的M3U8索引文件相当于二级索引,其中记录有视频分片的下载路径、视频分片的时长等信息。
作为另一种实现方式,视频分片除了可以存储在文件系统,还可以存储在数据库中,即,在数据库中保存视频分片的下载路径、视频分片的时长等信息;当服务器接收到来自拉流客户端的回看请求时,可以从该数据库中获取到回看时间段内的所有视频分片信息,根据获取到的视频分片生成回看索引,返回至拉流客户端。
步骤S206,保存上述二级索引,根据该二级索引的存储位置,生成直播视频的一级索引。
服务器将上述二级索引上传至文件系统并保存,同样,由于该文件系统通常为分布式文件系统,二级索引可能会存储在不同的服务器上,根据二级索引的存储位置,生成该直播视频的一级索引,将所生成的一级索引上传至文件系统并保存。在实际实现时,推流客户端每一次推流都生成一个回看文件,即,一次推流对应一个回看文件,每次推流的视频流信息分别存放在不同的回看文件中,该回看文件相当于一级索引,通常情况下,服务器在根据直播视频划分视频分片的同时,会动态生成对应的M3U8索引文件和回看文件,该回看文件记录了所对应的当次推流的相关信息,如当次推流生成的阶段性M3U8索引文件所对应的开始和结束时间,以及该M3U8索引文件在文件系统的位置等信息,记录内容如表2所示;由于M3U8索引文件中记录了每个视频分片的时间信息,回看文件中记录了M3U8索引文件对应的时间段,因此,通过回看文件就可以记录直播视频所包含的时间信息。
表2
Figure BDA0002307142210000121
正常情况下,从直播开始到下线算是一次推流;如果直播过程中因网络故障导致直播下线,再重新开始直播时算一次新的推流;一次推流对应一个回看文件,一次推流的时间可能几十分钟到几小时不等,因此,一次推流的直播视频可能会有很长的一串视频帧,对该视频帧进行切片,得到该次推流对应的直播视频的多个视频分片;推流的直播视频和视频分片格式有所区别,但实质数据都是视频帧。
在每次推流开始时,服务器会将回看文件从文件系统上拉取下来,添加上本次推流的M3U8索引文件信息,如开始时间等信息,再上传到文件系统;在当次推流结束时,会再次将该回看文件从文件系统上拉取下来,添加上本次推流的M3U8索引文件信息,如结束时间等信息,再上传到文件系统。
作为另一种实现方式,M3U8索引文件信息除了可以保存在回看文件中,还可以保存在数据库中,即在数据库中保存每次推流生成的阶段性M3U8索引文件所对应的开始和结束时间,以及该M3U8索引文件在文件系统的位置等信息;当服务器接收到来自拉流客户端的回看请求时,可以从该数据库中获取到M3U8索引文件信息。
步骤S208,接收来自拉流客户端的回看请求。
步骤S210,获取上述回看请求对应的直播视频的多级索引;其中,该多级索引中,上级索引包括下级索引的存储位置,最下级索引用于指示该直播视频的各个视频分片的存储位置。
步骤S212,根据上述多级索引,生成上述回看请求对应的回看索引;该回看索引包括:直播视频中,与该回看请求相关联的视频分片的存储位置。
步骤S214,将上述回看索引返回至上述拉流客户端,以使该拉流客户端通过该回看索引,回看直播视频。
本发明实施例提供的另一种直播视频的回看方法,详细描述了生成直播视频的二级索引和一级索引的具体过程,当接收到来自推流客户端的直播视频后,按照预设的分片长度,将该直播视频划分为多个视频分片并保存,根据每个视频分片的存储位置,生成该直播视频的二级索引并保存,根据该二级索引的存储位置,生成直播视频的一级索引。该方法通过设定多级索引的方式,当接收到回看请求后,服务器只需要遍历与回看请求相关联的视频分片的存储位置,无需遍历直播视频的所有视频分片的存储位置,因而减少了对服务器资源的消耗。
并且,直播视频的各个视频分片可以存储在分布式文件系统中,因而可以存储相对完整的直播视频内容,在直播视频的视频分片数量大的情况下,通过上述多级索引可以快速地得到回看请求对应的视频分片的存储位置,可以在节约服务器资源消耗的同时,支持较长时间的视频数据的回看。
本发明实施例还提供另一种直播视频的回看方法,该方法在上述实施例方法的基础上实现;本实施例重点描述获取回看请求对应的直播视频的多级索引的具体实现过程,具体对应下述步骤S302至步骤S308;如图3所示,该方法包括以下步骤:
步骤S302,接收来自拉流客户端的回看请求;从所述回看请求中提取回看时间段。
上述回看时间段可以理解为,拉流客户端所发送的回看请求中,所包含的请求回看的直播视频的开始时间和结束时间;比如,拉流客户端的用户拖动直播视频的进度条,拖动后的进度条的起始位置对应的时间即为请求回看的直播视频的开始时间,通常将当前时间默认为请求回看的直播视频的结束时间,但是,如果用户需要多次回看,则多次回看的结束时间根据实际情况进行确定,比如,当前时间为3:00,用户第一次需要回看2:30到当前时间的直播视频,则第一次请求回看的直播视频的开始时间为2:30,默认当前时间3:00为结束时间,第一次回看请求的回看时间段为2:30-3:00;如果用户第二次需要回看1:30-2:30的直播视频,则第二次请求回看的直播视频的开始时间为1:30,结束时间为2:30,第二次回看请求的回看时间段为1:30-2:30。
步骤S304,判断上述回看时间段是否属于距离当前时间的预设时间段,如果属于,执行步骤S306;如果不属于,执行步骤S308。
上述预设时间段通常是一段较短的时间;服务器接收到回看请求后,判断该回看请求的回看时间段是否属于距离当前时间的预设时间段,比如,如果预设时间段为1分钟,判断回看请求的回看时间段是否属于距离当前时间1分钟内。
步骤S306,返回该回看时间段对应的直播视频。结束。
如果上述回看请求的回看时间段属于距离当前时间的预设时间段,由于该预设时间段很短,拉流客户端想要回看的是距离当前直播视频时间很近的回看视频,这时会直接返回该回看时间段对应的直播视频,即,属于预设时间段内的直播视频会存储在文件系统,但对该预设时间段内的直播视频的回看不需要从该文件系统中获取,而是直接返回对应的直播视频;比如,仍以预设时间段为1分钟为例进行说明,如果回看时间段很短,比如在1分钟以内,此时服务器内缓存有预设时间段,即1分钟之内的视频,这时,拉流客户端直接从服务器即可获取到该回看时间段对应的直播视频,无需再通过多级索引获取;如果回看时间段比较长,服务器通常不会缓存较长时间段的时间,此时则需要通过多级索引获取;在实际实现时,拉流客户端的回看请求中通常包含M3U8索引文件,其中包含该回看请求的回看时间段等请求参数。
步骤S308,获取上述回看请求对应的直播视频的多级索引。
当服务器接收到回看请求后,如果判断该回看请求的回看时间段不属于距离当前时间的预设时间段,比如,如果预设时间段为1分钟,且判断回看请求的回看时间段在距离当前时间1分钟之外,则获取该回看请求对应的直播视频的多级索引,进而从文件系统中获取视频分片。
步骤S310,根据多级索引,生成回看请求对应的回看索引;该回看索引包括:直播视频中,与回看请求相关联的视频分片的存储位置。
步骤S312,将上述回看索引返回至拉流客户端,以使该拉流客户端通过该回看索引,回看直播视频。
服务器将上述回看索引返回至拉流客户端,因该回看索引中包含了与回看请求相对应的视频分片,拉流客户端通过该回看索引,即可将对应的视频分片返回至拉流客户端,使得用户在观看直播视频时可以对该直播视频进行实时回看。
本发明实施例提供的另一种直播视频的回看方法,如果上述回看请求的回看时间段属于距离当前时间的预设时间段,返回该回看时间段对应的直播视频;如果上述回看时间段不属于距离当前时间的预设时间段,获取上述回看请求对应的直播视频的多级索引;该方法通过设定多级索引的方式,当接收到回看请求后,服务器只需要遍历与回看请求相关联的视频分片的存储位置,无需遍历直播视频的所有视频分片的存储位置,因而减少了对服务器资源的消耗。
并且,直播视频的各个视频分片可以存储在分布式文件系统中,因而可以存储相对完整的直播视频内容,在直播视频的视频分片数量大的情况下,通过上述多级索引可以快速地得到回看请求对应的视频分片的存储位置,可以在节约服务器资源消耗的同时,支持较长时间的视频数据的回看。
另外,该方法在直播正在进行时也可以进行回看,通过查询直播过程中生成的索引信息,不停更新,便可以实现较短时间内的回看,提高了直播视频回看的时效性。
本发明实施例还提供另一种直播视频的回看方法,该方法在上述实施例方法的基础上实现;本实施例重点描述获取回看请求对应的直播视频的多级索引,以及根据多级索引,生成回看请求对应的回看索引的具体实现过程,具体对应下述步骤S404至步骤S410;该方法中一级索引包括:指定时间段内的直播视频的二级索引的存储位置;其中,该指定时间段可以理解为在一级索引中所记录的每次推流生成二级索引的开始和结束时间,如图4所示,该方法包括以下步骤:
步骤S402,接收来自拉流客户端的回看请求。
步骤S404,从上述回看请求中提取回看时间段。
服务器接收到回看请求后,首先从该回看请求中提取出所请求的回看时间段。
步骤S406,从上述回看请求对应的直播视频的一级索引中,查找得到指定时间段与回看时间段相匹配的一级索引。
服务器从文件系统中获取与回看请求对应的直播视频的一级索引,从中查找得到指定时间段包含回看时间段的一级索引,进而选定出对应的二级索引在文件系统中的信息;例如:如果一级索引为回看文件,二级索引为M3U8索引文件,则回看文件中记录了每次推流生成的阶段性M3U8索引文件所对应的开始和结束时间,基于该开始和结束时间可以确定出回看文件的指定时间段;服务器根据该指定时间段查找得到包含回看时间段的回看文件,进而选定出对应的M3U8索引文件在文件系统中的信息,即,在视频直播过程中,当服务器接收到来自拉流客户端的回看请求时,需要先从回看文件中找到符合要求的推流记录。
通常,一次推流对应一个回看文件,比如有三个回看文件,指定时间段分别为1:00~2:00,2:00~3:00和3:00~4:00,如果回看请求中的回看时间段为1:30~3:30,则需要三个回看文件的推流记录的指定时间段才能包含该回看时间段,因此返回全部三个回看文件记录的M3U8索引文件在文件系统中的信息;如果回看请求中的回看时间段为2:10~2:40,则只需要第二个回看文件的推流记录的指定时间段就可以包含该回看时间段,因此只需要返回第二个回看文件记录的M3U8索引文件信息即可。
步骤S408,从上述一级索引中的直播视频的二级索引的存储位置上,获取该直播视频的二级索引。
直播视频的一级索引中包含该直播视频的二级索引的存储位置信息,根据该位置信息所指定的路径,获取该直播视频的二级索引;例如:如果一级索引为回看文件,二级索引为M3U8索引文件,则根据回看文件中所记录的M3U8索引文件在文件系统的位置,可以获取到M3U8索引文件。
步骤S410,根据上述直播视频的二级索引,生成回看请求对应的回看索引。
二级索引中还包括直播视频的各个视频分片的创建时间;根据该创建时间,可以获取到与回看请求相关联的视频分片,基于获取到的视频分片,生成回看请求对应的回看索引;该步骤S508具体可以通过以下步骤来实现:
步骤40,从二级索引中提取创建时间属于回看请求的回看时间段内的视频分片的存储位置。
通过二级索引中所记录的直播视频的各个视频分片的存储位置,提取出创建时间属于回看请求的回看时间段内的视频分片的存储位置;例如,如果二级索引为M3U8索引文件,其中记录有视频分片的存储位置,解析该M3U8索引文件,读取其中包含的视频分片信息,主要是读取视频分片的创建时间,之后根据回看请求中的开始时间和结束时间,提取出创建时间属于回看请求的回看时间段内的视频分片的存储位置。
步骤41,根据提取出的视频分片的存储位置,生成回看请求对应的回看索引。
在实际实现时,回看索引可以为M3U8索引文件,根据所筛选出的视频分片的存储位置,生成包含该视频分片信息的M3U8索引文件。
步骤S412,将回看索引返回至拉流客户端,以使拉流客户端通过回看索引,回看直播视频。
服务器将回看索引返回至拉流客户端,拉流客户端读取该回看索引,并生成一个播放进度条,拉流客户端的用户可通过拖拽播放进度条上的播放进度滑块向服务器发送相对应视频分片的媒体文件请求,服务器根据该媒体文件请求将对应的实时视频分片返回至拉流客户端,以使拉流客户端在观看直播视频时,可以对该直播视频进行实时回看。由于在文件系统中存储了直播视频的所有实时视频分片,因此,服务器将所有实时视频分片的回看索引发送给客户端,即可实现对该直播视频的任意时段的实时回看,时效性强,并且可实现回看较长时段的直播视频。
本发明实施例提供的另一种直播视频的回看方法,该方法在上述实施例方法的基础上实现;本实施例重点描述了获取回看请求对应的直播视频的多级索引,以及根据多级索引,生成回看请求对应的回看索引的具体过程,当接收到来自拉流客户端的回看请求时,首先从该回看请求中提取回看时间段;然后从该回看请求对应的直播视频的一级索引中查找得到与回看时间段相匹配的一级索引,再根据该一级索引获取包含回看时间段的二级索引,从中截取回看时间段的视频分片文件信息,最终生成只包含回看时间段的回看索引,再将该回看索引返回至拉流客户端,以使拉流客户端通过回看索引,回看直播视频。该方法通过设定多级索引的方式,当接收到回看请求后,服务器只需要遍历与回看请求相关联的视频分片的存储位置,无需遍历直播视频的所有视频分片的存储位置,因而减少了对服务器资源的消耗。
并且,直播视频的各个视频分片可以存储在分布式文件系统中,因而可以存储相对完整的直播视频内容,在直播视频的视频分片数量大的情况下,通过上述多级索引可以快速地得到回看请求对应的视频分片的存储位置,可以在节约服务器资源消耗的同时,支持较长时间的视频数据的回看。
对应于上述方法实施例,参见图5所示的一种直播视频的回看装置的结构示意图,该装置包括:接收模块50,用于接收来自拉流客户端的回看请求;获取模块51,用于获取回看请求对应的直播视频的多级索引;其中,多级索引中,上级索引包括下级索引的存储位置,最下级索引用于指示直播视频的各个视频分片的存储位置;第一生成模块52,用于根据多级索引,生成回看请求对应的回看索引;回看索引包括:直播视频中,与回看请求相关联的视频分片的存储位置;返回模块53,用于将回看索引返回至拉流客户端,以使拉流客户端通过回看索引,回看直播视频。
本发明实施例提供的一种直播视频的回看装置,当接收到来自拉流客户端的回看请求后,通过多级索引筛选出包含回看请求的视频分片的存储位置,根据该存储位置得到包含回看请求相关联的视频分片,进而生成该回看请求对应的回看索引;将该回看索引返回至该拉流客户端,以使该拉流客户端通过该回看索引,回看该直播视频。该装置通过设定多级索引的方式,当接收到回看请求后,服务器只需要遍历与回看请求相关联的视频分片的存储位置,无需遍历直播视频的所有视频分片的存储位置,因而减少了对服务器资源的消耗。
基于上述直播视频的回看装置实施例,为了进一步理解上述直播视频的回看方法,下面提供一种网络结构及信号流向示意图,以说明上述直播视频的回看方法;如图6所示,该网络结构示意图中包括拉流客户端、获取模块、第一生成模块和文件系统;用户通过拉流客户端向服务器发出回看请求,请求回看时间段内的直播视频对应的回看索引文件;服务器中的获取模块通过查询第一生成模块,请求获取回看索引文件,该回看索引文件包括前述直播视频对应的视频分片的存储位置;第一生成模块通过查询文件系统,首先获取前述回看时间段相匹配的一级索引,即回看文件,然后从一级索引中获取包含回看时间段内的二级索引,即M3U8索引文件,基于获取到的M3U8索引文件,并根据回看请求参数,如回看时间段,构造M3U8回看索引文件,相当于回看索引,该M3U8回看索引文件中仅包含属于回看时间段的视频分片的存储地址;将该M3U8回看索引文件通过服务器中的获取模块返回至拉流客户端;拉流客户端读取M3U8回看索引文件生成一个播放进度条,用户通过拖动进度条上的播放进度滑块,向服务器发送相对应片段的视频分片请求,服务器根据M3U8回看索引文件中视频分片文件地址,从文件系统中获取视频分片文件,并返回给拉流客户端。
进一步的,多级索引包括一级索引和二级索引;一级索引包括直播视频的二级索引的存储位置;二级索引包括直播视频的各个视频分片的存储位置。
进一步的,装置还包括:划分模块,用于如果接收到来自推流客户端的直播视频,按照预设的分片长度,将直播视频划分为多个视频分片;第二生成模块,用于保存划分得到的视频分片,根据每个视频分片的存储位置,生成直播视频的二级索引;第三生成模块,用于保存二级索引,根据二级索引的存储位置,生成直播视频的一级索引。
进一步的,获取模块51还用于:从回看请求中提取回看时间段;如果回看时间段不属于距离当前时间的预设时间段,获取回看请求对应的直播视频的多级索引。
进一步的,一级索引包括:指定时间段内的直播视频的二级索引的存储位置;获取模块51还用于:从回看请求中提取回看时间段;从回看请求对应的直播视频的一级索引中,查找得到指定时间段与回看时间段相匹配的一级索引。
进一步的,第一生成模块52还用于:从一级索引中的直播视频的二级索引的存储位置上,获取直播视频的二级索引;根据直播视频的二级索引,生成回看请求对应的回看索引。
进一步的,二级索引中还包括直播视频的各个视频分片的创建时间;第一生成模块52还用于:从二级索引中提取创建时间属于回看请求的回看时间段内的视频分片的存储位置;根据提取出的视频分片的存储位置,生成回看请求对应的回看索引。
本发明实施例所提供的直播视频的回看装置,其实现原理及产生的技术效果和前述直播视频的回看方法实施例相同,为简要描述,直播视频的回看装置实施例部分未提及之处,可参考前述直播视频的回看方法实施例中相应内容。
本发明实施例还提供了一种服务器,参见图7所示,该服务器包括处理器70和存储器71,该存储器71存储有能够被处理器70执行的机器可执行指令,该处理器70执行机器可执行指令以实现上述直播视频的回看方法。
进一步地,图7所示的服务器还包括总线72和通信接口73,处理器70、通信接口73和存储器71通过总线72连接。
其中,存储器71可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线72可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述直播视频的回看方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的直播视频的回看方法、装置和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

1.一种直播视频的回看方法,其特征在于,所述方法包括:
接收来自拉流客户端的回看请求;
获取所述回看请求对应的直播视频的多级索引;其中,所述多级索引中,上级索引包括下级索引的存储位置,最下级索引用于指示所述直播视频的各个视频分片的存储位置;
根据所述多级索引,生成所述回看请求对应的回看索引;所述回看索引包括:所述直播视频中,与所述回看请求相关联的视频分片的存储位置;
将所述回看索引返回至所述拉流客户端,以使所述拉流客户端通过所述回看索引,回看所述直播视频;
获取所述回看请求对应的直播视频的多级索引的步骤,包括:
从所述回看请求中提取回看时间段;其中,所述回看时间段包括请求回看的所述直播视频的开始时间和结束时间;
如果所述回看时间段不属于距离当前时间的预设时间段,获取所述回看请求对应的直播视频的多级索引。
2.根据权利要求1所述的方法,其特征在于,所述多级索引包括一级索引和二级索引;
所述一级索引包括所述直播视频的二级索引的存储位置;所述二级索引包括所述直播视频的各个视频分片的存储位置。
3.根据权利要求2所述的方法,其特征在于,接收来自拉流客户端的回看请求的步骤之前,所述方法还包括:
如果接收到来自推流客户端的直播视频,按照预设的分片长度,将所述直播视频划分为多个视频分片;
保存划分得到的所述视频分片,根据每个视频分片的存储位置,生成所述直播视频的二级索引;
保存所述二级索引,根据所述二级索引的存储位置,生成所述直播视频的一级索引。
4.根据权利要求2所述的方法,其特征在于,所述一级索引包括:指定时间段内的直播视频的二级索引的存储位置;
所述获取所述回看请求对应的直播视频的多级索引的步骤,包括:
从所述回看请求中提取回看时间段;
从所述回看请求对应的直播视频的一级索引中,查找得到指定时间段与所述回看时间段相匹配的一级索引。
5.根据权利要求2所述的方法,其特征在于,所述根据所述多级索引,生成所述回看请求对应的回看索引的步骤,包括:
从所述一级索引中的所述直播视频的二级索引的存储位置上,获取所述直播视频的二级索引;
根据所述直播视频的二级索引,生成所述回看请求对应的回看索引。
6.根据权利要求5所述的方法,其特征在于,所述二级索引中还包括所述直播视频的各个视频分片的创建时间;
所述根据所述直播视频的二级索引,生成所述回看请求对应的回看索引的步骤,包括:
从所述二级索引中提取创建时间属于所述回看请求的回看时间段内的视频分片的存储位置;
根据提取出的所述视频分片的存储位置,生成所述回看请求对应的回看索引。
7.一种直播视频的回看装置,其特征在于,所述装置包括:
接收模块,用于接收来自拉流客户端的回看请求;
获取模块,用于获取所述回看请求对应的直播视频的多级索引;其中,所述多级索引中,上级索引包括下级索引的存储位置,最下级索引用于指示所述直播视频的各个视频分片的存储位置;
第一生成模块,用于根据所述多级索引,生成所述回看请求对应的回看索引;所述回看索引包括:所述直播视频中,与所述回看请求相关联的视频分片的存储位置;
返回模块,用于将所述回看索引返回至所述拉流客户端,以使所述拉流客户端通过所述回看索引,回看所述直播视频;
获取模块还用于:
从所述回看请求中提取回看时间段;其中,所述回看时间段包括请求回看的所述直播视频的开始时间和结束时间;
如果所述回看时间段不属于距离当前时间的预设时间段,获取所述回看请求对应的直播视频的多级索引。
8.根据权利要求7所述的装置,其特征在于,所述多级索引包括一级索引和二级索引;
所述一级索引包括所述直播视频的二级索引的存储位置;所述二级索引包括所述直播视频的各个视频分片的存储位置。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
划分模块,用于如果接收到来自推流客户端的直播视频,按照预设的分片长度,将所述直播视频划分为多个视频分片;
第二生成模块,用于保存划分得到的所述视频分片,根据每个视频分片的存储位置,生成所述直播视频的二级索引;
第三生成模块,用于保存所述二级索引,根据所述二级索引的存储位置,生成所述直播视频的一级索引。
10.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至6任一项所述的直播视频的回看方法。
11.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1至6任一项所述的直播视频的回看方法。
CN201911256145.7A 2019-12-06 2019-12-06 直播视频的回看方法、装置和服务器 Active CN112929677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911256145.7A CN112929677B (zh) 2019-12-06 2019-12-06 直播视频的回看方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911256145.7A CN112929677B (zh) 2019-12-06 2019-12-06 直播视频的回看方法、装置和服务器

Publications (2)

Publication Number Publication Date
CN112929677A CN112929677A (zh) 2021-06-08
CN112929677B true CN112929677B (zh) 2023-02-28

Family

ID=76162133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911256145.7A Active CN112929677B (zh) 2019-12-06 2019-12-06 直播视频的回看方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN112929677B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827735A (zh) * 2022-04-21 2022-07-29 咪咕文化科技有限公司 视频回看方法、装置、设备及存储介质
CN115002529A (zh) * 2022-05-07 2022-09-02 咪咕文化科技有限公司 视频拆条方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088620A (zh) * 2010-12-01 2011-06-08 中兴通讯股份有限公司 一种内容分发网络中媒体文件下载方法及客户端
CN102231860A (zh) * 2011-06-03 2011-11-02 南京远古科技有限公司 一种直播时移数据存储方法
CN102314503A (zh) * 2011-09-01 2012-01-11 浪潮(北京)电子信息产业有限公司 一种索引方法
CN104469433A (zh) * 2013-09-13 2015-03-25 深圳市腾讯计算机系统有限公司 一种视频直播回看方法及装置
WO2016184229A1 (zh) * 2015-05-15 2016-11-24 乐视云计算有限公司 直播视频的录制方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9538142B2 (en) * 2009-02-04 2017-01-03 Google Inc. Server-side support for seamless rewind and playback of video streaming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088620A (zh) * 2010-12-01 2011-06-08 中兴通讯股份有限公司 一种内容分发网络中媒体文件下载方法及客户端
CN102231860A (zh) * 2011-06-03 2011-11-02 南京远古科技有限公司 一种直播时移数据存储方法
CN102314503A (zh) * 2011-09-01 2012-01-11 浪潮(北京)电子信息产业有限公司 一种索引方法
CN104469433A (zh) * 2013-09-13 2015-03-25 深圳市腾讯计算机系统有限公司 一种视频直播回看方法及装置
WO2016184229A1 (zh) * 2015-05-15 2016-11-24 乐视云计算有限公司 直播视频的录制方法和系统

Also Published As

Publication number Publication date
CN112929677A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
KR101956121B1 (ko) 스트리밍 컨텐츠 제공 장치 및 방법
CN105230024B (zh) 一种媒体表示自适应方法、装置及计算机存储介质
USRE48360E1 (en) Method and apparatus for providing trick play service
US20180332094A1 (en) Systems, Methods, and Media for Streaming Media Content
US9247317B2 (en) Content streaming with client device trick play index
US10284612B2 (en) Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US9319448B2 (en) Trick modes for network streaming of coded multimedia data
US9609340B2 (en) Just-in-time (JIT) encoding for streaming media content
US10015222B2 (en) Systems and methods for selective retrieval of adaptive bitrate streaming media
CN107634930B (zh) 一种媒体数据的获取方法和装置
US20120246335A1 (en) Method, terminal, and server for implementing fast playout
US10277660B1 (en) Apparatus and method for providing streaming content
CN113329267B (zh) 一种视频播放方法、装置、终端设备及存储介质
CN105228001B (zh) 一种flv格式视频在线播放的方法及系统
CN103763637A (zh) 一种流媒体播出方法及其系统
CN112929677B (zh) 直播视频的回看方法、装置和服务器
CN105812831B (zh) 网络节目的录制方法、装置、系统以及播放方法、装置
US20170347130A1 (en) Processing system and method for live video streaming based on network coding and content distribution network
WO2017122543A1 (ja) 情報処理装置および情報処理方法
JP6597604B2 (ja) 受信装置、送信装置、データ通信方法、およびデータ処理方法
KR101397183B1 (ko) 스트리밍 서비스에서의 재생 목록 파일 관리 방법 및 그 장치
CN108271040B (zh) 播放视频的方法和装置
CN115244943B (zh) 用于传输媒体数据的方法、设备和计算机可读存储介质
TW201937938A (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