首页 / 专利库 / 多媒体工具与应用 / 流式视频 / 一种直播视频流的回看方法及装置

一种直播视频流的回看方法及装置

阅读:240发布:2024-02-27

专利汇可以提供一种直播视频流的回看方法及装置专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种直播 视频流 的回看方法及装置,包括:将在直播过程中接收到的视频 服务器 发送的视频流文件保存到预设的缓存区域中;当接收到记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中;当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。本申请实施例通过将视频流文件保存到预设的存储区域,并从存储区域中读取视频流文件进行回看,使得用户在观看流媒体视频直播的过程中,能够及时、自由、多次地记录并回看自己想记录的精彩镜头,增强了流媒体直播方式的 自由度 ,进一步提升用户体验。,下面是一种直播视频流的回看方法及装置专利的具体信息内容。

1.一种直播视频流的回看方法,其特征在于,包括:
将在直播过程中接收到视频服务器发送的视频流文件保存到预设的缓存区域中;
当接收到记录指令时,将保存在所述缓存区域中的所述视频流文件保存到预设的存储区域中;
当接收到用户发出的回看指令时,从所述存储区域中读取所述视频流文件进行回放。
2.根据权利要求1所述的方法,其特征在于,所述存储区域包括以下中的至少一种:设置在用于播放所述直播视频流的本地播放设备中的存储区域、设置在服务器上的存储区域、或者设置在独立于所述本地播放设备的外部设备上的存储区域。
3.根据权利要求2所述的方法,其特征在于,
当所述存储区域为设置在用于播放所述直播视频流的本地播放设备中的存储区域时,所述接收到用户发出的回看指令时,从所述存储区域中读取所述视频流文件进行回放的步骤具体包括:当接收到用户通过所述本地播放设备提供的第一回看入口发出的回看指令时,从所述存储区域中读取所述视频流文件并通过所述本地播放设备进行回放;
当所述存储区域为设置在云服务器上的存储区域时,所述接收到用户发出的回看指令时,从所述存储区域中读取所述视频流文件进行回放的步骤具体包括:当接收到用户发出的包含验证信息的回看指令时,根据所述验证信息向所述云服务器发送回看请求,以供所述云服务器根据所述回看请求从所述存储区域中读取所述视频流文件并进行回放;
当所述存储区域为设置在独立于所述本地播放设备的外部设备上的存储区域时,所述接收到用户发出的回看指令时,从所述存储区域中读取所述视频流文件进行回放的步骤具体包括:当接收到用户通过所述外部设备提供的第二回看入口发出的回看指令时,从所述存储区域中读取所述视频流文件并通过所述外部设备进行回放。
4.根据权利要求1所述的方法,其特征在于,所述将接收到的所述视频流文件保存到预设的缓存区域中的步骤具体包括:当所述缓存区域中的存储空间不足时,将所述缓存区域中已保存的视频流文件删除,并将接收到的所述视频流文件写入所述缓存区域。
5.根据权利要求1所述的方法,其特征在于,所述从所述存储区域中读取所述视频流文件进行回放的步骤具体包括:在悬浮于视频直播窗口之上的画中画浮窗内回放所述视频流文件。
6.一种直播视频流的回看装置,其特征在于,包括:
视频缓存模,用于将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中;
视频存储模块,用于当接收到记录指令时,将保存在所述缓存区域中的所述视频流文件保存到预设的存储区域中;
视频回看模块,用于当接收到用户发出的回看指令时,从所述存储区域中读取所述视频流文件进行回放。
7.根据权利要求6所述的装置,其特征在于,所述存储区域包括以下中的至少一种:设置在用于播放所述直播视频流的本地播放设备中的存储区域、设置在云服务器上的存储区域、或者设置在独立于所述本地播放设备的外部设备上的存储区域;其中,所述本地播放设备包括所述回看装置。
8.根据权利要求7所述的装置,其特征在于,
当所述存储区域为设置在用于播放所述直播视频流的本地播放设备中的存储区域时,所述视频回看模块具体用于:当接收到用户通过所述本地播放设备提供的第一回看入口发出的回看指令时,从所述存储区域中读取所述视频流文件并进行回放;
当所述存储区域为设置在云服务器上的存储区域时,所述视频回看模块具体用于:当接收到用户发出的包含验证信息的回看指令时,根据所述验证信息向所述云服务器发送回看请求,以供所述云服务器根据所述回看请求从所述存储区域中读取所述视频流文件并提供给所述视频回看模块进行回放。
9.根据权利要求6所述的装置,其特征在于,所述视频缓存模块进一步用于当所述缓存区域中的存储空间不足时,将所述缓存区域中已保存的视频流文件删除,并将接收到的所述视频流文件写入所述缓存区域。
10.根据权利要求6所述的装置,其特征在于,进一步包括:画中画播放模块,用于在悬浮于视频直播窗口之上的画中画浮窗内回放所述视频流文件。

