CN111447455A - 直播视频流回放处理方法、装置及计算设备 - Google Patents

直播视频流回放处理方法、装置及计算设备 Download PDF

Info

Publication number
CN111447455A
CN111447455A CN201811638674.9A CN201811638674A CN111447455A CN 111447455 A CN111447455 A CN 111447455A CN 201811638674 A CN201811638674 A CN 201811638674A CN 111447455 A CN111447455 A CN 111447455A
Authority
CN
China
Prior art keywords
slice
file
live video
video stream
slicing
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.)
Pending
Application number
CN201811638674.9A
Other languages
English (en)
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201811638674.9A priority Critical patent/CN111447455A/zh
Publication of CN111447455A publication Critical patent/CN111447455A/zh
Pending legal-status Critical Current

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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种直播视频流回放处理方法、装置、计算设备及计算机存储介质,其中,直播视频流回放处理方法包括:接收总服务器推送的直播视频流;根据预设切片策略,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;对切片文件和切片索引文件进行存储,以供回放时调用。根据本发明提供的技术方案,有效地减少了获取直播视频流所耗费的时间,实现了对直播视频流的实时回放处理,解决了回放延迟问题,提升了用户播放体验。

Description

直播视频流回放处理方法、装置及计算设备
技术领域
本发明涉及互联网技术领域,具体涉及一种直播视频流回放处理方法、装置、计算设备及计算机存储介质。
背景技术
在视频直播过程中,主播用户对应的用户端将实时录制的直播视频流上传至直播系统。为了使观看用户能够回看已播放的直播视频内容,需要对直播视频流进行回放处理。在回放处理过程中,需要将直播视频流切片为切片文件,由于对直播视频流的切片处理需要消耗大量的内存、磁盘存储以及磁盘IO操作,与直播系统需要进行的直播视频流分发处理存在资源冲突,所以现有技术中一般采用独立于直播系统的回放处理系统对直播视频流进行回放处理。
现有技术中,直播系统中的总服务器在接收到直播视频流时,会向回放处理系统发送回放处理请求,接着回放处理系统根据回放处理请求进行流分析和拉流,然后对得到的直播视频流进行切片处理。在出现断流的情况下,总服务器需再次发送回放处理请求,回放处理系统还需再次进行流分析和拉流。然而,回放处理请求的发送、流分析和拉流都需要消耗时间,无法实时地对直播视频流进行回放处理,导致存在回放延迟问题,用户播放体验较差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的直播视频流回放处理方法、装置、计算设备及计算机存储介质。
根据本发明的一个方面,提供了一种直播视频流回放处理方法,该方法包括:
接收总服务器推送的直播视频流;
根据预设切片策略,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;
对切片文件和切片索引文件进行存储,以供回放时调用。
根据本发明的另一方面,提供了一种直播视频流回放处理装置,该装置包括:
接收模块,适于接收总服务器推送的直播视频流;
切片模块,适于根据预设切片策略,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;
存储模块,适于对切片文件和切片索引文件进行存储,以供回放时调用。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述直播视频流回放处理方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述直播视频流回放处理方法对应的操作。
根据本发明提供的技术方案,接收总服务器推送的直播视频流,根据预设切片策略,对直播视频流的数据帧进行切片处理,得到并存储切片文件和对应的切片索引文件,以供回放时调用。该技术方案无需总服务器发送回放处理请求,也无需进行流分析和拉流,有效地减少了获取直播视频流所耗费的时间,实现了对直播视频流的实时回放处理,解决了回放延迟问题,提升了用户播放体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的直播视频流回放处理方法的流程示意图;
图2示出了根据本发明另一个实施例的直播视频流回放处理方法的流程示意图;
图3示出了根据本发明一个实施例的直播视频流回放处理装置的结构框图;
图4示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的直播视频流回放处理方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S101,接收总服务器推送的直播视频流。
直播系统设置有多层级的树状服务器拓扑结构,直播系统可包括至少一个中间服务器和总服务器,总服务器的服务器层级高于至少一个中间服务器的服务器层级,总服务器的服务器层级为最高层级。当至少一个中间服务器的数量为多个时,多个中间服务器可设置于不同的服务器层级中。直播系统根据主播用户通过用户端发送的直播视频流上传请求,将直播视频流经由至少一个中间服务器传输至总服务器,在此过程中,直播视频流的传输方向为上行方向。其中,对于存在回放需求的直播视频流,在将直播视频流传输至总服务器之后,还需对直播视频流进行回放处理。
具体地,针对存在回放需求的直播视频流,在视频直播过程中,总服务器在接收到该直播视频流之后,就向回放处理系统主动推送该直播视频流,那么在步骤S101中,回放处理系统接收总服务器推送的直播视频流,以便对该直播视频流进行切片处理。与现有技术相比,直播视频流是由总服务器主动地向回放处理系统推送的,无需总服务器向回放处理系统发送回放处理请求,也无需回放处理系统根据回放处理请求进行流分析和拉流,有效地减少了回放处理系统获取直播视频流所耗费的时间,有效地解决了回放延迟问题。
步骤S102,根据预设切片策略,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
为了使观看用户能够回看直播视频流,回放处理系统需要将直播视频流由流式格式转换成文件格式。具体地,可基于HLS(HTTP Live Streaming)协议,对直播视频流的数据帧进行切片处理。在本发明中,切片处理可与视频直播同时进行,即在视频直播过程中,回放处理系统就对直播视频流的数据帧进行切片处理,其中,数据帧可包括视频帧和/或音频帧。另外,为了能够很好地对直播视频流的数据帧进行切片处理、提升用户播放体验,本发明还设置了预设切片策略,根据预设切片策略,对直播视频流的数据帧进行切片处理。
其中,HLS协议为基于超文本传输协议的动态码流自适应协议,在HLS协议中,对直播视频流进行切片处理,切片为连续的、很短时长的媒体文件,并生成对应的索引文件,这些媒体文件称为切片文件,索引文件称为切片索引文件。在HLS协议中,切片文件的格式为.TS文件,切片索引文件的格式为m3u8文件。切片索引文件中包括其对应的切片文件的文件信息,文件信息中包括切片文件的切片名称、切片类型、切片长度、切片存储位置、切片序列号、切片大小、流时间和/或流来源等。
步骤S103,对切片文件和切片索引文件进行存储,以供回放时调用。
其中,对切片文件和切片索引文件进行存储,并生成对应的存储地址,以供回放时调用。具体地,可将切片文件和切片索引文件存储至回放处理系统中,或者也可由回放处理系统将切片文件和切片索引文件存储至专门的存储服务器中。由于切片处理是与视频直播同时进行的,那么用户端能够在视频直播过程中对已得到的切片文件和切片索引文件进行调用,使得观看用户可以在视频直播过程中回看已播放的直播视频内容。
具体地,若观看用户想要回放直播视频流,可通过用户端发送直播视频流调用请求,那么回放处理系统根据直播视频流调用请求将存储地址提供给用户端,用户端通过访问存储地址不断地下载并播放切片文件,供观看用户回看已播放的直播视频内容。
根据本实施例提供的直播视频流回放处理方法,接收总服务器推送的直播视频流,根据预设切片策略,对直播视频流的数据帧进行切片处理,得到并存储切片文件和对应的切片索引文件,以供回放时调用。该技术方案无需总服务器发送回放处理请求,也无需进行流分析和拉流,有效地减少了获取直播视频流所耗费的时间,实现了对直播视频流的实时回放处理,解决了回放延迟问题,提升了用户播放体验。
图2示出了根据本发明另一个实施例的直播视频流回放处理方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤S201,接收总服务器推送的直播视频流。
其中,在视频直播过程中,总服务器会不断地接收到经由至少一个中间服务器传输的直播视频流。主播用户和/或直播系统可对直播视频流是否存在回放需求进行具体设置。针对存在回放需求的直播视频流,在视频直播过程中,总服务器当接收到经由至少一个中间服务器传输的直播视频流时就向回放处理系统推送直播视频流,使得回放处理系统能够对直播视频流及时处理,有效地减少了回放处理系统获取直播视频流所耗费的时间,有助于解决回放延迟问题。
步骤S202,获取直播视频流的数据帧中的视频关键帧。
其中,数据帧包括:视频帧和/或音频帧。基于视频编码标准,视频帧可分为I帧、P帧和B帧。其中,I帧为帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,又称为视频关键帧。在每个直播视频流的数据帧中第1个视频帧始终都是I帧。P帧为帧间预测编码帧,需要参考前面的I帧才能进行编码,P帧表示的是当前视频帧与前一视频帧(前一视频帧可能是I帧也可能是P帧)的差别。在进行解码时,P帧需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。与I帧相比,P帧通常占用更少的数据位。B帧为双向预测编码帧,也就是B帧记录的是本帧与前后视频帧的差别。在对B帧解码时,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。那么为了能够确保切片处理得到的切片文件中的视频帧能够解码成功,需要获取数据帧中的视频关键帧。
步骤S203,根据视频关键帧,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
为了避免出现所得到的切片文件的时长过短或过长的情况,预先设置了第一预设切片时长和第二预设切片时长,第一预设切片时长小于第二预设切片时长,通过第一预设切片时长限制了切片文件的最小时长,通过第二预设切片时长限制了切片文件的最大时长。根据视频关键帧、第一预设切片时长以及第二预设切片时长,对直播视频流的数据帧进行切片处理。
具体地,在进行切片处理时,首先将上一个切片文件的结束点确定为当前切片文件的起始点;其中,第1个切片文件的起始点根据第1个数据帧的时间戳而确定。接着判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内数据帧中是否存在视频关键帧;若是,则根据该视频关键帧的时间戳确定当前切片文件的结束点;若否,则根据在第二预设切片时长处对应的数据帧的时间戳确定当前切片文件的结束点。然后按照当前切片文件的起始点和结束点,对数据帧进行切片处理,得到当前切片文件,并依据当前切片文件的文件信息,更新切片索引文件。
假设第一预设切片时长为10s,第二预设切片时长为30s,由于在每个直播视频流的数据帧中第1个视频帧始终都是I帧,那么在开始进行切片处理时,可根据数据帧中第1个I帧的时间戳确定第1个切片文件的起始点。
在进行第1次切片处理时,根据第1个I帧的时间戳确定第1个切片文件的起始点;接着当数据帧的时长超过10s时,说明已满足切片文件的最小时长,那么判断在大于10s且小于或等于30s的时长内数据帧中是否存在下一个I帧;如果存在下一个I帧,则根据该下一个I帧的时间戳确定第1个切片文件的结束点;如果不存在下一个I帧,则根据在30s处对应的数据帧的时间戳确定第1个切片文件的结束点。在第1个切片文件的起始点和结束点都确定后,即可按照第1个切片文件的起始点和结束点,对数据帧进行切片处理,得到第1个切片文件,并依据第1个切片文件的文件信息,更新切片索引文件。
在进行第2次切片处理时,将第1个切片文件的结束点确定为第2个切片文件的起始点;接着当数据帧的时长超过10s时,说明已满足切片文件的最小时长,那么判断在大于10s且小于或等于30s的时长内数据帧中是否存在下一个I帧;如果存在下一个I帧,则根据该下一个I帧的时间戳确定第2个切片文件的结束点;如果不存在下一个I帧,则根据在30s处对应的数据帧的时间戳确定第2个切片文件的结束点。在第2个切片文件的起始点和结束点都确定后,即可按照第2个切片文件的起始点和结束点,对数据帧进行切片处理,得到第2个切片文件,并依据第2个切片文件的文件信息,更新切片索引文件。依此类推,切片得到直播视频流对应的所有的切片文件和切片文件对应的切片索引文件。
针对音频和视频均一直存在的直播场景,通过对第一预设切片时长和第二预设切片时长的合理设置,可使每一个切片文件的起始点都能够根据视频关键帧而确定,从而确保切片文件中的视频帧能够解码成功。
针对音频一直存在,而视频却时有时无的直播场景,例如主播用户在直播时一直开启音频却中途关掉视频的直播场景,根据现有的切片处理方式,对于这种直播场景,会一直等到下一个视频关键帧时再进行切片处理,那么很有可能会出现所得到的切片文件的时长过长的情况,例如时长为十几个小时的切片文件。针对这种直播场景,利用本发明提供的直播视频流回放处理方法,可在时长超过第二预设切片时长且仍未接收到总服务器推送的下一个视频关键帧的情况下,强制性地进行切片处理,得到切片文件,避免出现切片文件的时长过长的情况。
可选地,为了避免出现切片文件的文件大小过大的情况,也可预先设置预设切片文件大小,可在未切片的数据帧的累计大小超过预设切片文件大小且仍未接收到总服务器推送的下一个视频关键帧的情况下,强制性地进行切片处理。在进行切片处理时,首先将上一个切片文件的结束点确定为当前切片文件的起始点;其中,第1个切片文件的起始点根据第1个数据帧的时间戳而确定。接着当接收到的数据帧的时长超过第一预设切片时长时,判断在未切片的数据帧的累计大小未超过预设切片文件大小的情况下数据帧中是否存在视频关键帧;若是,则根据该视频关键帧的时间戳确定当前切片文件的结束点;若否,则根据未切片的数据帧的累计大小在预设切片文件大小处对应的数据帧的时间戳确定当前切片文件的结束点。
考虑到有些用户端在进行直播视频流播放时需等到一个完整的切片文件完全下载之后才进行播放,本发明可根据切片文件的切片序列号,对第一预设切片时长进行动态设置,以使切片序列号排列靠前的预设数量的切片文件对应的第一预设切片时长较小。例如,针对切片序列号排列靠前的5个切片文件,即前5个切片文件,将对应的第一预设切片时间设置为5s;针对切片序列号在5以后的切片文件,即第6个切片文件以及排列在后的切片文件,将对应的第一预设切片时间设置为10s。通过这种设置方式,使观看用户无需等待过长时间就能够观看到直播视频内容,有效地缩短了首屏时间,进一步提升了用户播放体验。
可选地,在完成了上一个切片文件之后,开始进行当前切片文件的切片的过程中,在判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内数据帧中是否存在视频关键帧之前,该方法还可包括:读取上一次更新的切片索引文件,根据上一次更新的切片索引文件和当前切片文件的起始位置,更新切片索引文件。通过这种方式,使用户端在视频直播过程中短时间内就能够播放直播视频内容,无需观看用户等待当前切片文件切片完成就能够观看到直播视频内容,有效地缩短了首屏时间,进一步提升了用户播放体验。
考虑到总服务器在推送直播视频流的过程中可能会存在网络异常、断流、直播视频流的数据帧的时间戳溢出等情况,可根据系统时间对直播视频流的数据帧的时间戳进行修正处理,然后按照修正后的时间戳,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。具体地,可将数据帧的时间戳与系统时间进行累加处理,将累加得到的时间戳确定为修正后的数据帧的时间戳;接着就可按照修正后的时间戳,对直播视频流的数据帧进行切片处理。通过这种方式对数据帧的时间戳进行修正处理,能够有效地确保各个数据帧的时间戳单调递增,便于对直播视频流的数据帧进行切片处理。
另外,在实际应用场景中,回放处理系统很有可能是由多台计算设备组成的,为了确保各个计算设备的系统时间同步,各个计算设备可通过NTP(Network Time Protocol)服务器进行时间同步,NTP服务器提供用来使时间同步化的协议,它可以使计算设备对其服务器或时钟源(如石英钟,GPS等等)做同步化。由于各个计算设备的系统时间同步,所以能够保证通过不同的计算设备进行切片处理时,数据帧的时间戳也能够单调递增。
步骤S204,对切片文件和切片索引文件进行存储,以供回放时调用。
具体地,可将切片文件和切片索引文件存储至回放处理系统中,或者也可由回放处理系统将切片文件和切片索引文件存储至专门的存储服务器中。为了避免出现因回放处理系统宕机而导致切片索引文件丢失的情况,在进行切片处理的过程中,每隔预设时间间隔将切片索引文件拆分为子索引文件,并对子索引文件进行实时存储,以降低切片索引文件丢失的风险,有助于确保直播视频内容能够正常播放。本领域技术人员可根据实际需要对预设时间间隔进行设置,此处不做限定。
在本发明中,对于切片文件的存储,无需等待直播视频流对应的所有的切片文件都切片完成后才进行存储,可在步骤S203的切片处理过程中进行实时存储,即每当得到一个切片文件时就实时存储该切片文件,那么用户端在视频直播过程中也能够对已得到的切片文件进行调用,使得观看用户可以在视频直播过程中回看已播放的直播视频内容。
根据本实施例提供的直播视频流回放处理方法,总服务器当接收到经由至少一个中间服务器传输的直播视频流时就推送直播视频流,使得直播视频流能够得到及时处理,有效地减少了获取直播视频流所耗费的时间,实现了对直播视频流的实时回放处理;并且根据视频关键帧、第一预设切片时长以及第二预设切片时长,对直播视频流的数据帧进行切片处理,有效地避免了出现切片文件的时长过短或过长等情况;另外,在进行切片处理时,及时根据上一次更新的切片索引文件和当前切片文件的起始位置对切片索引文件进行更新,并对切片文件和切片索引文件进行实时存储,从而使得用户端能够方便地在视频直播过程中对已得到的切片文件进行调用,无需观看用户等待当前切片文件切片完成就能够观看到直播视频内容,有效地缩短了首屏时间,进一步提升了用户播放体验,而且还降低了切片索引文件丢失的风险,有助于确保直播视频内容能够正常播放,优化了直播视频流回放处理方式。
图3示出了根据本发明一个实施例的直播视频流回放处理装置的结构框图,如图3所示,该装置包括:接收模块310、切片模块320和存储模块330。
接收模块310适于:接收总服务器推送的直播视频流。
其中,总服务器当接收到经由至少一个中间服务器传输的直播视频流时推送直播视频流。
切片模块320适于:根据预设切片策略,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
可选地,切片模块320进一步适于:获取直播视频流的数据帧中的视频关键帧;根据视频关键帧,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。其中,数据帧包括:视频帧和/或音频帧。
可选地,切片模块320进一步适于:将上一个切片文件的结束点确定为当前切片文件的起始点;其中,第1个切片文件的起始点根据第1个数据帧的时间戳而确定;判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内数据帧中是否存在视频关键帧;若是,则根据该视频关键帧的时间戳确定当前切片文件的结束点;若否,则根据在第二预设切片时长处对应的数据帧的时间戳确定当前切片文件的结束点;按照当前切片文件的起始点和结束点,对数据帧进行切片处理,得到当前切片文件;依据当前切片文件的文件信息,更新切片索引文件。
可选地,切片模块320进一步适于:读取上一次更新的切片索引文件,根据上一次更新的切片索引文件和当前切片文件的起始位置,更新切片索引文件。
可选地,切片模块320进一步适于:根据系统时间对直播视频流的数据帧的时间戳进行修正处理;按照修正后的时间戳,对直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
存储模块330适于:对切片文件和切片索引文件进行存储,以供回放时调用。
可选地,存储模块330进一步适于:每隔预设时间间隔将切片索引文件拆分为子索引文件,并对子索引文件进行实时存储。
根据本实施例提供的直播视频流回放处理装置,总服务器当接收到经由至少一个中间服务器传输的直播视频流时就推送直播视频流,使得直播视频流能够得到及时处理,有效地减少了获取直播视频流所耗费的时间,实现了对直播视频流的实时回放处理;并且根据视频关键帧、第一预设切片时长以及第二预设切片时长,对直播视频流的数据帧进行切片处理,有效地避免了出现切片文件的时长过短或过长等情况;另外,在进行切片处理时,及时根据上一次更新的切片索引文件和当前切片文件的起始位置对切片索引文件进行更新,并对切片文件和切片索引文件进行实时存储,从而使得用户端能够方便地在视频直播过程中对已得到的切片文件进行调用,无需观看用户等待当前切片文件切片完成就能够观看到直播视频内容,有效地缩短了首屏时间,进一步提升了用户播放体验,而且还降低了切片索引文件丢失的风险,有助于确保直播视频内容能够正常播放,优化了直播视频流回放处理方式。
本发明还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,可执行指令可执行上述任意方法实施例中的直播视频流回放处理方法。
图4示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述直播视频流回放处理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的直播视频流回放处理方法。程序410中各步骤的具体实现可以参见上述直播视频流回放处理实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种直播视频流回放处理方法,所述方法包括:
接收总服务器推送的直播视频流;
根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;
对所述切片文件和所述切片索引文件进行存储,以供回放时调用。
A2.根据A1所述的方法,其中,所述总服务器当接收到经由至少一个中间服务器传输的直播视频流时推送所述直播视频流。
A3.根据A1或A2所述的方法,其中,所述根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件进一步包括:
获取所述直播视频流的数据帧中的视频关键帧;
根据所述视频关键帧,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
A4.根据A3所述的方法,其中,所述根据所述视频关键帧,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件进一步包括:
将上一个切片文件的结束点确定为当前切片文件的起始点;其中,第1个切片文件的起始点根据第1个数据帧的时间戳而确定;
判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内所述数据帧中是否存在视频关键帧;若是,则根据该视频关键帧的时间戳确定当前切片文件的结束点;若否,则根据在第二预设切片时长处对应的数据帧的时间戳确定当前切片文件的结束点;
按照当前切片文件的起始点和结束点,对所述数据帧进行切片处理,得到当前切片文件;
依据所述当前切片文件的文件信息,更新切片索引文件。
A5.根据A4所述的方法,其中,在所述判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内所述数据帧中是否存在视频关键帧之前,所述方法还包括:
读取上一次更新的切片索引文件,根据上一次更新的切片索引文件和当前切片文件的起始位置,更新切片索引文件。
A6.根据A1-A5任一项所述的方法,其中,所述根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件进一步包括:
根据系统时间对所述直播视频流的数据帧的时间戳进行修正处理;
按照修正后的时间戳,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
A7.根据A1-A6任一项所述的方法,其中,所述对所述切片文件和所述切片索引文件进行存储进一步包括:
每隔预设时间间隔将所述切片索引文件拆分为子索引文件,并对所述子索引文件进行实时存储。
本发明还公开了:B8.一种直播视频流回放处理装置,所述装置包括:
接收模块,适于接收总服务器推送的直播视频流;
切片模块,适于根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;
存储模块,适于对所述切片文件和所述切片索引文件进行存储,以供回放时调用。
B9.根据B8所述的装置,其中,所述总服务器当接收到经由至少一个中间服务器传输的直播视频流时推送所述直播视频流。
B10.根据B8或B9所述的装置,其中,所述切片模块进一步适于:
获取所述直播视频流的数据帧中的视频关键帧;
根据所述视频关键帧,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
B11.根据B10所述的装置,其中,所述切片模块进一步适于:
将上一个切片文件的结束点确定为当前切片文件的起始点;其中,第1个切片文件的起始点根据第1个数据帧的时间戳而确定;
判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内所述数据帧中是否存在视频关键帧;若是,则根据该视频关键帧的时间戳确定当前切片文件的结束点;若否,则根据在第二预设切片时长处对应的数据帧的时间戳确定当前切片文件的结束点;
按照当前切片文件的起始点和结束点,对所述数据帧进行切片处理,得到当前切片文件;
依据所述当前切片文件的文件信息,更新切片索引文件。
B12.根据B11所述的装置,其中,所述切片模块进一步适于:
读取上一次更新的切片索引文件,根据上一次更新的切片索引文件和当前切片文件的起始位置,更新切片索引文件。
B13.根据B8-B12任一项所述的装置,其中,所述切片模块进一步适于:
根据系统时间对所述直播视频流的数据帧的时间戳进行修正处理;
按照修正后的时间戳,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
B14.根据B8-B13任一项所述的装置,其中,所述存储模块进一步适于:
每隔预设时间间隔将所述切片索引文件拆分为子索引文件,并对所述子索引文件进行实时存储。
本发明还公开了:C15.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A7中任一项所述的直播视频流回放处理方法对应的操作。
本发明还公开了:D16.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A7中任一项所述的直播视频流回放处理方法对应的操作。

