CN110113626B - 一种回放直播视频的方法及装置 - Google Patents

一种回放直播视频的方法及装置 Download PDF

Info

Publication number
CN110113626B
CN110113626B CN201910394970.7A CN201910394970A CN110113626B CN 110113626 B CN110113626 B CN 110113626B CN 201910394970 A CN201910394970 A CN 201910394970A CN 110113626 B CN110113626 B CN 110113626B
Authority
CN
China
Prior art keywords
video
video segment
storage
sub
live
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
CN201910394970.7A
Other languages
English (en)
Other versions
CN110113626A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910394970.7A priority Critical patent/CN110113626B/zh
Publication of CN110113626A publication Critical patent/CN110113626A/zh
Application granted granted Critical
Publication of CN110113626B publication Critical patent/CN110113626B/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明实施例提供了一种回放直播视频的方法及装置,该方法通过获得直播视频的起始回放时间;确定播放时间包含起始回放时间的起始回放视频分段;从本地存储的视频分段中,获得起始回放视频分段及播放时间在起始回放视频分段之后的其他视频分段,从起始回放视频分段中起始回放时间对应的播放位置开始,按照播放顺序,依次播放所获得的视频分段。应用本发明实施例提供的方案不仅能够降低回放直播视频过程中服务器端的负担,并能够降低服务器端对网络带宽的要求。

Description

