CN114401430A - 视频回放方法、装置、服务器、***及存储介质 - Google Patents

视频回放方法、装置、服务器、***及存储介质 Download PDF

Info

Publication number
CN114401430A
CN114401430A CN202210073990.6A CN202210073990A CN114401430A CN 114401430 A CN114401430 A CN 114401430A CN 202210073990 A CN202210073990 A CN 202210073990A CN 114401430 A CN114401430 A CN 114401430A
Authority
CN
China
Prior art keywords
address
video
cdn
target
client
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
CN202210073990.6A
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202210073990.6A priority Critical patent/CN114401430A/zh
Publication of CN114401430A publication Critical patent/CN114401430A/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • 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)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及视频技术领域,提供一种视频回放方法、装置、服务器、***及存储介质。通过服务器分别与CDN端和客户端通信连接,CDN端与客户端通信连接,服务器按照预设周期,根据CDN端存储的直播视频流中已播放的视频数据即历史视频数据,获取与历史视频数据中的视频片段对应的分片地址并存储到地址列表;在接收到客户端发送的回放请求,根据回放请求从地址列表中选取出目标分片地址;再根据目标分片地址,获得与目标分片地址对应的目标视频片段的播放地址;再将播放地址发送给客户端,以使客户端根据播放地址从CDN端获得目标视频片段并播放。通过从CDN端获取视频片段的地址以统一接口,实现直播视频的实时回放,优化了用户体验。

Description