Claims (10)

1.一种直播视频流回放处理方法,所述方法包括:
接收总服务器推送的直播视频流;
根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;
对所述切片文件和所述切片索引文件进行存储,以供回放时调用。
2.根据权利要求1所述的方法,其中,所述总服务器当接收到经由至少一个中间服务器传输的直播视频流时推送所述直播视频流。
3.根据权利要求1或2所述的方法,其中,所述根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件进一步包括:
获取所述直播视频流的数据帧中的视频关键帧;
根据所述视频关键帧,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
4.根据权利要求3所述的方法,其中,所述根据所述视频关键帧,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件进一步包括:
将上一个切片文件的结束点确定为当前切片文件的起始点;其中,第1个切片文件的起始点根据第1个数据帧的时间戳而确定;
判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内所述数据帧中是否存在视频关键帧;若是,则根据该视频关键帧的时间戳确定当前切片文件的结束点;若否,则根据在第二预设切片时长处对应的数据帧的时间戳确定当前切片文件的结束点;
按照当前切片文件的起始点和结束点,对所述数据帧进行切片处理,得到当前切片文件;
依据所述当前切片文件的文件信息,更新切片索引文件。
5.根据权利要求4所述的方法,其中,在所述判断在大于第一预设切片时长且小于或等于第二预设切片时长的时长内所述数据帧中是否存在视频关键帧之前,所述方法还包括:
读取上一次更新的切片索引文件,根据上一次更新的切片索引文件和当前切片文件的起始位置,更新切片索引文件。
6.根据权利要求1-5任一项所述的方法,其中,所述根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件进一步包括:
根据系统时间对所述直播视频流的数据帧的时间戳进行修正处理;
按照修正后的时间戳,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件。
7.根据权利要求1-6任一项所述的方法,其中,所述对所述切片文件和所述切片索引文件进行存储进一步包括:
每隔预设时间间隔将所述切片索引文件拆分为子索引文件,并对所述子索引文件进行实时存储。
8.一种直播视频流回放处理装置,所述装置包括:
接收模块,适于接收总服务器推送的直播视频流;
切片模块,适于根据预设切片策略,对所述直播视频流的数据帧进行切片处理,得到切片文件和对应的切片索引文件;
存储模块,适于对所述切片文件和所述切片索引文件进行存储,以供回放时调用。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的直播视频流回放处理方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的直播视频流回放处理方法对应的操作。
CN201811638674.9A 2018-12-29 2018-12-29 直播视频流回放处理方法、装置及计算设备 Pending CN111447455A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811638674.9A CN111447455A (zh) 2018-12-29 2018-12-29 直播视频流回放处理方法、装置及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811638674.9A CN111447455A (zh) 2018-12-29 2018-12-29 直播视频流回放处理方法、装置及计算设备