一种回放直播视频的方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种回放直播视频的方法及装置。
背景技术
随着网络技术的发展和网络影响的扩大,网络直播受到越来越多的关注。用户可以通过客户端来观看网络直播的流媒体视频,包括直播视频和点播视频。当用户通过客户端观看直播视频时,可以观看直播视频在当前时刻的视频内容,但用户在观看直播视频的过程中,可能还希望观看直播视频在当前时刻之前已经播放过的任意时刻的视频内容,也就是,回放直播视频。
现有技术中,客户端将用户输入的包含的回放指令发送到服务器端;接收服务器端发送的视频并播放。
可见,在上述回放直播视频方法中,客户端需要从服务器端获取视频数据,如果在同一时间段请求回放直播视频的用户较多,服务器端需要发送的视频数据也会较多,进而导致服务器端的输出负担较重、对网络带宽的要求也较高。
发明内容
本发明实施例的目的在于提供一种回放直播视频的方法及装置,以降低回放直播视频过程中服务器端的负担,并降低服务器端对网络带宽的要求。具体技术方案如下:
一种回放直播视频的方法,应用于客户端,所述方法包括:
获得直播视频的起始回放时间;
确定播放时间包含所述起始回放时间的起始回放视频分段;
从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据;
从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段。
进一步地,在所述获得直播视频的起始回放时间的步骤之前,所述方法还包括:
在直播过程中,从服务器获取直播视频数据,如果所述直播视频数据是所述直播视频的切片数据,则确定所述直播视频的切片数据为直播视频的视频分段,并存储所述直播视频的视频分段;
否则,按照预设时长对所述直播视频数据进行切片处理,得到所述直播视频的视频分段,并存储所述直播视频的视频分段。
进一步地,在所述存储所述直播视频的视频分段的步骤之后,所述方法还包括:
保存所述直播视频的视频分段的起始播放时间和本地存储地址;
所述确定播放时间包含所述起始回放时间的起始回放视频分段,包括:
根据所保存的视频分段的起始播放时间,确定播放时间包括所述起始回放时间的起始回放视频分段;
所述从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段的步骤,包括:
根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段;
根据所保存的视频分段的起始播放时间,确定播放时间在所述起始回放视频分段之后的其他视频分段;
根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段。
进一步地,所述存储所述直播视频的视频分段的步骤,包括:
以分块存储的方式在所述客户端本地中存储所述直播视频的视频分段,其中,每一存储块对应存储一视频分段,且根据所述存储块中所有子存储块中的存储数据得以生成该存储块对应的视频分段;
标识所述存储块中,包含有目标数据的子存储块,其中,所述目标数据的播放时间包含所述视频分段的起始播放时间;
所述保存所述直播视频的视频分段的本地存储地址的步骤,包括:
在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,其中,所述节点与所述子存储块一一对应;所述子存储块的物理地址为所述子存储块的本地存储地址,所述子存储块的逻辑地址为所述子存储块中的存储数据在视频分段中的相对位置。
进一步地,所述根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段的步骤,包括:
确定存储有所述起始回放视频分段的存储块;
确定所确定的存储块中被标识的子存储块,以及,从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址;
根据所获取的物理地址,从本地获取所述子存储块中的存储数据;
根据所述子存储块的逻辑地址,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
一种回放直播视频的装置,所述装置包括:
起始回放时间获得模块,用于获得直播视频的起始回放时间;
起始回放视频分段确定模块,用于确定播放时间包含所述起始回放时间的起始回放视频分段;
第一视频分段获得模块,用于从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据;
视频分段播放模块,用于从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段。
进一步地,所述装置还包括:
判断模块,用于在直播过程中,从服务器获取直播视频数据,如果所述直播视频数据是所述直播视频的切片数据,则确定所述直播视频的切片数据为直播视频的视频分段,并触发存储模块;否则,按照预设时长对所述直播视频数据进行切片处理,得到所述直播视频的视频分段,并触发存储模块;
所述存储模块,用于存储所述直播视频的视频分段。
进一步地,所述装置还包括:
起始播放时间和存储地址得到模块,用于保存所述直播视频的视频分段的起始播放时间和本地存储地址;
所述起始回放视频分段确定模块,包括:
第一起始回放视频分段获得子模块,用于根据所保存的视频分段的起始播放时间,确定播放时间包括所述起始回放时间的起始回放视频分段;
所述第一视频分段获得模块包括:
第二视频分段获得子模块,用于根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段;
第三视频分段获得子模块,用于根据所保存的视频分段的起始播放时间,确定播放时间在所述起始回放视频分段之后的其他视频分段;
第四视频分段获得子模块,用于根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段。
进一步地,所述存储模块包括:;
分块存储子模块,用于以分块存储的方式在所述客户端本地中存储所述直播视频的视频分段,其中,每一存储块对应存储一视频分段,且根据所述存储块中所有子存储块中的存储数据得以生成该存储块对应的视频分段;
标识子模块,用于标识所述存储块中,包含有目标数据的子存储块,其中,所述目标数据的播放时间包含所述视频分段的起始播放时间;
所述起始播放时间和存储地址得到模块包括:
地址存储子模块,用于在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,其中,所述节点与所述子存储块一一对应;所述子存储块的物理地址为所述子存储块的本地存储地址,所述子存储块的逻辑地址为所述子存储块中的存储数据在视频分段中的相对位置。
进一步地,所述第二视频分段获得子模块包括:
标识确定单元,用于确定存储有所述起始回放视频分段的存储块;
节点确定单元,用于确定所确定的存储块中被标识的子存储块,以及,从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址;
地址获得单元,用于根据所获取的物理地址,从本地获取所述子存储块中的存储数据;
视频分段获得单元,用于根据所述子存储块的逻辑地址,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的回放直播视频的方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的回放直播视频的方法。
本发明实施例提供的一种回放直播视频的方法及装置,可以通过获得直播视频的起始回放时间;确定播放时间包含起始回放时间的起始回放视频分段;从客户端本地存储的视频分段中,获得起始回放视频分段及播放时间在起始回放视频分段之后的其他视频分段,从起始回放视频分段中起始回放时间对应的播放位置开始,按照播放顺序,依次播放所获得的视频分段。相对现有技术而言,如果用户请求回放直播视频,本发明实施例提供的方案仅从客户端本地获取待回放的视频分段,不仅能够降低回放直播视频过程中服务器端的负担,还能够降低服务器端对网络带宽的要求。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的第一种回放直播视频的方法的流程图;
图2为客户端视频直播过程中的显示界面;
图3为本发明实施例提供的视频分段存储方法的流程图;
图4为本发明实施例提供的第二种回放直播视频的方法的流程图;
图5为本发明实施例提供的第一种回放直播视频的装置的结构示意图;
图6为本发明实施例提供的第二种回放直播视频的装置的结构示意图;
图7为本发明实施例提供的第三种回放直播视频的装置的结构示意图;
图8本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参见图1,图1为本发明实施例提供的第一种回放直播视频的方法的流程图,包括如下步骤:
S101,获得直播视频的起始回放时间。
本申请的播放直播视频的客户端会显示进度条,如图2所示,图2为客户端播放直播视频过程中的显示界面,显示界面下端的播放进度条上显示有直播视频的起始播放时间或帧数和直播视频的缓存时间或帧数,和/或,直播视频的最大可缓存时间或帧数和视频结束时间或帧数。用户想要回放上述直播视频时,可以拖拽进度条上的播放进度滑块至想要回放的时刻,或在进度条上表示已播放时间的区域内点击想要回放的时刻,从而使得播放进度滑块移动至点击位置,这样通过上述任一方式,客户端可得到起始回放时间。
具体的,上述起始播放时间、缓存时间、最大可缓存时间、视频结束时间等可以为相对时间,如,起始播放时间为:00:00:00,这样缓存时间、最大可缓存时间以及视频结束时间均在00:00:00基础上确定;当然,上述各种时间也可以为绝对时间,如,起始播放时间为:18:00:00,这样缓存时间、最大可缓存时间以及视频结束时间均在18:00:00基础上确定。
举例而言,若直播视频为某一节目,该节目的起始播放时间为18:00:00,若该节目已经直播了20分钟,用户想回放18:03:15之后的视频,则将播放进度滑块拖拽至进度条上18:03:15对应的位置,这时客户端可以确定18:03:15就是起始回放时间。
S102,确定播放时间包含上述起始回放时间的起始回放视频分段。
由于起始回放时间为一播放时间点,所以该播放时间点会位于直播视频的某一视频分段对应的播放时间段内。又由于直播视频的数据是按照视频分段进行存储的,为此要进行视频回放,需先确定起始回放时间这一播放时间点所属的播放时间段对应的视频分段,也就是上述起始回放视频分段,然后才能在起始回放视频分段中定位出起始回放时间这一时间点对应的视频内容。
基于S101中的示例,设每一视频分段的时长为10秒,则起始回放时间18:03:15位于播放时间段为[18:03:10,18:03:18)的视频分段内,则播放时间段为[18:03:10,18:03:18)的视频分段为起始回放视频分段。
S103,从本地存储的视频分段中,获得起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据。
客户端本地存储的视频分段可以是直接存储在硬盘中,也可以是存放在硬盘缓存区中,本发明实施例对此并不限定。
S104,从所述起始回放视频分段的上述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段。
基于S101~S102的示例,起始回放时间为18:03:15,在确定起始回放视频分段和播放时间在上述起始回放视频分段之后的视频分段后,按照播放顺序,从确定的视频分段中开始播放18:03:15对应的视频分段,从而实现了回放直播视频。
通过解析所读取的视频分段的时间戳,确定起始回放时间对应的时间戳,作为起始回放时间戳,进而根据起始回放时间戳确定出起始回放时间戳对应的播放位置,最后按照播放顺序,依次播放所获得的视频分段。
先执行S103后再执行S104,或,先执行S104后再执行S103均可,本发明实施例对S103和S104的执行顺序并不限定。
首先,执行S103,其次,执行S104,一种实现方式为:在执行S104之后,还可以包括:若获得的视频分段全部播放完毕,则将最新的播放时间作为新的起始回放时间,返回执行S101的步骤。
在本步骤中,回放本地存储中最新缓存的视频分段,按照上述循环,直至本地全部直播视频播放完毕。
举例而言:基于S101~S102的示例,起始回放时间为18:03:15,获得18:00:00的视频片段及18:00:00之后的视频片段,其中,18:00:00之后的视频片段为播放时间为18:05:00对应的视频片段、播放时间为18:10:00对应的视频片段、播放时间为18:15:00对应的视频片段和播放时间为18:20:00对应的视频片段。其次,从18:00:00的视频片段中查找18:03:15对应的播放位置,按照播放顺序,依次播放所获得的18:00:00的视频片段及18:00:00之后的视频片段。在播放完上述获得的视频片段后,本地存储会一直对视频分段进行实时更新,也就是,本地存储又重新存储了上述直播视频中新的视频分段,将播放上述18:20:00对应的视频片段之后下一个播放时间作为新的起始回放时间,也就是,18:25:00作为起始回放时间,返回执行S101步骤,直至所有的直播视频播放完毕。
可见,本实现方式可以通过将最新的播放时间作为新的起始回放时间,循环执行S101~S104,直至全部直播视频播放完毕,可以准确地完成视频的回放。
首先执行S104,其次,执行S103,一种实现方式可以为:在执行S103之后,将最新的播放时间对应的视频分段作为新的起始回放时间视频分段,返回执行S104的步骤;
上述所获得的视频分段可以理解为S102所确定的起始回放视频分段,也可以是S103中所获得的上述起始回放视频分段及播放时间在上述起始回放视频分段之后的视频分段。
在本步骤中,播放完获得的视频分段后,再从本地存储中获得最新的起始回放视频分段及播放时间在上述起始回放视频分段之后的视频分段,并从最新的起始回放视频分段中上述起始回放时间对应的播放位置开始,按照播放顺序,依次播放所获得的视频分段,按照上述循环,直至本地全部直播视频播放完毕。
举例而言:基于S101~S102的示例,起始回放时间为18:03:15,确定18:03:15的起始回放视频分段为18:00:00的视频片段,从18:00:00的视频片段中18:03:15对应的播放位置开始,按照播放顺序,依次播放所获得的视频分段,在播放完上述起始回放视频分段后,再从上述客户端本地存储的视频分段中,获得18:00:00对应的视频片段及18:00:00之后的视频片段,其中,18:00:00之后的视频片段为播放时间为18:05:00~18:20:00对应的视频片段。并将18:05:00对应的视频分段作为新的起始回放视频分段,从起始回放视频分段中18:05:00对应的播放位置开始,按照播放顺序,依次播放所获得的视频分段。在播放完上述获得的视频片段后,本地存储又对视频分段进行了更新,也就是,本地存储又重新存储了上述直播视频中新的视频分段,将播放上述18:20:00对应的视频片段之后下一个播放时间对应的视频分段作为新的起始回放视频分段,也就是,18:25:00对应的视频分段作为新的起始回放视频分段,返回执行S104步骤,直至所有的直播视频播放完毕。
可见,本实现方式可以通过将最新的播放时间作为新的起始回放时间,循环执行S104和S103,直至全部直播视频播放完毕,可以快速、准确地完成视频的回放。
基于此,S104的一种实现方式为:若未存储有所获得的视频分段的起始播放时间,则解析该视频分段的时间戳,播放上述时间戳不小于起始回放时间对应的视频分段。
通过解析所读取的视频分段的时间戳,得到各个不同视频分段中视频数据对应的时间戳,从所得到的时间戳中查询起始回放时间对应的时间戳作为目标时间戳,按照时间戳的顺序,播放目标时间戳对应的视频分段以及目标时间戳之后时间戳对应的视频分段。
可见,本实现方式从解析所读取的视频分段的时间戳中得到不小于回放时间的时间戳,并对得到的时间戳对应的视频分段进行播放,该实现方式可以快速准确地播放起始回放时间以及起始回放时间之后的视频分段,达到回放直播视频的目的。
举例而言,基于上述S103的示例,在从客户端本地存储的视频分段中获得18:03:10对应的视频分段和18:03:10之后播放时间对应的视频分段后,解析各个视频分段的时间戳,如18:03:10对应的视频片段的时间戳为18:03:11、18:03:12、18:03:113、18:03:14、18:03:15、18:03:16、18:03:17、18:03:18、18:03:18,则可见18:03:10对应的视频片段的时间戳18:03:15为起始回放时间,则播放18:03:10对应的视频分段18:03:15之后播放时间对应的视频分段。
由此可见,本发明实施例确定播放时间包含上述起始回放时间的起始回放视频分段;并从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段;从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段,应用本发明实施例提供的方法不仅能够降低回放直播视频过程中服务器端的负担,还能够降低服务器端对网络带宽的要求。
参见图3,图3为本发明实施例提供的第二种回放直播视频的方法的流程图,包括如下步骤:
S201,在直播过程中,从服务器获取直播视频数据,如果直播视频数据是直播视频的切片数据,则确定直播视频的切片数据为直播视频的视频分段,并存储直播视频的视频分段;
否则,按照预设时长对所述直播视频数据进行切片处理,得到直播视频的视频分段,并存储直播视频的视频分段。
也就是说,客户端在播放直播视频的过程中,接收到的直播视频数据存在两种类型:
其一为以切片数据形式存在的直播视频数据,以HLS/M3U8为代表的TS(TransportStream,传输流)切片视频流为主,该类型的切片数据为服务器对直播视频进行切片处理得到的切片数据。在这种情况下,客户端接收到服务器端反馈的视频分段后,直接在本地存储视频分段即可。也就是,上述客户端端本地存储的视频分段是由服务器端生成的。可见,第一种实现方式可以快捷便利地从服务器端获取切片数据。
其二为未切片的直播视频数据,以RTMP(Real Time Messaging Protocol,实时消息传输协议)/FLV(Flash Video,流媒体),RTSP(Real Time Streaming Protocol,实时流协议)/TS等非切片视频流为主。在这种情况下,客户端将按照预设时长对直播视频的缓存数据进行切片,得到切片数据,或者,客户端也可以在接收到满足预设时长的直播视频数据后就切片,得到切片数据。可见,第二种实现方式实时对所述直播视频进行切片处理,得到所述直播视频的切片数据,能够减轻服务器端的负担。
在S201之后,上述方法还包括:
S202,保存所述直播视频的视频分段的起始播放时间和本地存储地址。
其中,S202可以在播放上述直播视频过程中,保存上述客户端本地存储的每一视频分段的起始播放时间和存储地址。
其中,在客户端本地存储每一视频分段时,可以获得每一视频分段的时长、起始播放时间以及视频分段的存储地址。上述存储地址,可以理解为在存储器里以字节为单元存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址。
由于通常情况下,每一视频分段的时长可以是预先设定且相同的时长,也可以是预设设定的不同时长;针对每一视频分段具有的相同的时长而言,可以仅仅记录视频分段的起始播放时间和存储地址,这样在回放视频过程中,需要确定各个视频分段时,可以根据所保存的起始播放时间快速定位满足要求的视频分段,并且根据所记录的存储地址,快速实现视频分段的数据获取。
本发明中,除保存每一视频分段的起始播放时间和存储地址之外,还可以保存视频分段的时长,或,保存视频分段的结束时间,以确定该视频分段的终止播放时间。
S203、获得直播视频的起始回放时间。
S204、根据所保存的视频分段的起始播放时间,确定播放时间包括所述起始回放时间的起始回放视频分段。
其中,起始播放时间可以理解为各个上述视频分段的开始播放时间,每一视频分段对应一个起始播放时间。
S204的一种实现方式为:根据所保存的每一视频分段的起始播放时间,查找包括上述起始播放时间的播放时间,并按照查找后的播放时间,确定所查找的播放时间对应的起始回放视频分段。
基于S102中的示例,设每一视频分段的时长为10秒,如18:03:10,18:03:20,18:03:30均为各个视频分段的起始播放时间。可见,通过利用起始播放时间,可以快速准确地确定播放时间包括起始回放时间对应的起始回放视频分段。
S205、根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段;根据所保存的视频分段的起始播放时间,确定播放时间在所述起始回放视频分段之后的其他视频分段;根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段。
在本步骤中,从所确定的存储地址可以读取上述起始播放时间对应的视频分段,根据视频分段的播放顺序,可以读取起始播放时间及起始播放时间之后对应的视频分段。
其中,为了便于查找,同一视频分段的起始播放时间和存储地址是关联存储的,因此在已确定一个视频分段的起始播放时间后,便可直接获取该视频分段的存储地址,以及该起始播放时间之后播放时间的视频分段存储地址,由S204确定了起始回放视频,也就是获知起始回放视频对应的起始播放时间,根据存储地址与起始播放时间的关联关系,获得起始回放视频分段及播放时间在上述起始回放视频分段之后的视频分段。
可见,利用每一视频分段的起始播放时间和存储地址,可以快速、准确地获得上述起始回放视频分段及播放时间在上述起始回放视频分段之后的视频分段。
S206、从起始回放视频分段的起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段。
在另一种实现方式中,S201中存储所述直播视频的视频分段,具体包括S2011~S2012:
S2011、以分块存储的方式在客户端本地中存储直播视频的视频分段,其中,每一存储块对应存储一视频分段,且根据存储块中所有子存储块中的存储数据得以生成该存储块对应的视频分段;
S2012、标识所述存储块中,包含有目标数据的子存储块,且目标数据的播放时间包含所述视频分段的起始播放时间;
其中,上述客户端本地存储的视频分段可以以分块存储的方式在上述客户端本地存储。
上述包含目标数据的子存储块为构成视频分段对应的存储块中的首位子存储块,也就是存储播放时间包含起始播放时间数据的子存储块。
基于上述实现方式,S202中保存直播视频的视频分段的本地存储地址,具体包括S2021:
S2021、在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,其中,所述节点与所述子存储块一一对应;所述子存储块的物理地址为所述子存储块的本地存储地址,所述子存储块的逻辑地址为所述子存储块中的存储数据在视频分段中的相对位置。
其中,二叉树由若干个节点组成,一个节点最多只能有两个子节点,称为左子节点和右子节点,从根节点开始左右扩散,向下一直分支。二叉树的存储特点是寻找后代节点和祖先节点都非常方便,检索效率高。
另外,平衡二叉树也可以理解为:一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的方式很好的解决了二叉查找树退化成链表的问题,把插入、查找、删除的时间复杂度最好情况和最坏情况都维持在一个合理范围内。
以平衡二叉树的方式缓存视频分段的存储地址等信息,当存储的视频分段大于预设的存储空间时,可以将新的视频分段覆盖平衡二叉树中对底层的最小节点也就是存储历史时间最久对应的视频分段。
一个存储块对应存储一个视频分段,一个存储块中至少包括一个用于生成视频分段的子存储块,平衡二叉树的一个节点对应存储一个子存储块的物理地址和该子存储块的逻辑地址。
可见,本实现方式以分块存储的方式在所述客户端本地中存储所述直播视频的视频分段,标识所述存储块中,包含有目标数据的子存储块,并在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,使得通过分块存储的方式和平衡二叉树的高效的数据组织方式,检索视频分段的效率高,达到快速回放起始回放时间对应的时视频分段及该起始回放时间之后播放时间对应的频分段。
由此可见,本发明实施例通过在直播过程中,从服务器获取直播视频数据,如果直播视频数据是直播视频的切片数据,则存储直播视频的视频分段;否则,按照预设时长对直播视频数据进行切片处理,并存储直播视频的视频分段,保存直播视频的视频分段的起始播放时间和本地存储地址,获得直播视频的起始回放时间,根据所保存的视频分段的起始播放时间,确定播放时间包括起始回放时间的起始回放视频分段,根据所确定的起始回放视频分段的本地存储地址和起始播放时间,获得播放时间在起始回放视频分段以及起始回放视频分段之后的视频分段,并从起始回放视频分段的起始回放时间开始,依次播放所获得的视频分段。应用本发明实施例提供的方法不仅能够降低回放直播视频过程中服务器端的负担,还能够降低服务器端对网络带宽的要求,同时也可以快速准确地播放起始回放时间以及起始回放时间之后的视频分段,达到回放直播视频的目的。
基于本实施例的存储方式,S205中根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段,具体包括S2051~S2054:
S2051、确定存储有所述起始回放视频分段的存储块。
根据视频分段与存储块之间的对应关系可以确定存储有所述起始回放视频分段的存储块。
S2052、确定所确定的存储块中被标识的子存储块,以及,从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址。
其中,在确定起始回放视频分段的存储块后,根据包含有目标数据的子存储块的标识,可以确定被标识的子存储块。
在确定起始回放视频分段的存储块后,根据存储块包括的所有子存储块与节点的对应关系,可以从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址。
S2053、根据所获取的物理地址,从本地获取所述子存储块中的存储数据。
S2054、根据所述子存储块的逻辑地址,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
从确定的存储块包括所有子存储块的物理地址中得到所有子存储块,根据确定的子存储块的标识,便可从多个子存储块中确定与标识的子存储块对应的子存储块,也就是确定了首位子存储块,在根据存储块所包括子存储块的逻辑地址,将从存储块存储的数据按照逻辑地址进行排序,得到起始回放视频分段。
可见,本实现方式通过根据物理地址获得存储块所包括的子存储块存储的数据,按照所确定的子存储块的标识,利用逻辑地址,对存储块存储的数据进行排序,获得所述起始回放视频分段,能够快速有序地找到起始回放视频分段。
需要说明的是,S205中根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段可以按照S2051~S2054的方法去实现,也可以按照如下S2055~S2058实现:
S2055、确定存储有所述起始回放视频分段之后视频分段的存储块。
其中,在确定起始回放视频分段之后的视频分段后,根据视频分段与存储块一一对应关系,则能够确定起始回放视频分段之后视频分段的存储块。
S2056、从平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址。
S2057、根据所获取的物理地址,从本地获取所述子存储块中的存储数据。
其中,由于一个子存储块的逻辑地址和物理地址存储于二叉树的一个节点中,因此,在步骤I确定存储块后,便可从节点中获得存储块所包括子存储块的逻辑地址和物理地址。
S2058、根据所述子存储块的逻辑地址,利用起始回放视频分段,对所获取的子存储块中的存储数据进行排序,得到起始回放视频分段之后的视频分段。
从上述物理地址中获得起始回放视频分段之后的视频分段对应存储块存储的数据,根据该存储块包括的子存储块的逻辑地址和起始视频分段,将从该存储块存储的数据按照上述逻辑地址进行排序,得到起始回放视频分段之后的视频分段数据。
可见,本实现方式通过根据上述物理地址获得所述起始回放视频分段之后的视频分段对应存储块所包括的子存储块存储的数据,基于所述获得的起始回放视频分段,利用该存储块所包括子存储块的逻辑地址获得所述起始回放视频分段之后的视频分段,进而快速有效地找到起始回放视频分段之后的视频分段。
下面以视频分段i(Segment i)为例,结合图4,描述缓存线程(Cache Thread)存储和读取Segment i的过程。
按照S4011~S4013存储Segment i,具体包括:
S4011、Segment i以分块存储的方式在所述客户端本地中存储。
也就是,Segment i对应的存储块为图4中的Chunk i。Chunk i包括j个子存储块chunk0j,也就是图4中的Chunk 01、chunk02和chunk03等等,且根据j个子存储块chunk0j中的存储数据得以生成Chunk i对应的Segment i,j为Chunk i所包括子存储块的序号;
其中,Segment i可以以链表list形式存储,Chunk i存储在链表中的标识为*elem。
其中,Segment i可以以链表list形式存储,Chunk i存储在链表中的标识为*elem。
S4012、标识Chunk i中,包含有播放时间包含所述视频分段的起始播放时间的数据的子存储块。
如图4所示,标识Chunk i中的chunk01可能存在多种实现方式,一种实现方式为:将该待标识子存储块如chunk01用于表征该子存储块的相关信息存储在链表中。例如:可以将该待标识子存储块的物理地址作为该存储块的标识存储在链表中,也可以将该待标识子存储块的起始播放时间作为该存储块的标识存储在链表中。另一种实现方式为:对该子存储块存储的视频数据进行标记,以使在多个子存储块中根据标记确定该子存储块。
在确定Segment i后,便可根据Segment i对应的标识*elem,标识chunk01并存储。
S4013、在平衡二叉树的节点(Tree Node)中,一个节点对应存储一个chunk0i的物理地址(Physical pos)和逻辑地址(Logical pos)。
其中,每个子存储块对应于二叉树中的一个树节点,也就是图4中Tree Node,Segment i在Tree node可以采用如类似*elem(存储块元素)的标识,以使在二叉树中能够找到存储有构成Segment i的各个子存储块的物理地址(Physical pos)和逻辑地址(Logical pos)。
基于S4011~S4013的存储方式,按照S4021~S4024读取Segment i,具体包括:
S4021、确定存储有Segment i的Chunk i;
其中,如图4所示,基于上述的示例,从链表节点中确定存储有Segment i的Chunki,可以利用事先标识的名称*elem。
S4022、确定Chunk i中被标识的Chunk 01,以及,从平衡二叉树中获取Chunk i中所有子存储块的Physical pos和Logical pos;
如图4所示,根据Chunk i的*elem,确定上述Chunk 01的标识,这个标识可以为该子存储块的Physical pos,以及根据Chunk i的*elem,从平衡二叉树中获取Chunk i中所有子存储块的Physical pos和Logical pos。
S4023、根据所获取的Physical pos,从本地获取Chunk 0j的存储数据;
S4024、根据Chunk 0j的Logical pos,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
如图4所示,当上述Chunk 01的标识为该子存储块的Physical pos,则先利用该物理地址得到Chunk 01中的存储数据,则利用Logical pos,对各个子存储块中的存储数据进行排序,最终确定Segment i。
当上述Chunk 01的标识为起始播放时间时,则利用该起始播放时间,从获得的子存储块中的存储数据找到该起始播放时间对应的子存储块,对各个子存储块中的存储数据进行排序,最终确定Segment i。
当上述Chunk 01的标识为对子存储块Chunk 01进行的标记时,则从获得的子存储块中的存储数据确定设有该标记的子存储块Chunk 01,从而确定了Chunk 01,利用Logicalpos,对各个子存储块中的存储数据进行排序,最终确定Segment i。
与上述回放直播视频的方法相对应,本发明实施例还提供了回放直播视频的装置。
参见图5,图5为本发明实施例提供一种回放直播视频的装置的结构示意图,上述装置可以包括:
起始回放时间获得模块501,用于获得直播视频的起始回放时间;
起始回放视频分段确定模块502,用于确定播放时间包含上述起始回放时间的起始回放视频分段;
第一视频分段获得模块503,用于从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据;
视频分段播放模块504,用于从上述起始回放视频分段的上述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段。
在一个实现方式中,上述装置还可以包括:
判断模块,用于在直播过程中,从服务器获取直播视频数据,如果所述直播视频数据是所述直播视频的切片数据,则确定所述直播视频的切片数据为直播视频的视频分段,并触发存储模块;否则,按照预设时长对所述直播视频数据进行切片处理,得到所述直播视频的视频分段,并触发存储模块;
所述存储模块,用于存储所述直播视频的视频分段。
在一个实现方式中,如图6所示,上述装置还包括:
起始播放时间和存储地址得到模块601,用于保存所述直播视频的视频分段的起始播放时间和本地存储地址;
所述起始回放视频分段确定模块502,包括:
起始回放视频分段获得子模块602,用于根据所保存的视频分段的起始播放时间,确定播放时间包括所述起始回放时间的起始回放视频分段;
所述第一视频分段获得模块503包括:
第二视频分段获得子模块603,用于根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段;
第三视频分段获得子模块604,用于根据所保存的视频分段的起始播放时间,确定播放时间在所述起始回放视频分段之后的其他视频分段;
第四视频分段获得子模块605,用于根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段。
在一个实现方式中,上述存储模块包括:
分块子模块,用于以分块存储的方式在所述客户端本地中存储所述直播视频的视频分段,其中,每一存储块对应存储一视频分段,且根据所述存储块中所有子存储块中的存储数据得以生成该存储块对应的视频分段;
标识子模块,用于标识所述存储块中,包含有目标数据的子存储块,其中,所述目标数据的播放时间包含所述视频分段的起始播放时间;
所述起始播放时间和存储地址得到模块包括:
地址存储子模块,用于在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,其中,所述节点与所述子存储块一一对应;所述子存储块的物理地址为所述子存储块的本地存储地址,所述子存储块的逻辑地址为所述子存储块中的存储数据在视频分段中的相对位置。
在一个实现方式中,如图7所示,上述第二视频分段获得子模块603包括:
标识确定单元701,用于确定存储有所述起始回放视频分段的存储块;
节点确定单元702,用于确定所确定的存储块中被标识的子存储块,以及,从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址;
地址获得单元703,用于根据所获取的物理地址,从本地获取所述子存储块中的存储数据;
视频分段获得单元704,用于根据所述子存储块的逻辑地址,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
由此可见,本发明实施例提供的装置通过确定播放时间包含上述起始回放时间的起始回放视频分段;并从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段;从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段,应用本发明实施例提供的方法不仅能够降低回放直播视频过程中服务器端的负担,还能够降低服务器端对网络带宽的要求。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现本发明实施例提供的一种回放直播视频的方法。
具体的,上述一种回放直播视频的方法,包括:
获得直播视频的起始回放时间;
确定播放时间包含上述起始回放时间的起始回放视频分段;
从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据;
从上述起始回放视频分段的上述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段。
由此可见,执行本实施例提供的电子设备,通过确定播放时间包含上述起始回放时间的起始回放视频分段;并从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段;从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段,应用本发明实施例提供的方法不仅能够降低回放直播视频过程中服务器端的负担,还能够降低服务器端对网络带宽的要求。
上述的相关内容文件运行方法的实施方式与前述方法实施例部分提供的回放直播视频的方法的管理方式相同,这里不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一上述的回放直播视频的方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一上述的回放直播视频的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、存储介质和程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种回放直播视频的方法,其特征在于,应用于客户端,所述方法包括:
在直播过程中,从服务器获取直播视频数据,如果所述直播视频数据是所述直播视频的切片数据,则确定所述直播视频的切片数据为直播视频的视频分段,并存储所述直播视频的视频分段;
否则,按照预设时长对所述直播视频数据进行切片处理,得到所述直播视频的视频分段,并存储所述直播视频的视频分段;
保存所述直播视频的视频分段的起始播放时间和本地存储地址;
获得直播视频的起始回放时间;
确定播放时间包含所述起始回放时间的起始回放视频分段;
从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据;
从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段;
其中,所述存储所述直播视频的视频分段的步骤,包括:
以分块存储的方式在所述客户端本地中存储所述直播视频的视频分段,其中,每一存储块对应存储一视频分段,且根据所述存储块中所有子存储块中的存储数据得以生成该存储块对应的视频分段;
标识所述存储块中,包含有目标数据的子存储块,其中,所述目标数据的播放时间包含所述视频分段的起始播放时间;
所述保存所述直播视频的视频分段的本地存储地址的步骤,包括:
在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,其中,所述节点与所述子存储块一一对应;所述子存储块的物理地址为所述子存储块的本地存储地址,所述子存储块的逻辑地址为所述子存储块中的存储数据在视频分段中的相对位置。
2.如权利要求1所述的方法,其特征在于,所述确定播放时间包含所述起始回放时间的起始回放视频分段的步骤,包括:
根据所保存的视频分段的起始播放时间,确定播放时间包括所述起始回放时间的起始回放视频分段;
所述从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段的步骤,包括:
根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段;
根据所保存的视频分段的起始播放时间,确定播放时间在所述起始回放视频分段之后的其他视频分段;
根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段。
3.如权利要求2所述的方法,其特征在于,所述根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段的步骤,包括:
确定存储有所述起始回放视频分段的存储块;
确定所确定的存储块中被标识的子存储块,以及,从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址;
根据所获取的物理地址,从本地获取所述子存储块中的存储数据;
根据所述子存储块的逻辑地址,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
4.一种回放直播视频的装置,其特征在于,应用于客户端,所述装置包括:
判断模块,用于在直播过程中,从服务器获取直播视频数据,如果所述直播视频数据是所述直播视频的切片数据,则确定所述直播视频的切片数据为直播视频的视频分段,并触发存储模块;否则,按照预设时长对所述直播视频数据进行切片处理,得到所述直播视频的视频分段,并触发存储模块;
所述存储模块,用于存储所述直播视频的视频分段;
起始播放时间和存储地址得到模块,用于保存所述直播视频的视频分段的起始播放时间和本地存储地址;
起始回放时间获得模块,用于获得直播视频的起始回放时间;
起始回放视频分段确定模块,用于确定播放时间包含所述起始回放时间的起始回放视频分段;
第一视频分段获得模块,用于从本地存储的视频分段中,获得所述起始回放视频分段及播放时间在所述起始回放视频分段之后的其他视频分段,其中,所述视频分段为:在直播过程中,存储的所述直播视频的切片数据;
视频分段播放模块,用于从所述起始回放视频分段的所述起始回放时间开始,按照播放时间顺序,依次播放所获得的视频分段;
其中,所述存储模块包括:
分块存储子模块,用于以分块存储的方式在所述客户端本地中存储所述直播视频的视频分段,其中,每一存储块对应存储一视频分段,且根据所述存储块中所有子存储块中的存储数据得以生成该存储块对应的视频分段;
标识子模块,用于标识所述存储块中,包含有目标数据的子存储块,其中,所述目标数据的播放时间包含所述视频分段的起始播放时间;
所述起始播放时间和存储地址得到模块包括:
地址存储子模块,用于在平衡二叉树的节点中,存储所述子存储块的物理地址和逻辑地址,其中,所述节点与所述子存储块一一对应;所述子存储块的物理地址为所述子存储块的本地存储地址,所述子存储块的逻辑地址为所述子存储块中的存储数据在视频分段中的相对位置。
5.如权利要求4所述的装置,其特征在于,所述起始回放视频分段确定模块,包括:
第一起始回放视频分段获得子模块,用于根据所保存的视频分段的起始播放时间,确定播放时间包括所述起始回放时间的起始回放视频分段;
所述第一视频分段获得模块包括:
第二视频分段获得子模块,用于根据所确定的起始回放视频分段的本地存储地址,获得所述起始回放视频分段;
第三视频分段获得子模块,用于根据所保存的视频分段的起始播放时间,确定播放时间在所述起始回放视频分段之后的其他视频分段;
第四视频分段获得子模块,用于根据所确定的其他视频分段的本地存储地址,获得播放时间在所述起始回放视频分段之后的视频分段。
6.如权利要求5所述的装置,其特征在于,所述第二视频分段获得子模块包括:
标识确定单元,用于确定存储有所述起始回放视频分段的存储块;
节点确定单元,用于确定所确定的存储块中被标识的子存储块,以及,从所述平衡二叉树中获取所确定的存储块中所有子存储块的物理地址和逻辑地址;
地址获得单元,用于根据所获取的物理地址,从本地获取所述子存储块中的存储数据;
视频分段获得单元,用于根据所述子存储块的逻辑地址,对所获取的子存储块中的存储数据进行排序,得到所述起始回放视频分段。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法步骤。
CN201910394970.7A 2019-05-13 2019-05-13 一种回放直播视频的方法及装置 Active CN110113626B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910394970.7A CN110113626B (zh) 2019-05-13 2019-05-13 一种回放直播视频的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910394970.7A CN110113626B (zh) 2019-05-13 2019-05-13 一种回放直播视频的方法及装置