说明书全文

一种直播视频流的回看方法及装置

技术领域

[0001] 本申请涉及互联网视频播放技术领域,尤其涉及一种直播视频流的回看方法及装置。

背景技术

[0002] 如今,流媒体直播越来越流行,很多知名的国内外网络视频提供商都在使用流媒体直播协议进行体育比赛、演唱会、大型活动或企业会议的直播。用户在观看流媒体直播(例如HLS协议直播)的视频时(例如使用优酷、爱奇艺、乐视等视频APP),遇到精彩镜头,如演唱会明星的高潮表演、球类比赛中的进球瞬间、比赛中的争议判罚或用户喜欢的任何镜头,我们没有办法及时的、自由的、多次的回看这些镜头,只能被动的等待转播方的精彩回放或等待整个节目结束,然后找到完整的点播片源,进行拖拽观看。
[0003] 在实现本申请实施例过程中,发明人发现现有技术中至少存在如下问题:在现在的流媒体直播过程中,当遇到精彩镜头时,用户只能被动地等待转播方编辑好慢动作后进行回放,或者,等待整个节目结束后,由转播方、视频网站编辑好精彩镜头,再推送给用户。这样的回看方式自由度低、实时性差,最关键的是,不能让用户记录自己想记录的精彩镜头。

发明内容

[0004] 鉴于上述问题,提出了本申请实施例以便提供一种直播视频流的回看方法及装置。
[0005] 依据本申请实施例的一个方面,提供了一种直播视频流的回看方法,包括:将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中;当接收到记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中;当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。
[0006] 可选的,存储区域包括以下中的至少一种:设置在用于播放直播视频流的本地播放设备中的存储区域、设置在服务器上的存储区域、或者设置在独立于本地播放设备的外部设备上的存储区域。
[0007] 可选的,当存储区域为设置在用于播放直播视频流的本地播放设备中的存储区域时,接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放的步骤具体包括:当接收到用户通过本地播放设备提供的第一回看入口发出的回看指令时,从存储区域中读取视频流文件并通过本地播放设备进行回放;
[0008] 当存储区域为设置在云服务器上的存储区域时,接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放的步骤具体包括:当接收到用户发出的包含验证信息的回看指令时,根据验证信息向云服务器发送回看请求,以供云服务器根据回看请求从存储区域中读取视频流文件并进行回放;
[0009] 当存储区域为设置在独立于本地播放设备的外部设备上的存储区域时,接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放的步骤具体包括:当接收到用户通过外部设备提供的第二回看入口发出的回看指令时,从存储区域中读取视频流文件并通过外部设备进行回放。
[0010] 可选的,将新接收到的视频流文件保存到预设的缓存区域中的步骤具体包括:当缓存区域中的存储空间不足时,将缓存区域中已保存的视频流文件删除,并将接收到的视频流文件写入缓存区域。
[0011] 可选的,从存储区域中读取视频流文件进行回放的步骤具体包括:在悬浮于视频直播窗口之上的画中画浮窗内回放视频流文件。
[0012] 依据本申请实施例的另一个方面,提供了一种直播视频流的回看装置,包括:视频缓存模,用于将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中;视频存储模块,用于当接收到记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中;视频回看模块,用于当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。
[0013] 可选的,存储区域为设置在用于播放直播视频流的本地播放设备中的存储区域、设置在云服务器上的存储区域、或者设置在独立于本地播放设备的外部设备上的存储区域;其中,上述本地播放设备包括本申请的回看装置。
[0014] 可选的,当存储区域为设置在用于播放直播视频流的本地播放设备中的存储区域时,视频回看模块具体用于:当接收到用户通过本地播放设备提供的第一回看入口发出的回看指令时,从存储区域中读取视频流文件并进行回放;
[0015] 当存储区域为设置在云服务器上的存储区域时,视频回看模块具体用于:当接收到用户发出的包含验证信息的回看指令时,根据验证信息向云服务器发送回看请求,以供云服务器根据回看请求从存储区域中读取视频流文件并提供给视频回看模块进行回放。
[0016] 可选的,视频缓存模块进一步用于当缓存区域中的存储空间不足时,将缓存区域中已保存的视频流文件删除,并将接收到的视频流文件写入缓存区域。
[0017] 可选的,该装置进一步包括:画中画播放模块,用于在悬浮于视频直播窗口之上的画中画浮窗内回放视频流文件。
[0018] 本申请实施例提供的一种直播视频流的回看方法及装置中,将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中;当接收到记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中;当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。由此可见,本申请实施例通过在客户端一侧将视频流文件保存到预设的存储区域,并从存储区域中读取视频流文件进行回看,使得用户在观看流媒体视频直播的过程中,能够及时、自由、多次地记录并回看自己想记录的精彩镜头,增强了流媒体直播方式的自由度,进一步提升用户体验。
[0019] 上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明
[0020] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0021] 图1是本申请实施例一提供的直播视频流的回看方法的流程图
[0022] 图2是本申请实施例二提供的直播视频流的回看方法的流程图;
[0023] 图3是本申请实施例三提供的直播视频流的回看装置的结构图;
[0024] 图4是本申请实施例四提供的直播视频流的回看装置的结构图;
[0025] 图5是本申请实施例六提供的直播视频流的回看方法的电子设备的硬件结构示意图。