Publications (1)

Publication Number Publication Date
CN111447455A true CN111447455A (zh) 2020-07-24

Family

ID=71653879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811638674.9A Pending CN111447455A (zh) 2018-12-29 2018-12-29 直播视频流回放处理方法、装置及计算设备

Country Status (1)

Country Link
CN (1) CN111447455A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040325A (zh) * 2020-11-02 2020-12-04 成都睿沿科技有限公司 一种视频播放方法、装置、电子设备及存储介质
CN113207007A (zh) * 2021-04-29 2021-08-03 杭州当虹科技股份有限公司 基于hls协议的直播录制方法
CN113259694A (zh) * 2021-04-22 2021-08-13 北京金山云网络技术有限公司 数据切片方法、装置和电子设备
CN113473235A (zh) * 2021-06-16 2021-10-01 深圳锐取信息技术股份有限公司 8k录播回放视频的生成方法、装置、存储介质及设备
CN113596489A (zh) * 2021-07-05 2021-11-02 咪咕互动娱乐有限公司 直播教学方法、装置、设备及计算机可读存储介质
CN113630618A (zh) * 2021-08-06 2021-11-09 上海哔哩哔哩科技有限公司 视频处理方法、装置及系统
CN114071182A (zh) * 2021-11-11 2022-02-18 深圳数研锦瀚智慧科技有限公司 用于林火监控的视频播放处理方法、装置及存储介质
CN114584806A (zh) * 2022-03-07 2022-06-03 湖南国科微电子股份有限公司 视频源文件的处理方法、视频播放方法、装置及设备
CN115550746A (zh) * 2022-10-11 2022-12-30 杭州视洞科技有限公司 基于网络摄像机的hls低延迟方法及媒体分发服务系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683884A (zh) * 2015-02-09 2015-06-03 网宿科技股份有限公司 一种流媒体直播方法及系统
CN105338297A (zh) * 2014-08-11 2016-02-17 杭州海康威视系统技术有限公司 一种视频数据存储及回放系统、装置和方法
CN105721952A (zh) * 2016-01-27 2016-06-29 观止云(北京)信息技术有限公司 一种等时长切片的直播流网络传输方法及系统
CN106412677A (zh) * 2016-10-28 2017-02-15 北京奇虎科技有限公司 一种回放视频文件的生成方法和装置
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105338297A (zh) * 2014-08-11 2016-02-17 杭州海康威视系统技术有限公司 一种视频数据存储及回放系统、装置和方法
CN104683884A (zh) * 2015-02-09 2015-06-03 网宿科技股份有限公司 一种流媒体直播方法及系统
CN105721952A (zh) * 2016-01-27 2016-06-29 观止云(北京)信息技术有限公司 一种等时长切片的直播流网络传输方法及系统
CN106412677A (zh) * 2016-10-28 2017-02-15 北京奇虎科技有限公司 一种回放视频文件的生成方法和装置
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040325A (zh) * 2020-11-02 2020-12-04 成都睿沿科技有限公司 一种视频播放方法、装置、电子设备及存储介质
CN112040325B (zh) * 2020-11-02 2021-01-29 成都睿沿科技有限公司 一种视频播放方法、装置、电子设备及存储介质
CN113259694A (zh) * 2021-04-22 2021-08-13 北京金山云网络技术有限公司 数据切片方法、装置和电子设备
CN113207007A (zh) * 2021-04-29 2021-08-03 杭州当虹科技股份有限公司 基于hls协议的直播录制方法
CN113473235A (zh) * 2021-06-16 2021-10-01 深圳锐取信息技术股份有限公司 8k录播回放视频的生成方法、装置、存储介质及设备
CN113596489A (zh) * 2021-07-05 2021-11-02 咪咕互动娱乐有限公司 直播教学方法、装置、设备及计算机可读存储介质
CN113596489B (zh) * 2021-07-05 2023-07-04 咪咕互动娱乐有限公司 直播教学方法、装置、设备及计算机可读存储介质
CN113630618A (zh) * 2021-08-06 2021-11-09 上海哔哩哔哩科技有限公司 视频处理方法、装置及系统
CN113630618B (zh) * 2021-08-06 2024-02-13 上海哔哩哔哩科技有限公司 视频处理方法、装置及系统
CN114071182A (zh) * 2021-11-11 2022-02-18 深圳数研锦瀚智慧科技有限公司 用于林火监控的视频播放处理方法、装置及存储介质
CN114584806A (zh) * 2022-03-07 2022-06-03 湖南国科微电子股份有限公司 视频源文件的处理方法、视频播放方法、装置及设备
CN115550746A (zh) * 2022-10-11 2022-12-30 杭州视洞科技有限公司 基于网络摄像机的hls低延迟方法及媒体分发服务系统