Publications (2)

Publication Number Publication Date
CN110113626A CN110113626A (zh) 2019-08-09
CN110113626B true CN110113626B (zh) 2021-05-07

Family

ID=67489786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910394970.7A Active CN110113626B (zh) 2019-05-13 2019-05-13 一种回放直播视频的方法及装置

Country Status (1)

Country Link
CN (1) CN110113626B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110769314B (zh) * 2019-11-20 2022-05-13 三星电子(中国)研发中心 一种视频播放方法、装置和计算机可读存储介质
CN112437270B (zh) * 2020-11-13 2021-09-28 珠海大横琴科技发展有限公司 一种监控视频播放方法、装置和可读存储介质
CN112788353B (zh) * 2020-12-28 2022-06-14 未来电视有限公司 直播时移处理方法、装置、电子设备和可读存储介质
CN113347471B (zh) * 2021-06-01 2023-05-02 咪咕文化科技有限公司 视频播放方法、装置、设备及存储介质
CN113873288A (zh) * 2021-12-02 2021-12-31 北京微吼时代科技有限公司 在直播过程中生成回放的方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103347220A (zh) * 2013-06-18 2013-10-09 天脉聚源(北京)传媒科技有限公司 一种回看直播文件的方法及装置
CN105915985A (zh) * 2015-12-15 2016-08-31 乐视致新电子科技(天津)有限公司 一种直播中进行回看的方法及装置
CN106385619A (zh) * 2016-09-14 2017-02-08 乐视控股(北京)有限公司 一种直播视频流的回看方法及装置
WO2017035425A1 (en) * 2015-08-27 2017-03-02 Kiswe Mobile Inc. Live event viewing via mixed live and on-demand streaming
WO2017210027A1 (en) * 2016-06-01 2017-12-07 Amazon Technologies, Inc. Catching up to the live playhead in live streaming
CN108632675A (zh) * 2018-04-09 2018-10-09 北京潘达互娱科技有限公司 一种直播回放方法、装置及设备
CN109168020A (zh) * 2018-10-22 2019-01-08 广州虎牙科技有限公司 基于直播的视频处理方法、装置、计算设备和存储介质
CN109729371A (zh) * 2018-12-21 2019-05-07 中电福富信息科技有限公司 一种基于hls协议多级管理的直播时移系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103347220A (zh) * 2013-06-18 2013-10-09 天脉聚源(北京)传媒科技有限公司 一种回看直播文件的方法及装置
WO2017035425A1 (en) * 2015-08-27 2017-03-02 Kiswe Mobile Inc. Live event viewing via mixed live and on-demand streaming
CN105915985A (zh) * 2015-12-15 2016-08-31 乐视致新电子科技(天津)有限公司 一种直播中进行回看的方法及装置
WO2017210027A1 (en) * 2016-06-01 2017-12-07 Amazon Technologies, Inc. Catching up to the live playhead in live streaming
CN106385619A (zh) * 2016-09-14 2017-02-08 乐视控股(北京)有限公司 一种直播视频流的回看方法及装置
CN108632675A (zh) * 2018-04-09 2018-10-09 北京潘达互娱科技有限公司 一种直播回放方法、装置及设备
CN109168020A (zh) * 2018-10-22 2019-01-08 广州虎牙科技有限公司 基于直播的视频处理方法、装置、计算设备和存储介质
CN109729371A (zh) * 2018-12-21 2019-05-07 中电福富信息科技有限公司 一种基于hls协议多级管理的直播时移系统及方法