具体实施方式

[0026] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027] 实施例一
[0028] 图1是本申请实施例一提供的一种直播视频流的回看方法的流程图。如图1所示,该方法包括:
[0029] 步骤S110:将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中。
[0030] 在常规的流媒体直播中,当播放器接收到视频服务器发送的视频流文件时,会将该视频流文件进行解复用,即将音频、视频数据从该视频流文件中分析并取出,然后送给解码器进行解码,最后送给屏幕端进行显示。本实施例则在正常播放流程之外增加了一个对视频流文件进行缓存的操作,该操作可以是在上述解复用以及解码显示操作之前完成,也可以与上述解复用以及解码显示操作同步进行,还可以是在上述解复用以及解码显示操作之后进行。其中,当上述的对视频流文件进行缓存的操作与上述解复用以及解码显示操作同步进行时,可以预先开辟两个并行运行的线程,分别执行上述的缓存操作以及解复用及解码显示操作,通过多线程并行运行的方式能够显著提升处理效率。
[0031] 步骤S120:当接收到记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中。
[0032] 其中,预设的存储区域包括以下中的至少一种:设置在用于播放直播视频流的本地播放设备中的存储区域、设置在云服务器上的存储区域、或者设置在独立于本地播放设备的外部设备上的存储区域。其中,设置在本地播放设备中的存储区域可以是该播放设备的内置硬件设备,该硬件设备不具有播放视频流文件的功能,仅作为本地播放设备的存储介质使用,例如硬盘或SD存储卡;设置在云服务器上的存储区域可以是网络视频提供商或者第三方服务商提供的云端存储空间,用户通过账户和密码登录云端存储空间,读取视频流文件,再通过本地播放设备进行回放;设置在独立于本地播放设备的外部设备上的存储区域可以是具有播放视频流文件的功能的外部设备(例如MP4等)上的存储区域,用户可以在不借助本地播放设备的情况下,直接通过该外部设备回看视频流文件。对此,本发明不作具体限定,只要能达到存储缓存区域中视频流文件的目的即可。用户可以在任何需要记录精彩镜头的时刻,发出记录指令,自由地保存精彩视频片段
[0033] 步骤S130:当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。
[0034] 在具体实现中,当用户需要进行回看时,就可以从存储区域中读取用户想要回看的片段对应的视频流文件,进行解码显示,因此,用户可以根据个人爱好,自由地回看自己记录下的精彩视频片段,无需等到转播方的回放。
[0035] 由此可见,在本申请实施例中,用于直播视频流的回看方法通过将视频流文件保存到预设的存储区域,并从存储区域中读取视频流文件进行回看,使得用户在观看流媒体视频直播的过程中,能够及时、自由、多次地记录并回看自己想记录的精彩镜头,增强了流媒体直播方式的自由度,进一步提升了用户体验。
[0036] 实施例二
[0037] 图2是本申请实施例二提供的一种直播视频流的回看方法的流程图。如图2所示,该方法包括:
[0038] 步骤S210:将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中。其中,当缓存区域中的存储空间不足时,将缓存区域中已保存的视频流文件删除,并将新接收到的视频流文件写入缓存区域。
[0039] 在常规的流媒体直播中,当播放器接收到视频服务器发送的视频流文件时,会将该视频流文件进行解复用,即将音频、视频数据从该视频流文件中分析并取出,然后送给解码器进行解码,最后送给屏幕端进行显示。本实施例则在正常播放流程之外增加了一个对视频流文件进行缓存的操作,该操作可以是在上述解复用以及解码显示操作之前完成,也可以与上述解复用以及解码显示操作同步进行,还可以是在上述解复用以及解码显示操作之后进行。其中,当上述的对视频流文件进行缓存的操作与上述解复用以及解码显示操作同步进行时,可以预先开辟两个并行运行的线程,分别执行上述的缓存操作以及解复用及解码显示操作,通过多线程并行运行的方式能够显著提升处理效率。
[0040] 优选的,直播视频流对应的直播协议可以是HLS协议,则该协议对应的视频流文件为MPEG2-TS分片文件。HLS协议是由美国Apple公司发明并推广的流媒体直播/点播协议,该协议每次传输的音视频数据是一个MPEG2-TS分片文件,该分片文件的播放时长一般大概在5秒到15秒之间(具体时长由各个视频提供商定义,Apple公司并没有明确要求)。在直播过程中,一个一个的该种MPEG2-TS分片文件不断地由服务器传输给播放器(例如电视、手机等),然后由播放器进行解复用以及解码播放。
[0041] 在具体实现中,缓存区域的大小是一定的,并且可以分为多个子区域,且每个子区域仅缓存一个视频流文件。关于缓存子区域的具体个数,本申请实施例不作具体限定,本领域技术人员可以根据实际情况设定缓存子区域的个数。
[0042] 上述的缓存步骤,实际上就是将一个一个的该种视频流文件不断地存入预设的缓存区域中。当缓存区域的存储空间不够时,将最早保存的视频流文件删除,再将新接收到的视频流文件存入缓存区域。为方便理解,下面以C语言为例,具体阐述实现该步骤时的操作:首先用malloc函数开辟缓存区域,例如当需要保存3个视频流文件时,进行3次malloc函数的调用,开辟出3个缓存子区域A、B、C,将接收到的3个视频流文件按时间顺序依次存入3个缓存子区域A、B、C中。当需要继续接收新的视频流文件时,则调用free函数释放掉存储最早接收到视频流文件的缓存子区域A,再调用malloc函数开辟一个新的缓存子区域D用来存放新接收到的视频流文件。
[0043] 步骤S220:当接收到用户发出的记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中。
[0044] 在具体实现中,直播应用需要提供给用户一个记录按钮,当用户看到精彩镜头时,例如足球比赛中的一次漂亮的进攻或进球,点击该记录按钮,发出记录指令,播放器就将缓存区域中的视频流文件写入到预设的存储区域中,这样就保存了当前播放镜头之前的若干时长的视频流文件,记录了用户想记录的精彩镜头。
[0045] 其中,预设的存储区域包括以下中的至少一种:设置在用于播放直播视频流的本地播放设备中的存储区域、设置在云服务器上的存储区域、或者设置在独立于本地播放设备的外部设备上的存储区域。其中,设置在本地播放设备中的存储区域可以是该播放设备的内置硬件设备,该硬件设备不具有播放视频流文件的功能,仅作为本地播放设备的存储介质使用,例如硬盘或SD存储卡;设置在云服务器上的存储区域可以是网络视频提供商或者第三方服务商提供的云端存储空间,用户通过账户和密码登录云端存储空间,读取视频流文件,再通过本地播放设备进行回放;设置在独立于本地播放设备的外部设备上的存储区域可以是具有播放视频流文件的功能的外部设备(例如MP4等)上的存储区域,用户可以在不借助本地播放设备的情况下,直接通过该外部设备回看视频流文件。对此,本发明不作具体限定,只要能达到存储缓存区域中视频流文件的目的即可。用户可以在任何需要记录精彩镜头的时刻,发出记录指令,自由地保存精彩视频片段。
[0046] 关于精彩镜头时长的确定可以有多种形式:可以是当用户按下记录按钮,发出记录指令,开始向存储区域中保存精彩镜头对应的视频流文件,当用户松开记录按钮时,发出停止指令,停止存储视频流文件;也可以是当用户第一次按下记录按钮时,发出记录指令,开始向存储区域中保存精彩镜头对应的视频流文件,当用户第二次按下记录按钮时,发出停止指令,停止存储视频流文件;还可以是当用户按下记录按钮,发出记录指令,开始保存精彩镜头对应的视频流文件,当经过预设的固定时长时,自动停止继续存储视频流文件。其中,关于预设的固定时长,可以由用户自行输入,也可以由用户从应用提供的备选项中选择,还可以是系统预设无需用户选择,具体时长和具体实现方式本申请实施例不作具体限定。
[0047] 步骤S230:当接收到用户发出的回看指令时,从存储区域中读取视频流文件,在悬浮于视频直播窗口之上的画中画浮窗内回看视频流文件。
[0048] 具体实现时,本步骤可以有多种实现方式,具体取决于上一步骤中的存储区域的设置方式。例如,当存储区域为设置在用于播放直播视频流的本地播放设备中的存储区域时,接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放的步骤具体包括:当接收到用户通过本地播放设备提供的第一回看入口发出的回看指令时,从存储区域中读取视频流文件并通过本地播放设备进行回放;其中,第一回看入口可以是由本地播放设备提供的一个回看按钮,也可以是其他类型的交互方式,本领域技术人员可以根据实际情况进行设置,本申请不作具体限定。
[0049] 又如,当存储区域为设置在云服务器上的存储区域时,接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放的步骤具体包括:当接收到用户发出的包含验证信息的回看指令时,根据验证信息向云服务器发送回看请求,以供云服务器根据回看请求从存储区域中读取视频流文件并进行回放。其中,验证信息包括各种用于验证用户身份的信息,例如,可以是步骤S220中提到的用于登录云端存储空间的账户和密码。另外,在该种实现方式中,发送回看指令的终端设备既可以是用于播放直播视频流的本地播放设备,也可以是其他的播放设备,本发明对此不做限定。
[0050] 再如,当存储区域为设置在独立于本地播放设备的外部设备上的存储区域时,接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放的步骤具体包括:当接收到用户通过外部设备提供的第二回看入口发出的回看指令时,从存储区域中读取视频流文件并通过外部设备进行回放。其中,第二回看入口可以是由该外部设备提供的一个回看按钮,也可以是其他类型的交互方式,本领域技术人员可以根据实际情况进行设置,本申请不作具体限定。
[0051] 具体地,在本实施例中,当用户想回看自己记录的精彩镜头时,通过应用提供的交互方式,主动发出回看指令,应用就可以从存储区域中读取之前保存的与精彩镜头相对应的视频流文件进行播放了。当存储区域为上述的本地播放设备内置的硬件设备或设置在云端的存储空间时,为了方便用户在直播的同时回看精彩镜头,可以在悬浮于视频直播窗口之上的画中画浮窗中回放视频流文件。所谓画中画浮窗,是指悬浮于视频直播窗口之上的小窗口,该小窗口可以位于视频直播窗口的预设位置处,例如右上方等。并且,为了不影响用户正常观看直播视频,该画中画浮窗还能够响应于用户发出的拖拽操作而改变其在视频直播窗口上的位置,例如从右上方移动至左下方。
[0052] 当存储区域是独立于本地播放设备的其他外部设备时,用户可以直接通过该外部设备提供的交互方式打开视频流文件,进行回看。此时,用户可以利用两台或以上设备互不干扰地同时观看直播和自己记录的精彩镜头。
[0053] 由此可见,在本申请实施例中,用于直播视频流的回看方法通过将视频流文件保存到预设的存储区域,并从存储区域中读取视频流文件进行回看,使得用户在观看流媒体视频直播的过程中,能够及时、自由、多次地记录并回看自己想记录的精彩镜头,增强了流媒体直播方式的自由度,进一步提升用户体验。
[0054] 实施例三
[0055] 图3是本申请实施例三提供的一种直播视频流的回看装置的结构图。如图3所示,该装置包括:视频缓存模块31、视频存储模块32和视频回看模块33。
[0056] 下面详细介绍图3所示的实施例中的各个部分的具体结构和工作原理:
[0057] 视频缓存模块31用于将在直播过程中接收到的视频服务器发送的视频流文件保存到预设的缓存区域中。
[0058] 在常规的流媒体直播中,当播放器接收到视频服务器发送的视频流文件时,会将该视频流文件进行解复用,即将音频、视频数据从该视频流文件中分析并取出,然后送给解码器进行解码,最后送给屏幕端进行显示。本实施例所述的装置则是在正常播放流程之外增加了一个对视频流文件进行缓存的操作,该操作可以是在上述解复用以及解码显示操作之前完成,也可以与上述解复用以及解码显示操作同步进行,还可以是在上述解复用以及解码显示操作之后进行。其中,当上述的对视频流文件进行缓存的操作与上述解复用以及解码显示操作同步进行时,可以预先开辟两个并行运行的线程,分别执行上述的缓存操作以及解复用及解码显示操作,通过多线程并行运行的方式能够显著提升处理效率。
[0059] 视频存储模块32用于当接收到记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中。
[0060] 其中,预设的存储区域包括以下中的至少一种:设置在用于播放直播视频流的本地播放设备中的存储区域、设置在云服务器上的存储区域、或者设置在独立于本地播放设备的外部设备上的存储区域。其中,本地播放设备包括回看装置,设置在本地播放设备中的存储区域可以是本地播放设备内置的硬件设备,该硬件设备不具有播放视频流文件的功能,仅作为本地播放设备的存储介质使用,例如硬盘或SD存储卡;设置在云服务器上的存储区域可以是网络视频提供商或者第三方服务商提供的云端存储空间,用户通过账户和密码登录云端存储空间,读取视频流文件,再通过本地播放设备进行回放;设置在独立于本地播放设备的外部设备上的存储区域可以是具有播放视频流文件的功能的外部设备(例如MP4等)上的存储区域,用户可以在不借助本地播放设备的情况下,直接通过该外部设备回看视频流文件。对此,本发明不作具体限定,只要能达到存储缓存区域中视频流文件的目的即可。用户可以在任何需要记录精彩镜头的时刻,发出记录指令,自由地保存精彩视频片段。
[0061] 视频回看模块33用于当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。在具体实现中,当用户需要进行回看时,就可以从存储区域中读取用户想要回看的片段对应的视频流文件,进行解码显示,因此,用户可以根据个人爱好,自由的回看自己记录下的精彩视频片段,无需等到转播方的回放。
[0062] 由此可见,在本申请实施例中,用于直播视频流的回看装置通过将视频流文件保存到预设的存储区域,并从存储区域中读取视频流文件进行回看,使得用户在观看流媒体视频直播的过程中,能够及时、自由、多次地记录并回看自己想记录的精彩镜头,增强了流媒体直播方式的自由度,进一步提升用户体验。
[0063] 实施例四
[0064] 图4是本申请实施例四提供的一种直播视频流的回看装置的结构图。如图4所示,该装置包括:视频缓存模块41、视频存储模块42、视频回看模块43和画中画播放模块44。
[0065] 下面详细介绍图4所示的实施例中的各个部分的具体结构和工作原理:
[0066] 视频缓存模块41用于将在直播过程中接收到视频服务器发送的视频流文件保存到预设的缓存区域中。
[0067] 在常规的流媒体直播中,当播放器接收到视频服务器发送的视频流文件时,会将该视频流文件进行解复用,即将音频、视频数据从该视频流文件中分析并取出,然后送给解码器进行解码,最后送给屏幕端进行显示。本实施例则所述的装置则在正常播放流程之外增加了一个对视频流文件进行缓存的操作,该操作可以是在上述解复用以及解码显示操作之前完成,也可以与上述解复用以及解码显示操作同步进行,还可以是在上述解复用以及解码显示操作之后进行。其中,当上述的对视频流文件进行缓存的操作与上述解复用以及解码显示操作同步进行时,可以预先开辟两个并行运行的线程,分别执行上述的缓存操作以及解复用及解码显示操作,通过多线程并行运行的方式能够显著提升处理效率。
[0068] 优选的,直播视频流对应的直播协议可以是HLS协议,则该协议对应的视频流文件为MPEG2-TS分片文件。HLS协议是由美国Apple公司发明并推广的流媒体直播/点播协议,该协议每次传输的音视频数据是一个MPEG2-TS分片文件,该分片文件的播放时长一般大概在5秒到15秒之间(具体时长由各个视频提供商定义,Apple公司并没有明确要求)。在直播过程中,一个一个的该种MPEG2-TS分片文件不断地由服务器传输给播放器(例如电视、手机等),然后由播放器进行解复用以及解码播放。
[0069] 在具体实现中,缓存区域的大小是一定的,并且可以分为多个子区域,且每个子区域仅缓存一个视频流文件。关于缓存子区域的具体个数,本申请实施例不作具体限定,本领域技术人员可以根据实际情况设定缓存子区域的个数。
[0070] 该模块进一步用于当缓存区域中的存储空间不足时,将缓存区域中已保存的视频流文件删除,并将新接收到的视频流文件写入缓存区域。
[0071] 视频缓存模块41进行的缓存操作,实际上就是将一个一个的视频流文件不断地存入预设的缓存区域中。当缓存区域的存储空间不够时,将最早保存的视频流文件删除,再将新接收到的视频流文件存入缓存区域。为方便理解,下面以C语言为例,具体阐述该模块所进行的操作:首先用malloc函数开辟缓存区域,例如当需要保存3个视频流文件时,进行3次malloc函数的调用,开辟出3个缓存子区域A、B、C,将接收到的3个视频流文件按时间顺序依次存入3个缓存子区域A、B、C中。当需要继续接收新的视频流文件时,则调用free函数释放掉存储最早接收到视频流文件的缓存子区域A,再调用malloc函数开辟一个新的缓存子区域D用来存放新接收到的视频流文件。
[0072] 视频存储模块42用于当接收到用户发出的记录指令时,将保存在缓存区域中的视频流文件保存到预设的存储区域中。
[0073] 在具体实现中,视频存储模块42需要提供给用户一个记录按钮,当用户看到精彩镜头时,例如足球比赛中的一次漂亮的进攻或进球,点击该记录按钮,发出记录指令,视频存储模块42就将缓存区域中的视频流文件写入到预设的存储区域中,这样就保存了当前播放镜头之前的若干时长的视频流文件,记录了用户想记录的精彩镜头。
[0074] 其中,预设的存储区域包括以下中的至少一种:设置在用于播放直播视频流的本地播放设备中的存储区域、设置在云服务器上的存储区域、或者设置在独立于本地播放设备的外部设备上的存储区域。其中,设置在本地播放设备中的存储区域可以是该播放设备的内置硬件设备,该硬件设备不具有播放视频流文件的功能,仅作为本地播放设备的存储介质使用,例如硬盘或SD存储卡;设置在云服务器上的存储区域可以是网络视频提供商或者第三方服务商提供的云端存储空间,用户通过账户和密码登录云端存储空间,读取视频流文件,再通过本地播放设备进行回放;设置在独立于本地播放设备的外部设备上的存储区域可以是具有播放视频流文件的功能的外部设备(例如MP4等)上的存储区域,用户可以在不借助本地播放设备的情况下,直接通过该外部设备回看视频流文件。对此,本发明不作具体限定,只要能达到存储缓存区域中视频流文件的目的即可。用户可以在任何需要记录精彩镜头的时刻,发出记录指令,自由地保存精彩视频片段。
[0075] 关于精彩镜头时长的确定可以有多种形式:可以是当用户按下记录按钮,发出记录指令,视频存储模块42开始向存储区域中保存精彩镜头对应的视频流文件,当用户松开记录按钮时,发出停止指令,停止存储视频流文件;也可以是当用户第一次按下记录按钮时,发出记录指令,视频存储模块42开始向存储区域中保存精彩镜头对应的视频流文件,当用户第二次按下记录按钮时,发出停止指令,视频存储模块42停止存储视频流文件;还可以是当用户按下记录按钮,发出记录指令,视频存储模块42开始保存精彩镜头对应的视频流文件,当经过预设的固定时长时,视频存储模块42自动停止继续存储视频流文件。其中,关于预设的固定时长,可以由用户自行输入,也可以由用户从视频存储模块42提供的备选项中选择,还可以是视频存储模块42预设的,无需用户选择,具体时长和具体实现方式本申请实施例不作具体限定。
[0076] 视频回看模块43用于当接收到用户发出的回看指令时,从存储区域中读取视频流文件进行回放。
[0077] 其中,当存储区域为设置在用于播放直播视频流的本地播放设备中的存储区域时,视频回看模块43具体用于:当接收到用户通过本地播放设备提供的第一回看入口发出的回看指令时,从存储区域中读取视频流文件并进行回放;其中,第一回看入口可以是由本地播放设备提供的一个回看按钮,也可以是其他类型的交互方式,本领域技术人员可以根据实际情况进行设置,本申请不作具体限定。
[0078] 当存储区域为设置在云服务器上的存储区域时,视频回看模块43具体用于:当接收到用户发出的包含验证信息的回看指令时,根据验证信息向云服务器发送回看请求,以供云服务器根据回看请求从存储区域中读取视频流文件并提供给视频回看模块进行回放。
[0079] 当用户想回看自己记录的精彩镜头时,通过视频回看模块43提供的交互方式,主动发出回看指令,视频回看模块43就可以从存储区域中读取之前保存的与精彩镜头相对应的视频流文件进行解码播放。因此,用户可以根据个人爱好,自由地回看自己记录下的精彩视频片段,无需等到转播方的回放。当存储区域是独立于本地播放设备的其他外部设备时,用户还可以直接通过该外部设备提供的交互方式打开视频流文件,进行回看。此时,用户可以利用两台或以上设备互不干扰地同时观看直播和自己记录的精彩镜头。
[0080] 画中画播放模块44用于在悬浮于视频直播窗口之上的画中画浮窗内回放视频流文件。当存储区域为上述的本地播放设备中的存储区域或设置在云服务器上的存储区域时,为了方便用户在直播的同时回看精彩镜头,画中画播放模块44可以从存储区域中读取视频流文件,并在悬浮于视频直播窗口之上的画中画浮窗中进行解码播放。所谓画中画浮窗,是指悬浮于视频直播窗口之上的小窗口,该小窗口可以位于视频直播窗口的预设位置处,例如右上方等。并且,为了不影响用户正常观看直播视频,该画中画浮窗还能够响应于用户发出的拖拽操作而改变其在视频直播窗口上的位置,例如从右上方移动至左下方。因此,用户可以一边收看直播,一边回看自己记录的精彩片段,提升用户体验。
[0081] 由此可见,在本申请实施例中,用于直播视频流的回看装置通过将视频流文件保存到预设的存储区域,并从存储区域中读取视频流文件,在画中画浮窗中进行回看,使得用户在观看流媒体视频直播的同时,能够及时、自由、多次地记录并回看自己想记录的精彩镜头,增强了流媒体直播方式的自由度,进一步提升用户体验。
[0082] 实施例五
[0083] 本申请实施例五提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的直播视频流的回看方法。
[0084] 实施例六
[0085] 图5是本申请实施例六提供的执行直播视频流的回看方法的电子设备的硬件结构示意图,如图5所示,该设备包括:
[0086] 一个或多个处理器510以及存储器520,图5中以一个处理器510为例。
[0087] 执行直播视频流的回看方法的设备还可以包括:输入装置530和输出装置540。
[0088] 处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。
[0089] 存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的直播视频流的回看方法对应的程序指令/模块(例如,附图3所示的视频缓存模块31、视频存储模块32和视频回看模块33)。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例直播视频流的回看方法。
[0090] 存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据直播视频流的回看装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至直播视频流的回看装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0091] 输入装置530可接收输入的数字或字符信息,以及产生与直播视频流的回看装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
[0092] 所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行上述任意方法实施例中的直播视频流的回看方法。
[0093] 上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
[0094] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0095] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0096] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