视频回放方法、装置、服务器、***及存储介质
技术领域
本发明涉及视频技术领域,具体而言,涉及一种视频回放方法、装置、服务器、***及存储介质。
背景技术
随着直播平台层出不穷,视频直播给用户带来了实时的社交体验和多样的娱乐。例如用户可以通过直播平台观看感兴趣的游戏赛事,为了避免用户错过精彩瞬间,可以采用CDN端(Content Delivery Network,内容分发网络)录制直播视频以便于进行实时回放,由于CDN端的接口差异,使得服务器与CDN端的连接难度大、接口扩展性低。
发明内容
有鉴于此,本发明的目的在于提供一种视频回放方法、装置、服务器、***及存储介质。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种视频回放方法,应用于服务器,所述服务器与CDN端通信连接,所述服务器与客户端通信连接,所述CDN端与所述客户端通信连接;所述方法包括:
按照预设周期,根据所述CDN端存储的历史视频数据,获取分片地址并存储到地址列表;所述历史视频数据表示直播视频流中已播放的视频数据,所述分片地址与所述历史视频数据中的视频片段对应;
在接收到所述客户端发送的回放请求,根据所述回放请求从所述地址列表中选取出目标分片地址;
根据所述目标分片地址,获得与所述目标分片地址对应的目标视频片段的播放地址;
将所述播放地址发送给所述客户端,以使所述客户端根据所述播放地址从所述CDN端获得所述目标视频片段并播放。
在可选的实施方式中,所述分片地址包括对应的视频片段的起始时间戳和结束时间戳;所述根据所述回放请求从所述地址列表中选取出目标分片地址的步骤,包括:
获取所述回放请求中的时间偏移量,所述时间偏移量表征目标视频片段的起始帧与所述直播视频流的当前帧的时间差;
根据所述时间偏移量和当前时刻计算出所述起始帧对应的时刻;
根据所述起始帧对应的时刻,从所述地址列表中选取出所述目标分片地址;所述起始帧对应的时刻属于所述目标分片地址的起始时间戳和结束时间戳之间。
在可选的实施方式中,所述服务器预存有所述CDN端的源站地址及其对应的多个加速域名;所述根据所述目标分片地址,获得与所述目标分片地址对应的目标视频片段的播放地址的步骤,包括:
根据所述目标分片地址,获得所述CDN端的源站地址;
从所述CDN端的源站地址对应的多个加速域名中,选取出满足预设条件的目标加速域名;
根据所述目标加速域名,获得与所述目标分片地址对应的目标视频片段的播放地址。
在可选的实施方式中,所述历史视频数据是按照以下方式得到的:
将所述直播视频流推送给所述CDN端,以使所述CDN端将是否录制所述直播视频流的待确认请求发送给所述服务器;
在接收到所述待确认请求,生成确认录制消息并发送给所述CDN端;
在接收到所述CDN端发送的获取视频请求,对所述直播视频流进行转码,获得转码后的视频数据;
将所述转码后的视频数据推送给所述CDN端,以使所述CDN端对所述转码后的视频数据进行格式转换,得到所述历史视频数据。
在可选的实施方式中,所述在接收到所述待确认请求,生成确认录制消息并发送给CDN端的步骤,包括:
在接收到所述待确认请求,获取所述直播视频流的播放码率档位;
生成包括所述播放码率档位的确认录制消息并发送给所述CDN端。
在可选的实施方式中,所述在接收到所述CDN端发送的获取视频请求,对所述直播视频流进行转码,获得转码后的视频数据的步骤,包括:
在接收到所述CDN端发送的获取视频请求,获取目标链路;所述目标链路用于对所述客户端发送的观看请求中的所述直播视频流进行转码;
通过所述目标链路对所述直播视频流进行转码,获得转码后的视频数据。
第二方面,本发明提供一种视频回放装置,应用于服务器,所述服务器与CDN端通信连接,所述服务器与客户端通信连接,所述CDN端与所述客户端通信连接;所述装置包括:
存储模块,用于按照预设周期,根据所述CDN端存储的历史视频数据,获取分片地址并存储到地址列表;所述历史视频数据表示直播视频流中已播放的视频数据,所述分片地址与所述历史视频数据中的视频片段对应;
获取模块,用于在接收到所述客户端发送的回放请求,根据所述回放请求从所述地址列表中选取出目标分片地址;根据所述目标分片地址,获得与所述目标分片地址对应的目标视频片段的播放地址;
发送模块,用于将所述播放地址发送给所述客户端,以使所述客户端根据所述播放地址从所述CDN端获得所述目标视频片段并播放。
第三方面,本发明提供一种视频回放***,所述***包括服务器、CDN端和客户端,所述服务器与所述CDN端通信连接,所述服务器与所述客户端通信连接,所述CDN端与所述客户端通信连接;
所述服务器用于执行前述实施方式任意一项所述的视频回放方法;
所述CDN端用于存储历史视频数据,所述历史视频数据表示直播视频流中已播放的视频数据;
所述客户端用于向所述服务器发送回放请求,以及根据所述播放地址从所述CDN端获得目标视频片段并播放。
第四方面,本发明提供一种服务器,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的方法。
第五方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的方法。
本发明实施例提供的视频回放方法、装置、服务器、***及存储介质,通过服务器分别与CDN端和客户端通信连接,CDN端与客户端通信连接,服务器按照预设周期,根据CDN端存储的直播视频流中已播放的视频数据即历史视频数据,获取分片地址并存储到地址列表,分片地址与历史视频数据中的视频片段对应;然后在接收到客户端发送的回放请求,根据回放请求从地址列表中选取出目标分片地址;再根据目标分片地址,获得与目标分片地址对应的目标视频片段的播放地址;最后将播放地址发送给客户端,以使客户端根据播放地址从CDN端获得目标视频片段并播放。通过从各个CDN端获取视频片段的地址并存储实现统一接口,降低了连接难度,提高了扩展性。同时基于视频片段实现对直播视频的实时回放,提高了视频回放的便捷性,优化了用户体验。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的视频回放***示意图;
图2示出了本发明实施例提供的电子设备方框示意图;
图3示出了本发明实施例提供的视频回放方法的一种流程示意图;
图4示出了本发明实施例提供的视频回放方法的又一种流程示意图;
图5示出了本发明实施例提供的视频回放方法的又一种流程示意图;
图6示出了本发明实施例提供的视频回放方法的又一种流程示意图;
图7示出了本发明实施例提供的视频回放装置的一种功能模块图。
图标:100-服务器;102-CDN端;104-客户端;110-总线;120-处理器;130-存储器;170-通信接口;300-视频回放装置;310-存储模块;330-获取模块;350-发送模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着直播平台层出不穷,视频直播给用户带来了实时的社交体验和多样的娱乐。例如用户可以通过直播平台观看感兴趣的游戏赛事,为了避免用户错过精彩瞬间可以采用CDN端(Content Delivery Network,内容分发网络)录制直播视频以便于进行实时回放,由于CDN端的接口差异,使得服务器与CDN端的连接难度大、接口扩展性低。并且,目前的视频回放通常是将CDN端存储的全部视频数据发送给客户端,不便于用户回看视频,不能快速的感兴趣的视频片段。进而,本发明实施例提供了一种视频回放方法以解决上述问题。
请参照图1,是本发明实施例提供的一种视频回放***示意图。该***包括服务器100、CDN端102、客户端104,服务器100分别与CDN端102和客户端104通信连接,CDN端102与客户端104通信连接,CDN端102和客户端104均可以为多个。
服务器100可以是独立的服务器或者是多个服务器组成的服务器集群。
CDN端102是构建在现有网络基础之上的智能虚拟网络,其依靠部署在各地的边缘服务器,用于实现数据的存储和分发。不同的厂商提供的CDN端不同,其与服务器连接的接口也存在差异。
客户端104可以是智能手机、个人计算机、平板电脑、可穿戴设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,UMPC)、上网本、个人数字助理(personaldigitalassistant,PDA)等。本发明实施例对此不作任何限制。
服务器100可以为提供直播视频流的服务器,客户端104可以安装直播视频相关应用(Application,简称APP)。
请参照图2,是本发明实施例提供的一种电子设备的方框示意图。电子设备包括总线110、处理器120、存储器130、通信接口170。
总线110可以是将上述元件相互连接并在上述元件之间传递通信(例如控制消息)的电路。
处理器120可以通过总线110从上述其它元件(例如存储器130通信接口170等)接收命令,可以解释接收到的命令,并可以根据所解释的命令来执行计算或数据处理。
处理器120可以是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器130可以存储从处理器120或其它元件(例如通信接口170等)接收的命令或数据或者由处理器120或其它元件产生的命令或数据。
存储器130可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
通信接口170可用于与其他节点设备进行信令或数据的通信。
需要说明的是,图2所示的结构仅为电子设备的结构示意图,电子设备还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
可以理解的是,图2所示的电子设备,其结构可以用于实现上述图1中服务器100或客户端104;为了实现客户端104的相应功能,该电子设备还可以包括其他模块,例如:射频电路、I/O接口、电池、触控屏、麦克/扬声器等。此处不与限定。
下面将以上述的服务器100作为执行主体,执行本发明实施例提供的各个方法中的各个步骤,并实现对应技术效果。
请参阅图3,图3是本发明实施例提供的一种视频回放方法的流程示意图。
步骤S202,按照预设周期,根据CDN端存储的历史视频数据,获取分片地址并存储到地址列表;
其中,历史视频数据表示直播视频流中已播放的视频数据,分片地址与历史视频数据中的视频片段对应;
服务器将直播视频流推送给CDN端,CDN端可以进行视频实时录制即实时存储直播视频流中已播放的视频数据即历史视频数据。历史视频数据包括多个视频片段。
在本实施例中,在CDN端实时存储历史视频数据的过程中,服务器会按照预设周期定时从不同厂商提供的CDN端,获取其存储的新视频片段对应的地址即分片地址,并将分片地址缓存到地址列表中。地址列表可以理解为获取视频片段的索引文件。
例如,预设周期可以设置5秒,也可以按照实际应用设置,本发明实施例不作限定。地址列表可以采用m3u8文件,其是一种文本文件,可以记录视频片段的相关信息,如视频片段的顺序、时长、起始时间戳和结束时间戳。
可以理解的是,服务器通过从各个CDN端获取视频片段的地址并存储,统一获取视频地址的接口,可以与不同厂商提供的CDN端连接,实现接口适配,降低了连接难度,提高了扩展性。
步骤S204,在接收到客户端发送的回放请求,根据回放请求从地址列表中选取出目标分片地址;
在本实施例中,用户通过客户端观看直播视频过程中,若想回看之前的视频片段,可以在直播视频界面进行交互操作,触发客户端向服务器发送回放请求。
可选地,用户也可以在直播视频界面执行回放操作如点击回放按钮,进入到回放视频界面,在该回放视频界面进行交互操作,触发客户端向服务器发送回放请求。服务器接收到客户端发送的回放请求,会根据该回放请求中的回放信息如直播视频流的标识、目标视频片段的时间等,从地址列表如m3u8文件中选取目标分片地址。该目标分片地址与目标视频片段对应,该目标视频可以理解为用户想回看的待回放片段。
步骤S206,根据目标分片地址,获得与目标分片地址对应的目标视频片段的播放地址;
在本实施例中,获取到目标分片地址后,可以根据目标分片地址确定出存储有该目标分片地址对应的目标视频片段的CDN端,服务器中预先存储有每个CDN端的源站地址,可以根据存储有目标视频片段的CDN端的源站地址,获得目标视频片段的播放地址。
CDN端的源站地址是指CDN网络中核心服务器即源站的地址,CDN网络中的各个节点需要向源站获取文件以进行内容分发。
步骤S208,将播放地址发送给客户端,以使客户端根据播放地址从CDN端获得目标视频片段并播放。
在本实施例中,服务器将播放地址发送给客户端,客户端根据该播放地址可以从CDN端获得目标视频片段,然后播放该目标视频片段即进行视频回放。本实施例中的视频片段可以是TS(Transport Stream,传输流)格式的媒体文件,其特点是可以从视频流中的任一片段开始都是可以独立解码的。
可以理解的是,基于视频片段可以实现对正在直播的视频进行实时回放,以便于用户能够快速回看已播放过的视频片段,提高了视频回放的便捷性,优化了用户体验。
可见基于上述步骤,服务器分别与CDN端和客户端通信连接,CDN端与客户端通信连接,服务器按照预设周期,根据CDN端存储的直播视频流中已播放的视频数据即历史视频数据,获取分片地址并存储到地址列表,分片地址与历史视频数据中的视频片段对应;然后在接收到客户端发送的回放请求,根据回放请求从地址列表中选取出目标分片地址;再根据目标分片地址,获得与目标分片地址对应的目标视频片段的播放地址;最后将播放地址发送给客户端,以使客户端根据播放地址从CDN端获得目标视频片段并播放。通过从各个CDN端获取视频片段的地址并存储实现统一接口,降低了连接难度,提高了扩展性。同时基于视频片段实现对直播视频的实时回放,提高了视频回放的便捷性,优化了用户体验。
可选地,分片地址可以包括对应的视频片段的起始时间戳和结束时间戳,进而本发明实施例针对上述步骤S204提供了一种可能的实现方式。请参阅图4,其中步骤S204包括以下步骤:
步骤S204-1,获取回放请求中的时间偏移量;
其中,时间偏移量表征目标视频片段的起始帧与直播视频流的当前帧的时间差;
在本实施例中,客户端可以根据用户在直播视频界面或者回放视频界面的交互操作,计算出起始帧与直播视频流的当前帧的时间差,即获得时间偏移量,将包括时间偏移量的回放请求发送给服务器。服务器接收到客户端发送的回放请求,获取其中的时间偏移量。
例如,用户在观看游戏赛事直播视频过程中,若想回看在当前时刻前5分钟的视频片段,可以在直播视频界面的播放进度区域,将播放进度区域中的播放标记拉取到前5分钟的位置,该位置对应的视频帧即为起始帧,表示从该起始帧回放视频,时间偏移量即前5分钟。客户端将包括时间偏移量的回放请求发送给服务器,服务器获取回放请求中的时间偏移量即前5分钟。
可选地,用户也可以通过点击直播视频界面中的回放按钮,进入到回放视频界面,通过在回放视频界面的播放进度区域,将播放标记拉取到前5分钟的位置,以触发客户端计算出时间偏移量,将包括时间偏移量的回放请求发送给服务器。
需要说明的是,本发明实施例中用户在播放进度区域可以将播放标记拉取到已播放视频的任意位置。
为了便于用户能够快速地获取到感兴趣的视频片段,在播放进度区域可以设置多个推荐标签,用户将播放标记拉取到推荐标签的位置,可以回放推荐的精彩视频片段。
步骤S204-3,根据时间偏移量和当前时刻计算出起始帧对应的时刻;
在本实施例中,服务器根据时间偏移量和服务器记录的当前时刻,计算出起始帧对应的时刻,该起始帧对应的时刻可以理解为起始帧的绝对时间,绝对时间表示形式可以是XX时XX分XX秒。
步骤S204-5,根据起始帧对应的时刻,从地址列表中选取出目标分片地址;
其中,起始帧对应的时刻属于目标分片地址的起始时间戳和结束时间戳之间。
在本实施例中,分片地址包括其对应的视频片段的起始时间戳和结束时间戳,根据起始帧对应的时刻,可以从地址列表中选取出目标分片地址,该起始帧对应的时刻属于目标分片地址的起始时间戳和结束时间戳之间。该目标分片地址对应的目标视频片段包括该起始帧,即从该起始帧开始回放目标视频片段。
可见通过获取回放请求中的时间偏移量确定出起始帧对应的时刻,以从地址列表中选取出目标分片地址。从而实现基于时间偏移量确保客户端和服务器的时间一致,以便于请求回放的起始帧与服务器确定的开始回放的视频帧一致,从而保证了实时回放的视频画面的准确性。
可选地,可以将CDN端的源站地址直接作为播放地址,但是若较多的客户端都是根据源站地址直接从CDN端获取目标视频片段,则会增加源站的运行压力,进而本发明实施例针对上述步骤S206提供了一种可能的实现方式,请参阅图5,其中步骤S206包括以下步骤:
步骤S206-1,根据目标分片地址,获得CDN端的源站地址;
在本实施例中,服务器可以预先存储有CDN端的源站地址对应的多个加速域名,该加速域名可以理解为CDN网络中各个节点对应的访问地址。
根据获取到的目标分片地址,获得存储有目标视频片段的CDN端的源站地址,若存储有目标视频片段的CDN端有多个,可以任意选取一个,也可以按照实际需求选取如选取成本较低、质量较高的CDN端。
步骤S206-3,从CDN端的源站地址对应的多个加速域名中,选取出满足预设条件的目标加速域名;
预设条件可以是质量等级最高,例如,可以通过加速域名播放视频的评估参数如卡顿率、黑屏率,对加速域名的质量进行评估,获得加速域名的质量等级,选取当前质量等级最高的加速域名作为目标加速域名。
预设条件也可以是距离最短,例如,可以根据客户端的地理位置,选取与该客户端距离最短的节点对应的访问地址,获得目标加速域名。
需要说明的是,预设条件可以按照实际需求设计,本发明实施不作限定。
步骤S206-5,根据目标加速域名,获得与目标分片地址对应的目标视频片段的播放地址。
在本实施例中,将CDN端的源站地址替换为目标加速域名后,可以根据该目标加速域名、直播视频流的标识、起始帧对应的时刻,获得目标视频片段的播放地址,该起始帧对应的时刻可以用地址列表、当前时刻和时间偏移量表示。
可见通过目标分片地址获取CDN端的源站地址,从多个加速域名中选取出满足预设条件的目标加速域名,以获得目标视频片段的播放地址。根据加速域名对源站地址进行替换,从而可以减轻源站的运行压力,保证直播视频实时回放的稳定性。
上述示例中CDN端存储有历史视频数据,目前视频录制通常是每个厂商的CDN端各自对获取到的直播视频流进行本地转码和存储,但是如此会导致转码资源浪费且成本较高。进而本发明实施例提供了一种可能实现方式。请参阅图6,下面将结合该图对CDN端存储历史视频数据的实现方式进行介绍。
步骤S212a,服务器将直播视频流推送给CDN端;
步骤S212b,CDN端将是否录制直播视频流的待确认请求发送给服务器;
在本实施例中,服务器将直播视频流推送给CDN端,触发CDN端向服务器发送是否录制直播视频流的待确认请求。可选地,CDN端接收到直播视频流后可以进行分发即发送给客户端,以使用户可以实时观看直播视频。
步骤S214a,服务器在接收到待确认请求,生成确认录制消息并发送给CDN端;
步骤S214b,CDN端接收到确认录制消息,发送获取视频请求给服务器;
在本实施例中,服务器在接收到CDN端发送的待确认请求,生成确认录制信息然后发送给CDN端。可以理解为,服务器通过该确认录制消息通知CDN端需要对直播视频流进行实时录制。
CDN端接收到确认录制消息,向服务器发送获取视频请求,即向服务器请求获取直播视频流的视频数据。
步骤S216,服务器在接收到CDN端发送的获取视频请求,对直播视频流进行转码,获得转码后的视频数据;
在本实施例中,服务器在接收到CDN端发送的获取视频请求,将直播视频流进行转码,获得转码后的视频数据,该转码后的是视频数据是flv格式。
步骤S218a,服务器将转码后的视频数据推送给CDN端;
步骤S218b,CDN端对转码后的视频数据进行格式转换,得到历史视频数据。
在本实施例中,服务器将转码后的视频数据推送给CDN端,CDN端接收到转码后的视频数据,会对该转码后的视频数据进行格式转换,即将flv格式转换为hls格式,将hls格式的视频数据存储到本地,则得到历史视频数据。
可以理解的是,若CDN端是对直播视频流进行分发,则可以直接将flv格式的视频数据分发给客户端。若CDN端是对直播视频流进行录制存储,则需要将视频数据转换为便于本地存储的格式。
可以理解的是,本发明实施例中对直播视频流进行统一转码,并将转码后的视频数据推送给各个CDN端,以使CDN端不用再对直播视频流进行单独转码,从而节省了转码资源、降低了成本和提高了视频录制的效率。
步骤S220,CDN端发送视频录制成功消息给服务器;
在本实施例中,CDN端成功存储历史视频数据后,向服务器发送视频录制成功消息,以通知服务器录制成功。
可见通过上述步骤,服务将直播视频流推送给CDN端,CDN端将是否录制直播视频流的待确认请求发送给服务器;然后服务器接收到待确认请求,生成确认录制消息并发送给CDN端,CDN端接收到确认录制消息,发送获取视频请求给服务器;然后服务器在接收到CDN端发送的获取视频请求,对直播视频流进行转码,获得转码后的视频数据并发送给CDN端,CDN端对转码后的视频数据进行格式转换,得到历史视频数据。通过统一转码,节省了转码资源和降低了成本。同时将历史视频数据存储到CDN端,以实现对直播视频的实时录制存储,从而为直播视频的实施回放提供了数据支撑,便于用户快速回放感兴趣的视频片段。
可选地,为了提升用户体验,使用户在回看视频时,可以选择视频的播放码率即清晰度。进而本发明实施例针对上述步骤S214a提供了一种可能的实现方式,其中步骤S214a包括以下步骤:
步骤S214a-1,在接收到待确认请求,获取直播视频流的播放码率档位;
步骤S214a-3,生成包括播放码率档位的确认录制消息并发送给CDN端。
在本实施例中,服务器在接收到待确认请求,可以根据该直播视频流的直播间,获取到直播间中用户观看直播视频流的当前播放码率档位,如流畅档位360p、标清档位480p、高清档位720p、超清档位1080p;然后生成包括播放码率档位的确认录制消息并发送给CDN端。
CDN端接收到该确认录制信息,获取其中的播放码率档位,对不同的播放码率档位的直播视频数据进行录制存储。可以理解为,不同播放码率档位的直播视频数据会存储到不同的视频文件中。
当客户端发送回放请求时,该回放请求中可以包括码率参数即用户选择的视频清晰度,服务器会将该码率参数反馈给CDN端,以使CDN端从与该码率参数一致的视频文件中获取视频片段并发送给客户端。从而通过在录制视频时录制多种播放码率档位的视频数据,可以便于用户选择回放视频的清晰度,优化了用户体验。
可选地,针对上述步骤S216,本发明实施例提供了一种可能的实现方式,步骤S216包括以下步骤:
步骤S216-1,在接收到CDN端发送的获取视频请求,获取目标链路;其中,目标链路用于对客户端发送的观看请求中的直播视频流进行转码;
步骤S216-3,通过目标链路对直播视频流进行转码,获得转码后的视频数据。
可以理解的是,用户通过客户端实时观看直播视频,客户端会向服务器发送观看请求,则服务器也要将转换后的视频数据推送给CDN端,经CDN端分发给客户端。
在本实施例中,服务器在接收到CDN端发送的获取视频请求,可以将获取视频请求和客户端发送的观看请求聚合,采用同一个链路对直播视频流进行转码。即获取目标链路,该目标链路用于对客户端发送的观看请求中的直播视频流进行转码,采用目标链路对直播视频流进行转码,获得转后的视频数据。
服务器将转后的视频数据推送给CDN端,CDN端将转码后的视频数据进行格式转换后存储,实现视频的录制。CDN端也可以将转码后的视频数据分发给客户端,实现视频的分发。
可见通常采用目标链路对CDN端发送的获取视频请求中直播视频流进行转码,可以实现视频的录制和视频的分发使用同一个转码链路,从而进一步节省了转码资源,提升了视频转码效率和降低了成本。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种视频回放装置的实现方式。请参阅图7,图7为本发明实施例提供的一种视频回放装置300的功能模块图。需要说明的是,本实施例所提供的视频回放装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该视频回放装置300包括:
存储模块310,用于按照预设周期,根据CDN端存储的历史视频数据,获取分片地址并存储到地址列表;历史视频数据表示直播视频流中已播放的视频数据,分片地址与历史视频数据中的视频片段对应;
获取模块330,用于在接收到客户端发送的回放请求,根据回放请求从地址列表中选取出目标分片地址;根据目标分片地址,获得与目标分片地址对应的目标视频片段的播放地址;
发送模块350,用于将播放地址发送给客户端,以使客户端根据播放地址从CDN端获得目标视频片段并播放。
可选地,获取模块330还用于:获取回放请求中的时间偏移量,时间偏移量表征目标视频片段的起始帧与直播视频流的当前帧的时间差;根据时间偏移量和当前时刻计算出起始帧对应的时刻;根据起始帧对应的时刻,从地址列表中选取出目标分片地址;起始帧对应的时刻属于目标分片地址的起始时间戳和结束时间戳之间。
可选地,获取模块330还用于:根据目标分片地址,获得CDN端的源站地址;从CDN端的源站地址对应的多个加速域名中,选取出满足预设条件的目标加速域名;根据目标加速域名,获得与目标分片地址对应的目标视频片段的播放地址。
可选地,存储模块310还用于:将直播视频流推送给CDN端,以使CDN端将是否录制直播视频流的待确认请求发送给服务器;在接收到待确认请求,生成确认录制消息并发送给CDN端;在接收到CDN端发送的获取视频请求,对直播视频流进行转码,获得转码后的视频数据;将转码后的视频数据推送给CDN端,以使CDN端对转码后的视频数据进行格式转换,得到历史视频数据。
可选地,存储模块310还用于:在接收到待确认请求,获取直播视频流的播放码率档位;生成包括播放码率档位的确认录制消息并发送给CDN端。
可选地,存储模块310还用于:在接收到CDN端发送的获取视频请求,获取目标链路;目标链路用于对客户端发送的观看请求中的直播视频流进行转码;通过目标链路对直播视频流进行转码,获得转码后的视频数据。
本发明实施例还提供了一种视频回放***,包括服务器、CDN端和客户端,所述服务器与所述CDN端通信连接,所述服务器与所述客户端通信连接,所述CDN端与所述客户端通信连接;
服务器用于执行上述实施例中的视频回放方法;
CDN端用于存储历史视频数据,历史视频数据表示直播视频流中已播放的视频数据;
客户端用于向服务器发送回放请求,以及根据播放地址从CDN端获得目标视频片段并播放。
本发明实施例还提供了一种服务器,包括处理器120和存储器130,存储器130存储有计算机程序,处理器执行计算机程序时,实现上述实施例揭示的视频回放方法。
本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现本发明实施例揭示的视频回放方法。
综上所述,本发明实施例提供的视频回放方法、装置、***、服务器和存储介质。服务器分别与CDN端和客户端通信连接,CDN端与客户端通信连接,服务器按照预设周期,根据CDN端存储的直播视频流中已播放的视频数据即历史视频数据,获取分片地址并存储到地址列表,分片地址与历史视频数据中的视频片段对应;然后在接收到客户端发送的回放请求,根据回放请求从地址列表中选取出目标分片地址;再根据目标分片地址,获得与目标分片地址对应的目标视频片段的播放地址;最后将播放地址发送给客户端,以使客户端根据播放地址从CDN端获得目标视频片段并播放。通过从各个CDN端获取视频片段的地址并存储实现统一接口,降低了连接难度,提高了扩展性。同时基于视频片段实现对直播视频的实时回放,提高了视频回放的便捷性,优化了用户体验。并且对直播视频流进行统一转码,节省了转码资源、提高了转码效率和降低了成本。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种视频回放方法,其特征在于,应用于服务器,所述服务器与CDN端通信连接,所述服务器与客户端通信连接,所述CDN端与所述客户端通信连接;所述方法包括:
按照预设周期,根据所述CDN端存储的历史视频数据,获取分片地址并存储到地址列表;所述历史视频数据表示直播视频流中已播放的视频数据,所述分片地址与所述历史视频数据中的视频片段对应;
在接收到所述客户端发送的回放请求,根据所述回放请求从所述地址列表中选取出目标分片地址;
根据所述目标分片地址,获得与所述目标分片地址对应的目标视频片段的播放地址;
将所述播放地址发送给所述客户端,以使所述客户端根据所述播放地址从所述CDN端获得所述目标视频片段并播放。
2.根据权利要求1所述的方法,其特征在于,所述分片地址包括对应的视频片段的起始时间戳和结束时间戳;所述根据所述回放请求从所述地址列表中选取出目标分片地址的步骤,包括:
获取所述回放请求中的时间偏移量,所述时间偏移量表征目标视频片段的起始帧与所述直播视频流的当前帧的时间差;
根据所述时间偏移量和当前时刻计算出所述起始帧对应的时刻;
根据所述起始帧对应的时刻,从所述地址列表中选取出所述目标分片地址;所述起始帧对应的时刻属于所述目标分片地址的起始时间戳和结束时间戳之间。
3.根据权利要求1所述的方法,其特征在于,所述服务器预存有所述CDN端的源站地址及其对应的多个加速域名;所述根据所述目标分片地址,获得与所述目标分片地址对应的目标视频片段的播放地址的步骤,包括:
根据所述目标分片地址,获得所述CDN端的源站地址;
从所述CDN端的源站地址对应的多个加速域名中,选取出满足预设条件的目标加速域名;
根据所述目标加速域名,获得与所述目标分片地址对应的目标视频片段的播放地址。
4.根据权利要求1所述的方法,其特征在于,所述历史视频数据是按照以下方式得到的:
将所述直播视频流推送给所述CDN端,以使所述CDN端将是否录制所述直播视频流的待确认请求发送给所述服务器;
在接收到所述待确认请求,生成确认录制消息并发送给所述CDN端;
在接收到所述CDN端发送的获取视频请求,对所述直播视频流进行转码,获得转码后的视频数据;
将所述转码后的视频数据推送给所述CDN端,以使所述CDN端对所述转码后的视频数据进行格式转换,得到所述历史视频数据。
5.根据权利要求4所述的方法,其特征在于,所述在接收到所述待确认请求,生成确认录制消息并发送给CDN端的步骤,包括:
在接收到所述待确认请求,获取所述直播视频流的播放码率档位;
生成包括所述播放码率档位的确认录制消息并发送给所述CDN端。
6.根据权利要求4所述的方法,其特征在于,所述在接收到所述CDN端发送的获取视频请求,对所述直播视频流进行转码,获得转码后的视频数据的步骤,包括:
在接收到所述CDN端发送的获取视频请求,获取目标链路;所述目标链路用于对所述客户端发送的观看请求中的所述直播视频流进行转码;
通过所述目标链路对所述直播视频流进行转码,获得转码后的视频数据。
7.一种视频回放装置,其特征在于,应用于服务器,所述服务器与CDN端通信连接,所述服务器与客户端通信连接,所述CDN端与所述客户端通信连接;所述装置包括:
存储模块,用于按照预设周期,根据所述CDN端存储的历史视频数据,获取分片地址并存储到地址列表;所述历史视频数据表示直播视频流中已播放的视频数据,所述分片地址与所述历史视频数据中的视频片段对应;
获取模块,用于在接收到所述客户端发送的回放请求,根据所述回放请求从所述地址列表中选取出目标分片地址;根据所述目标分片地址,获得与所述目标分片地址对应的目标视频片段的播放地址;
发送模块,用于将所述播放地址发送给所述客户端,以使所述客户端根据所述播放地址从所述CDN端获得所述目标视频片段并播放。
8.一种视频回放***,其特征在于,所述***包括服务器、CDN端和客户端,所述服务器与所述CDN端通信连接,所述服务器与所述客户端通信连接,所述CDN端与所述客户端通信连接;
所述服务器用于执行权利要求1至6任意一项所述的视频回放方法;
所述CDN端用于存储历史视频数据,所述历史视频数据表示直播视频流中已播放的视频数据;
所述客户端用于向所述服务器发送回放请求,以及根据所述播放地址从所述CDN端获得目标视频片段并播放。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至6中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至6中任一项所述的方法。
CN202210073990.6A 2022-01-21 2022-01-21 视频回放方法、装置、服务器、***及存储介质 Pending CN114401430A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210073990.6A CN114401430A (zh) 2022-01-21 2022-01-21 视频回放方法、装置、服务器、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210073990.6A CN114401430A (zh) 2022-01-21 2022-01-21 视频回放方法、装置、服务器、***及存储介质