Also Published As

Publication number Publication date
CN110113626A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
CN110113626B (zh) 一种回放直播视频的方法及装置
CN108062409B (zh) 直播视频摘要的生成方法、装置及电子设备
US9948965B2 (en) Manifest re-assembler for a streaming video channel
US8713618B1 (en) Segmenting video based on timestamps in comments
CN108235141B (zh) 直播视频转碎片化点播的方法、装置、服务器和存储介质
CN109474854B (zh) 视频播放方法、播放列表的生成方法及相关设备
US20140244607A1 (en) System and Method for Real-Time Media Presentation Using Metadata Clips
WO2017080428A1 (zh) 流媒体频道录制、回看方法、装置、服务器及存储介质
CN111447505A (zh) 视频剪辑方法、网络设备及计算机可读存储介质
CN113329267B (zh) 一种视频播放方法、装置、终端设备及存储介质
US20170105036A1 (en) Method and system for segment based recording
BR112014001749B1 (pt) Método e sistema de download offline
WO2007130472A2 (en) Methods and systems for providing media assets over a network
CN111767430B (zh) 视频资源推送方法、视频资源推送装置及存储介质
CN108924606B (zh) 流媒体处理方法、装置、存储介质和电子装置
CN111512635A (zh) 用于选择性跳过媒体内容的方法和系统
CN108924630B (zh) 一种显示缓存进度的方法和播放设备
US10284894B2 (en) Methods and apparatus for naming video content chunks
CN104853251A (zh) 一种多媒体数据的在线收藏方法和装置
WO2016107197A1 (zh) 一种网络节目的录制方法、装置、系统以及录制节目的播放方法、装置
CN114095755A (zh) 一种视频处理方法、装置、系统、电子设备及存储介质
CN112929677B (zh) 直播视频的回看方法、装置和服务器
CN106156024B (zh) 一种信息处理方法及服务器
CN113411364B (zh) 资源获取方法、装置及服务器
CN114357244A (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