Similar Documents

Publication Publication Date Title
CN111447455A (zh) 直播视频流回放处理方法、装置及计算设备
US11317143B2 (en) Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content
WO2018076998A1 (zh) 一种回放视频文件的生成方法和装置
US10638192B2 (en) Live streaming quick start method and system
CN108540819B (zh) 直播数据处理方法、装置、计算机设备和存储介质
EP3448040A1 (en) Live broadcast rapid-startup method and system
CN107852534B (zh) 在广播流和单播流之间转换
CN111726657A (zh) 直播视频的播放处理方法、装置及服务器
WO2019119633A1 (zh) 直播视频的转码装置、方法及计算机可读存储介质
CN112584087B (zh) 视频会议录制方法、电子装置和存储介质
CN111726641A (zh) 直播视频的播放处理方法、装置及服务器
CN110519640B (zh) 视频处理方法、编码器、cdn服务器、解码器、设备及介质
CN107690093B (zh) 一种视频播放方法及装置
CN113727199A (zh) 一种hls切片快速起播方法
CN107634928B (zh) 一种码流数据的处理方法及装置
WO2015081893A1 (zh) 一种轮播媒体分片的方法、客户端及系统
CN111436009A (zh) 一种实时视频流传送、显示方法以及传送和播放系统
WO2018224839A2 (en) Methods and systems for generating a reaction video
US11457286B2 (en) Video distribution apparatus, distribution method, and recording medium
CN112243136B (zh) 内容播放方法、视频存储方法和设备
CN111726651A (zh) 一种基于hils协议的音视频流直播方法及系统
CN114417055A (zh) 一种视频播放方法、装置、计算机设备和存储介质
CN114268830A (zh) 云导播同步方法、装置、设备及存储介质
CN105491394B (zh) 发送mmt包的方法及装置、接收mmt包的方法
CN110545447B (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