Publications (1)

Publication Number Publication Date
CN114401430A true CN114401430A (zh) 2022-04-26

Family

ID=81231983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210073990.6A Pending CN114401430A (zh) 2022-01-21 2022-01-21 视频回放方法、装置、服务器、***及存储介质

Country Status (1)

Country Link
CN (1) CN114401430A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115175001A (zh) * 2022-07-07 2022-10-11 广州方硅信息技术有限公司 直播回放的播放处理方法、计算机设备及存储介质
CN115643430A (zh) * 2022-10-10 2023-01-24 深圳锋芒信息技术有限公司 自适应播放源的播放方法、装置、设备及存储介质
CN115914670A (zh) * 2023-02-01 2023-04-04 广州市千钧网络科技有限公司 直播回放处理方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207841A1 (en) * 2014-01-19 2015-07-23 Fabrix Tv Ltd. Methods and systems of storage level video fragment management
CN108702537A (zh) * 2016-05-10 2018-10-23 谷歌有限责任公司 用于使用服务器生成的清单的视频回放的***
CN109561351A (zh) * 2018-12-03 2019-04-02 网易(杭州)网络有限公司 网络直播回放方法、装置及存储介质
CN110958279A (zh) * 2018-09-26 2020-04-03 阿里巴巴集团控股有限公司 一种数据处理方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207841A1 (en) * 2014-01-19 2015-07-23 Fabrix Tv Ltd. Methods and systems of storage level video fragment management
CN108702537A (zh) * 2016-05-10 2018-10-23 谷歌有限责任公司 用于使用服务器生成的清单的视频回放的***
CN110958279A (zh) * 2018-09-26 2020-04-03 阿里巴巴集团控股有限公司 一种数据处理方法及其装置
CN109561351A (zh) * 2018-12-03 2019-04-02 网易(杭州)网络有限公司 网络直播回放方法、装置及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115175001A (zh) * 2022-07-07 2022-10-11 广州方硅信息技术有限公司 直播回放的播放处理方法、计算机设备及存储介质
CN115643430A (zh) * 2022-10-10 2023-01-24 深圳锋芒信息技术有限公司 自适应播放源的播放方法、装置、设备及存储介质
CN115914670A (zh) * 2023-02-01 2023-04-04 广州市千钧网络科技有限公司 直播回放处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US9615119B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
CN114401430A (zh) 视频回放方法、装置、服务器、***及存储介质
US11310540B2 (en) Interfaces between dash aware application and dash client for service interactivity support
CN109756757B (zh) 直播数据处理方法及装置、直播方法及装置和直播服务器
EP2391086B1 (en) Method and apparatus for playing live content
US9344517B2 (en) Downloading and adaptive streaming of multimedia content to a device with cache assist
US9112623B2 (en) Asynchronous interaction at specific points in content
US9392307B2 (en) Smart pre-load for video-on-demand in an HTTP adaptive streaming environment
EP3456059A1 (en) System for video playback using a server generated manifest
US11228792B1 (en) Transcoding of video content
US10341733B2 (en) Companion device
US20140181243A1 (en) Server-based content tracking apparatus and method
JP2013510453A (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング
EP3061220B1 (en) Method, multimedia streaming service node, computer program and computer program product for combining content
US20110321062A1 (en) Capturing events from and providing targeted messages to a digital media device
AU2011233856B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
US11936705B2 (en) Systems and methods for providing audio-video streams with alternative content
CN107690093B (zh) 一种视频播放方法及装置
WO2023077812A1 (zh) 直播视频播放方法及装置
CN114040232A (zh) 投屏***、方法、电子设备和存储介质
US10750248B1 (en) Method and apparatus for server-side content delivery network switching
CN113242437A (zh) 一种rtsp协议视频无插件播放方法、***、装置及存储介质
WO2012149868A1 (zh) 一种媒体内容分发和点播的方法、机顶盒及***
KR101397183B1 (ko) 스트리밍 서비스에서의 재생 목록 파일 관리 방법 및 그 장치
CN108271040B (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