CN112584200A - 投屏方法、系统、电子设备及存储介质 - Google Patents

投屏方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN112584200A
CN112584200A CN202011457722.1A CN202011457722A CN112584200A CN 112584200 A CN112584200 A CN 112584200A CN 202011457722 A CN202011457722 A CN 202011457722A CN 112584200 A CN112584200 A CN 112584200A
Authority
CN
China
Prior art keywords
screen
resource
file
segment
bullet screen
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.)
Granted
Application number
CN202011457722.1A
Other languages
English (en)
Other versions
CN112584200B (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 CN202011457722.1A priority Critical patent/CN112584200B/zh
Publication of CN112584200A publication Critical patent/CN112584200A/zh
Application granted granted Critical
Publication of CN112584200B publication Critical patent/CN112584200B/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/237Communication with additional data server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种投屏方法、系统、电子设备及存储介质,应用于投屏接收端的投屏方法包括:获取待投屏的媒体资源的索引列表文件,其中,所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;从所述索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;按照所述待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照所述待投屏资源分段的弹幕地址,从弹幕后台服务器获取所述弹幕分段文件,并显示所述弹幕分段文件包含的弹幕。本申请用以解决现有投屏过程中无法支持弹幕投屏的问题。

Description

投屏方法、系统、电子设备及存储介质
技术领域
本申请涉及视频处理技术领域,尤其涉及一种投屏方法、系统、电子设备及存储介质。
背景技术
弹幕文化已经被越来越多的人接受,弹幕功能已经成为播放器的基本功能之一。
应用客户端(APP)投屏,是小屏播放转大屏播放的一种重要手段,用户对投屏支持弹幕的需求也越来越强烈。但是,弹幕通常是播放器的定制功能,普通支持数字生活网络联盟(Digital Living Network Alliance,DLNA)功能的家用电视或盒子,生产厂家不会对弹幕功能进行定制,也就无法支持弹幕投屏功能。
发明内容
本申请提供了一种投屏方法、系统、电子设备及存储介质,用以解决现有投屏过程中无法支持弹幕投屏的问题。
第一方面,本申请实施例提供了一种投屏方法,应用于投屏接收端,包括:
获取待投屏的媒体资源的索引列表文件,其中,所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;
从所述索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;
按照所述待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照所述待投屏资源分段的弹幕地址,从弹幕后台服务器获取所述弹幕分段文件,并显示所述弹幕分段文件包含的弹幕。
可选地,所述获取待投屏的媒体资源的索引列表文件,包括:
获取来自于投屏发送端的推片指令,其中,所述推片指令中携带网络地址;
按照所述网络地址,从所述媒体资源服务器获取所述索引列表文件。
可选地,所述推片指令中还包括所述投屏发送端正在播放的所述媒体资源的时间戳;
所述索引列表文件中还包括每个所述资源分段的持续时长;
所述获取待投屏的媒体资源的索引列表文件之后,所述获取待投屏资源分段的资源地址以及弹幕地址之前,所述方法还包括:
根据所述时间戳以及所述持续时长,获取所述时间戳在所述媒体资源中归属的资源分段,将所述归属的资源分段作为所述待投屏资源分段。
可选地,所述索引列表文件为第一m3u8播放列表文件;
所述第一m3u8播放列表文件包括主m3u层和嵌套在所述主m3u层中的子m3u层;
所述主m3u层中包括所述媒体资源各资源分段的资源地址,以及每个所述资源分段的持续时长;
所述子m3u层中包括所述弹幕分段文件的弹幕地址。
第二方面,本申请实施例提供了一种投屏方法,应用于投屏发送端,包括:
在发起投屏时,获取待投屏的媒体资源对应的网络地址;
向投屏接收端发送推片指令,其中,所述推片指令中携带所述网络地址;
其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;
所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件。
可选地,所述在发起投屏时,获取待投屏的媒体资源对应的网络地址,包括:
在发起投屏时,向所述媒体资源服务器发送投屏请求,其中,所述投屏请求中携带请求投屏的媒体资源的标识;
获取所述媒体资源服务器根据所述投屏请求返回的投屏响应,其中,所述投屏响应中携带根据所述媒体资源的标识获取的所述网络地址。
第三方面,本申请实施例提供了一种投屏方法,应用于弹幕后台服务器,所述方法包括:
获取投屏接收端在投屏过程中发送的弹幕请求,所述弹幕请求中携带待投屏资源分段的弹幕地址;
获取所述弹幕地址中保存的、所述待投屏资源分段对应的弹幕分段文件;
向所述投屏接收端返回弹幕响应,其中,所述弹幕响应中携带所述弹幕分段文件。
可选地,所述获取投屏接收端在投屏过程中发送的弹幕请求之前,所述方法还包括:
获得媒体资源各所述弹幕分段文件的弹幕地址;
将各所述弹幕分段文件的弹幕地址发送给媒体资源服务器。
可选地,所述将各所述弹幕分段文件的弹幕地址发送给媒体资源服务器,包括:
生成保存各所述弹幕分段文件的第二m3u8播放列表文件,将所述第二m3u8播放列表文件发送给所述媒体资源服务器。
可选地,所述方法还包括:
获取投屏发送端在投屏过程中传输的弹幕信息,其中,所述弹幕信息中包括当前投屏的媒体资源标识、时间戳和弹幕;
对所述弹幕信息审核通过后,获取所述媒体资源标识对应的所述第二m3u8播放列表文件,其中,所述第二m3u8播放列表文件中包括每个弹幕分段文件的分段时长以及各弹幕分段文件的弹幕地址;
根据所述时间戳和所述分段时长,获得所述时间戳对应的目标弹幕分段文件;
将所述弹幕加入所述目标弹幕分段文件。
第四方面,本申请实施例提供了一种投屏方法,应用于媒体资源服务器,所述方法包括:
获取来自于投屏发送端的投屏请求,其中,所述投屏请求中携带媒体资源的标识;
获取所述媒体资源的标识对应的网络地址,其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;
根据所述投屏请求向所述投屏发送端返回投屏响应,其中,所述投屏响应中携带所述网络地址。
可选地,所述索引列表文件为第一m3u8播放列表文件;
所述获取所述媒体资源的标识对应的网络地址之前,所述方法还包括:
获取弹幕后台服务器传输第二m3u8播放列表文件,其中,所述第二m3u8播放列表文件中保存所述各资源分段对应的弹幕分段文件的弹幕地址;
获取所述媒体资源的第三m3u8播放列表文件,其中,所述第三m3u8播放列表文件中包括所述媒体资源各资源分段的资源地址;
根据所述第三m3u8播放列表文件和所述各资源分段对应的弹幕分段文件的弹幕地址,生成所述第一m3u8播放列表文件。
可选地,所述第一m3u8播放列表文件包括主m3u层和嵌套在所述主m3u层中的子m3u层;
所述主m3u层中包括所述媒体资源各资源分段的资源地址,以及每个所述资源分段的持续时长;
所述子m3u层中包括所述媒体资源各资源分段对应的弹幕分段文件的弹幕地址。
第五方面,本申请实施例提供了一种投屏系统,包括投屏接收端、媒体资源服务器和弹幕后台服务器;
所述投屏接收端,用于获取待投屏的媒体资源的索引列表文件,其中,所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;从所述索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;按照所述待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照所述待投屏资源分段的弹幕地址,从弹幕后台服务器获取所述弹幕分段文件,并显示所述弹幕分段文件包含的弹幕;
所述媒体资源服务器,用于向所述投屏接收端提供所述资源地址对应的所述待投屏资源分段;
所述弹幕后台服务器,用于向所述投屏接收端提供所述弹幕地址对应的弹幕分段文件。
可选地,所述系统还包括投屏发送端;
所述投屏发送端,用于在发起投屏时,获取所述待投屏的媒体资源对应的网络地址;向投屏接收端发送推片指令,其中,所述推片指令中携带所述网络地址;
所述投屏接收端,用于接收所述投屏发送端发送的所述推片指令,按照推片指令中携带的所述网络地址,从所述媒体资源服务器获取所述索引列表文件。
第六方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的投屏方法,或者,实现第二方面所述的投屏方法,或者,实现第三方面所述的投屏方法,或者,实现第四方面所述的投屏方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的投屏方法,或者,实现第二方面所述的投屏方法,或者,实现第三方面所述的投屏方法,或者,实现第四方面所述的投屏方法。。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过建立媒体资源的索引列表文件,在索引列表文件中包括媒体资源各资源分段的资源地址以及弹幕地址,在投屏过程中从该索引列表文件中获取待投屏资源分段的资源地址以及弹幕地址,按照该资源地址从媒体资源服务器获取资源分段并播放,按照该弹幕地址获取该资源分段对应的弹幕分段文件,在播放该资源分段的过程中显示该弹幕分段文件包含的弹幕,从而使得投屏过程中也能够支持弹幕功能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请实施例中弹幕投屏系统的架构示意图;
图2为本申请实施例中投屏接收端12的投屏过程示意图;
图3为本申请实施例中投屏发送端13的投屏过程示意图;
图4为本申请实施例中弹幕后台服务器11的投屏过程示意图;
图5为本申请实施例中媒体资源服务器10的投屏过程示意图;
图6为本申请实施例中实现视频投屏的具体过程示意图一;
图7为本申请实施例中实现视频投屏的具体过程示意图二;
图8为本申请实施例中投屏完整交互过程示意图;
图9为本申请实施例中应用于投屏接收端12的投屏装置结构示意图;
图10为本申请实施例中应用于投屏发送端13的投屏装置结构示意图;
图11为本申请实施例中应用于弹幕后台服务器11的投屏装置结构示意图;
图12为本申请实施例中应用于媒体资源服务器10的投屏装置结构示意图;
图13为本申请实施例中电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例中,如图1所示,弹幕投屏系统主要包括媒体资源服务器10、弹幕后台服务器11和投屏接收端12。
其中,投屏接收端12具体可以是电视等大屏设备。
投屏接收端12,用于获取待投屏的媒体资源的索引列表文件,其中,该索引列表文件中包括该媒体资源各资源分段的资源地址以及弹幕地址,弹幕地址中保存资源分段对应的弹幕分段文件;从索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;按照该待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照待投屏资源分段的弹幕地址,从弹幕后台服务器获取弹幕分段文件,并显示该弹幕分段文件包含的弹幕;
媒体资源服务器10,用于向投屏接收端12提供资源地址对应的待投屏资源分段;
弹幕后台服务器11,用于向投屏接收端12提供弹幕地址对应的弹幕分段文件。
一个具体实施例中,该系统中还包括投屏发送端13。
其中,投屏发送端13具体可以是手机、平板、笔记本电脑等设备,该设备中安装有视频播放客户端软件(APP)。
投屏发送端13在发起投屏时,获取待投屏的媒体资源对应的网络地址;向投屏接收端12发送推片指令,其中,推片指令中携带该网络地址。投屏接收端12接收投屏发送端13发送的推片指令,按照该推片指令中携带的该网络地址,从媒体资源服务器10获取索引列表文件。
本申请各实施例中,投屏过程中采用基于HTTP的流媒体网络传输协议进行媒体资源的传输以及播放,例如,采用HLS(HTTP Live Streaming)协议进行视频资源的传输及播放。
m3u8是HLS协议的部分内容,在一个媒体资源的m3u8播放列表文件中会保存可用的媒体流的可下载资源地址。在针对一个媒体资源进行流媒体会话时,客户端(如投屏接收端或投屏发送端)会下载该m3u8播放列表文件,以从该m3u8播放列表文件中包含的可下载资源地址,下载流媒体并播放。
以HLS协议为例,在HLS协议中,字幕流默认支持Webvtt格式,全称为web视频文本跟踪格式,是一种显示定时文本轨道的格式,一般用于外挂字幕。在Webvtt格式中定义了文本的显示时间、位置和区域,同时支持层叠样式表(css)的样式设定。借助于Webvtt格式字幕显示能力,可以将弹幕分段文件的格式确定为后缀名为vtt的Webvtt格式,从而满足弹幕显示的需求。但是,这并不意味着弹幕分段文件的格式必须采用Webvtt格式,根据流媒体传输具体所采用的协议的不同,可以采用相适配的字幕流格式作为弹幕分段文件的格式。
一个具体实施例中,索引列表文件为第一m3u8播放列表文件。这里能够直接利用HLS协议中m3u8播放列表文件中已经保存的媒体资源各资源分段的资源地址,在媒体资源原有的m3u8播放列表文件中增加弹幕分段文件的弹幕地址,即可得到同时包含资源地址和弹幕地址的索引列表文件,实现过程简便。
具体地,第一m3u8播放列表文件包括主m3u层和嵌套在主m3u层中的子m3u层。主m3u层中包括媒体资源各资源分段的资源地址,以及每个资源分段的持续时长;子m3u层中包括弹幕分段文件的弹幕地址。
其中,子m3u层在第一m3u8播放列表文件中的分段类型为TYPE=SUBTITLE。在m3u8协议的规定中,通过定义分段类型为TYPE=SUBTITLE,在一个m3u8播放列表中增加一个子m3u层,本申请实施例中在增加的一个子m3u层中包括弹幕分段文件的弹幕地址。
投屏接收端12通过在开始投屏时加载一次第一m3u8播放列表文件,在子m3u层中保存弹幕地址,使得能够被投屏接收端12中的播放器识别为字幕流,达到显示弹幕的目的。并且,每次读取与待投屏资源分段对应的弹幕地址,从该弹幕地址获取弹幕分段文件并显示,使得弹幕地址中保存的弹幕分段文件能够随时更新,并且投屏接收端12能够获取随时更新后的弹幕分段文件,满足弹幕交互的实时性要求。
需要说明的是,本申请实施例所提供的弹幕投屏系统及方法,除了能够应用于通用的支持DLNA协议的设备投屏之外,还可以扩展应用于其他私有协议,本申请的保护范围并不以投屏过程中采用的具体协议为限制。
基于以上系统架构,分别从投屏接收端12、投屏发送端13、弹幕后台服务器11和媒体资源服务器10的角度,对本申请实施例提出的投屏过程进行说明。
本申请第一实施例中,投屏接收端12,也称为DLNA协议的Render端(或称为R端),用于接收投屏发送端13的推片指令,并根据该推片指令调用播放器播放媒体资源以及弹幕。
如图2所示,投屏接收端12在投屏过程中主要执行以下步骤:
步骤201,获取待投屏的媒体资源的索引列表文件,其中,该索引列表文件中包括该媒体资源各资源分段的资源地址以及弹幕地址,该弹幕地址中保存资源分段对应的弹幕分段文件。
一个具体实施例中,索引列表文件的获得过程包括:投屏接收端12获取来自于投屏发送端13的推片指令,其中,该推片指令中携带网络地址,该网络地址用于访问媒体资源服务器10中、待投屏媒体资源的索引列表文件;按照该网络地址,从媒体资源服务器10获取该索引列表文件。
该实施例中,只需要投屏接收端、投屏发送端和媒体资源服务器之间建立网络连接,即可获得待投屏资源的索引列表文件。并且,每次投屏时,投屏接收端12从媒体资源服务器10获取待投屏资源的索引列表文件,能够保证获取到的索引列表文件为最新版本的文件,以保证投屏弹幕的及时更新。
需要说明的是,此处仅以投屏接收端12在推片指令触发下获取待投屏媒体资源的索引列表文件为例进行说明,并不意味着必须使用该获取索引列表文件的方式。例如,也可以预先将媒体资源的索引列表文件保存在弹幕后台服务器11中,在推片指令中携带弹幕后台服务器11中保存的索引列表文件的网络地址,投屏接收端12按照该网络地址从弹幕后台服务器11获取该索引列表文件。本申请的保护范围并不以索引列表文件的具体获取方式为限制。
步骤202,从索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址。
一个具体实施例中,推片指令中还包括投屏发送端正在播放的媒体资源的时间戳。索引列表文件中还包括每个资源分段的持续时长,该持续时长也为弹幕分段文件的分段时长。
投屏接收端12在获取待投屏的媒体资源的索引列表文件之后,根据推片指令中携带的时间戳以及资源分段的持续时长,获取该时间戳归属的资源分段,将该归属的资源分段作为待投屏资源分段,从索引列表文件中获取该待投屏资源分段的资源地址以及弹幕地址。
例如,假设媒体资源各资源分段的持续时长为6s(秒),如果推片指令中携带的时间戳为1s,则待投屏资源分段为索引列表文件中第一个资源分段,相应的,获取索引列表文件中第一个资源地址和第一个弹幕地址。如果推片指令中携带的时间戳为15s,则待投屏资源分段为索引列表文件中的第三个资源分段,相应的,获取索引列表文件中第三个资源地址和第三个弹幕地址。
步骤203,按照待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照待投屏资源分段的弹幕地址,从弹幕后台服务器获取弹幕分段文件,并显示弹幕分段文件包含的弹幕。
具体地,投屏接收端12向媒体资源服务器10发送携带资源地址的资源请求,并接收媒体资源服务器10返回的资源响应,该资源响应中携带媒体资源服务器10从该资源地址中获取的资源分段。
投屏接收端12向弹幕后台服务器11发送携带弹幕地址的弹幕请求,并接收弹幕后台服务器11返回的弹幕响应,该弹幕响应中携带弹幕后台服务器11从该弹幕地址中获取的弹幕分段文件。
该第一实施例中,投屏接收端12通过获取待投屏媒体资源的索引列表文件,从该索引列表文件中获取待投屏的资源分段的资源地址和弹幕地址,按照该资源地址获取资源分段,按照该弹幕地址获取弹幕分段文件,使得能够在投屏过程中显示弹幕分段文件中的弹幕,使得投屏过程能够支持弹幕功能。
本申请第二实施例中,投屏发送端13,可以是DLNA协议的客户端(也称为Client端),例如终端上安装的APP,用于从媒体资源服务器10请求网络地址,将该网络地址携带在推片指令中发送给投屏接收端12。投屏发送端13还用于获取用户提交的弹幕消息,通过弹幕后台服务器11提供的弹幕消息上传接口,上传给弹幕后台服务器11。
如图3所示,投屏发送端13在投屏过程中主要执行以下步骤:
步骤301,在发起投屏时,获取待投屏的媒体资源对应的网络地址。
一个具体实施例中,投屏发送端13在发起投屏时,向媒体资源服务器10发送投屏请求,其中,该投屏请求中携带请求投屏的媒体资源的标识;获取媒体资源服务器10根据该投屏请求返回的投屏响应,其中,投屏响应中携带根据该媒体资源的标识获取的网络地址。
其中,该网络地址用于访问媒体资源服务器10中、待投屏媒体资源的索引列表文件。
该索引列表文件中包括媒体资源各资源分段的资源地址以及弹幕地址,该弹幕地址中保存资源分段对应的弹幕分段文件。
其中,发起投屏的具体过程可以是,作为投屏发送端的APP在检测到用户点击投屏的操作时,确定发起投屏过程。
步骤302,向投屏接收端12发送推片指令,其中,该推片指令中携带该网络地址。
相应地,投屏接收端12接收该推片指令,从该推片指令中获取该网络地址,并从该网络地址中获取待投屏媒体资源的索引列表文件,进而根据该索引列表文件中包含的资源分段地址和弹幕地址进行投屏。
该第二实施例中,投屏发送端13在发起投屏时获取待投屏媒体资源的网络地址,并将该网络地址发送给投屏接收端12,使得投屏接收能够根据该网络地址获取待投屏媒体资源的索引列表文件,进而根据该索引列表文件获取资源分段和弹幕分段,在播放资源分段时支持弹幕功能。
本申请第三实施例中,弹幕后台服务器11,主要用于提供弹幕消息上传接口,对上传接口传入的弹幕信息进行鉴权,对鉴权通过后的弹幕信息进行内容审核服务,以及生成弹幕文件,以供下载。此处,鉴权是指对发送该弹幕信息的用户身份信息进行合法性检验,以判断发送该弹幕信息的用户是否具有发送弹幕的权限,或者,判断发送该弹幕信息的用户发送弹幕的权限等级,是否与当前的弹幕信息对应的权限等级相匹配。
如图4所示,弹幕后台服务器11在投屏过程中主要执行以下步骤:
步骤401,获取投屏接收端12在投屏过程中发送的弹幕请求,该弹幕请求中携带待投屏资源分段的弹幕地址。
一个具体实施例中,弹幕后台服务器11在获取投屏接收端12发送的弹幕请求之前,获得媒体资源各弹幕分段文件的弹幕地址;将各弹幕分段文件的弹幕地址发送给媒体资源服务器10。
媒体资源服务器10获取各弹幕分段文件的弹幕地址后,生成索引列表文件,在该索引列表文件中包括媒体资源的各资源分段的资源地址,以及包括该媒体资源对应的各弹幕分段文件的弹幕地址。
投屏接收端12在投屏过程中,获取该媒体资源的索引列表文件,通过该索引列表文件获取待投屏资源分段的弹幕地址,并向弹幕后台服务器11发送弹幕请求。
一个具体实施例中,弹幕后台服务器11将各弹幕分段文件的弹幕地址发送给媒体资源服务器10,具体可以包括:弹幕后台服务器11生成保存各弹幕分段文件的第二m3u8播放列表文件,将该第二m3u8播放列表文件发送给媒体资源服务器10。
媒体资源服务器10获取该第二m3u8播放列表文件后,将该第二m3u8播放列表文件写入第一m3u8播放列表文件的子m3u层中,该第一m3u8播放列表文件的主m3u层中包括各资源分段的资源地址,将得到的第一m3u8播放列表文件作为媒体资源的索引列表文件。
步骤402,获取该弹幕地址中保存的、该待投屏资源分段对应的弹幕分段文件。
其中,弹幕分段文件的分段时长和资源分段的持续时长相同,即,弹幕后台服务器11和媒体资源服务器10,相互约定某一媒体资源的资源分段的持续时长和弹幕分段文件的分段时长,使得能够按照相同的时长进行划分。
步骤403,向投屏接收端12返回弹幕响应,其中,该弹幕响应中携带弹幕分段文件。
一个具体实施例中,弹幕后台服务器11获取投屏发送端13在投屏过程中传输的弹幕信息,其中,该弹幕信息中包括当前投屏的媒体资源标识、时间戳和弹幕。弹幕后台服务器11对该弹幕信息审核通过后,获取该媒体资源标识对应的第二m3u8播放列表文件,其中,该第二m3u8播放列表文件中包括每个弹幕分段文件的分段时长以及各弹幕分段文件的弹幕地址。弹幕后台服务器11根据该时间戳和该分段时长,获得该时间戳对应的目标弹幕分段文件;将该弹幕信息中包含的弹幕加入该目标弹幕分段文件。
其中,相邻两个弹幕分段文件的首尾时间是连续的,即,整个媒体资源各资源分段均对应有弹幕分段文件,即便某一个资源分段并没有对应的弹幕显示,也存在该资源分段的弹幕分段文件,只是该弹幕分段文件为空,不包含弹幕。如果后续在该资源分段播放过程中,产生了新的弹幕,则直接将该新的弹幕写入该空的弹幕分段文件即可。
也可以是,相邻两个弹幕分段文件的首尾时间是不连续的,中间相差整数倍个弹幕分段文件的分段时长。即,某一资源分段的整个持续时长内均未产生过弹幕,则不存在该资源分段对应的弹幕分段文件。如果后续在该资源分段播放过程中,产生了新的弹幕,则生成该资源分段对应的弹幕分段文件,并将该新的弹幕写入到该弹幕分段文件。并在第二m3u8播放列表文件中增加新的弹幕分段文件的弹幕地址后,将第二m3u8播放列表文件传输给媒体资源服务器10,媒体资源服务器10采用该第二m3u8播放列表文件更新第一m3u8播放列表文件中的子m3u层。在投屏接收端下次发起的投屏过程中,可以显示新生成的弹幕分段文件中的弹幕。
该第三实施例中,弹幕后台服务器11获取投屏接收端12在投屏过程中发送的弹幕请求,按照该弹幕请求中携带的弹幕地址,获取弹幕分段文件返回给投屏接收端12,使得投屏接收端12能够在投屏过程中显示该弹幕分段文件中包含的弹幕,支持弹幕功能。
本申请第四实施例中,媒体资源服务器10主要用于媒体资源(例如视频流)的编解码、格式封装以及播放地址的分发等。
具体地,如图5所示,媒体资源服务器10在投屏过程中主要执行以下步骤:
步骤501,获取来自于投屏发送端13的投屏请求,其中,该投屏请求中携带媒体资源的标识。
步骤502,获取该媒体资源的标识对应的网络地址,其中,该网络地址用于访问媒体资源服务器中、待投屏媒体资源的索引列表文件;该索引列表文件中包括媒体资源各资源分段的资源地址以及弹幕地址,该弹幕地址中保存资源分段对应的弹幕分段文件。
一个具体实施例中,索引列表文件为第一m3u8播放列表文件。
媒体资源服务器10获取该媒体资源的标识对应的网络地址之前,获取弹幕后台服务器11传输第二m3u8播放列表文件,其中,该第二m3u8播放列表文件中保存各资源分段对应的弹幕分段文件的弹幕地址。媒体资源服务器10获取该媒体资源的第三m3u8播放列表文件,其中,第三m3u8播放列表文件中包括媒体资源各资源分段的资源地址。媒体资源服务器10根据该第三m3u8播放列表文件和各资源分段对应的弹幕分段文件的弹幕地址,生成第一m3u8播放列表文件。
其中,第一m3u8播放列表文件包括主m3u层和嵌套在主m3u层中的子m3u层;主m3u层中包括媒体资源各资源分段的资源地址,以及每个资源分段的持续时长;子m3u层中包括媒体资源各资源分段对应的弹幕分段文件的弹幕地址。
步骤503,根据投屏请求向投屏发送端13返回投屏响应,其中,该投屏响应中携带该网络地址。
一个具体实施例中,媒体资源服务器10获取投屏接收端12在投屏过程中发送的资源请求,该资源请求中携带待投屏资源分段的资源地址,按照该资源地址获取资源分段后,向投屏接收端12返回资源响应,在该资源响应中携带该资源分段。投屏接收端12接收该资源响应后,播放该资源响应中携带的资源分段。
该第四实施例中,媒体资源服务器10根据投屏发送端13的请求,向投屏发送端13返回待投屏媒体资源的网络地址,使得在发起投屏后,投屏接收端12能够根据投屏发送端13发送的该网络地址,获取待投屏媒体资源的索引列表文件,按照该索引列表文件中包含的资源地址获得资源分段,以及按照该索引列表文件中包含的弹幕地址获取弹幕分段文件,在播放该资源分段的同时显示该弹幕分段文件中的弹幕,从而能够在投屏过程中支持弹幕功能。
本申请第五实施例中,通过一个具体实施例对投屏的具体过程进行说明,该具体实施例中以媒体资源为视频资源,媒体资源服务器为视频云服务器为例。
如图6和图7所示,实现视频投屏的具体过程包括:
步骤601,弹幕后台服务器生成Webvtt格式的弹幕分段文件,弹幕的分段时长与视频ts分段的持续时长相同,并生成第二m3u8播放列表文件,命名为pro_vtt.m3u8,分段时长为6s。
该第二m3u8播放列表文件示例如下:
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VDD
#EXTINF:6.0000,
fileSequence0.webvtt
#EXTINF:6.0000,
fileSequence1.webvtt
#EXTINF:6.0000,
fileSequence2.webvtt
#EXTINF:6.0000,
fileSequence3.webvtt
#EXTINF:6.0000,
fileSequence4.webvtt
这段代码中“#EXT-X-TARGETDURATION:6”表示将弹幕分段文件的分段时长为6s,“#EXT-X-PLAYLIST-TYPE:VDD”表示弹幕分段文件的类型,“#EXTINF:6.0000”表示一个弹幕分段文件,“fileSequence0.webvtt”、“fileSequence1.webvtt”、“fileSequence2.webvtt”、“fileSequence3.webvtt”、“fileSequence4.webvtt”分别为弹幕分段文件的弹幕地址。
其中,以“fileSequence0.webvtt”对应的弹幕分段文件为例,弹幕分段文件主要包括以下内容:
WEBVTT
X-TIMESTAMP-MAP-MPEGTS:900000,LOCAL:00:00:00.000
1
00:00:00.008-->00:00:03.992align:start line:1position:1%
Subtitles:Bip!
2
00:00:01.000-->00:00:04.992align:start line:1posittion:20%
Subtitles:Bop!
3
00:00:02.000-->00:00:05:992align:start line:2position:21%
Subtitles:Bip!
“X-TIMESTAMP-MAP-MPEGTS:900000,LOCAL:00:00:00.000”这行代码是Webvtt中的标准格式,1,2,3表示弹幕序号,该弹幕分段文件中每增加一条弹幕,需要加1,序号后面紧跟的是弹幕的显示时间,即从什么时刻开始,显示到什么时刻结束,align表示弹幕的布局方式,“align:start”表示从左边开始显示,“line 1”表示文本的垂直位置是在第一行,“position:1%”表示水平显示行开始位置为屏幕显示宽度1%的位置,其余类推。
步骤602,视频云服务器从弹幕后台服务器获取第二m3u8播放列表文件。
步骤603,视频云服务器根据包括媒体资源各资源分段的资源地址第三m3u8播放列表文件,以及第二m3u8播放列表文件,重新生成得到第一m3u8播放列表文件,在该第一主m3u层中包括媒体资源各资源分段的资源地址,以及每个资源分段的持续时长;子m3u层中包括媒体资源各资源分段对应的弹幕分段文件的弹幕地址。
其中,在第三m3u8播放列表文件中增加#EXT-X-MEDIA Type类型为SUBTITLE的字段。代码表示为:
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-
ID=“sub1”,LANGUAGE=“en”,NAME=“English”,AUTOSELECT=YES,FORCED=NO,URI=“s1/en/prog_index.m3u8”
这段代码中,ID表示唯一标识,NAME表示第二m3u8播放列表文件显示的名字,因为vtt原是用来作为字幕的,支持多条m3u8子索引,这里使用其中的一条索引,AUTOSELECT表示默认选择,URI表示第二m3u8播放列表文件的相对http地址,也可以是绝对http地址。
步骤604,作为投屏发送端的APP,从视频云服务器获取第一m3u8播放列表文件的URL地址。
步骤605,APP将该URL地址通过DLNA协议传输给R端的播放器。
步骤606,R端播放器根据该URL地址,向视频云服务器请求获取第一m3u8播放列表文件。
步骤607,R端播放器获取视频云服务器返回的第一m3u8播放列表文件。
步骤608,R端播放器从该第一m3u8播放列表文件中获取资源地址和弹幕地址。
步骤609,R端播放器按照该资源地址获取资源分段,按照该弹幕地址获取弹幕分段文件。
步骤610,R端播放器在播放资源分段的过程中加载对应的弹幕分段文件,显示该弹幕分段文件中的弹幕。
步骤611,APP端发送新的弹幕到弹幕后台服务器。
步骤612,弹幕后台服务器对该新的弹幕审核完成后,提取该新的弹幕中的时间戳,在pro_vtt.m3u8中查找是否存在包含该时间戳的弹幕分段文件,如果存在,在该弹幕分段文件中加入该新的弹幕,如果不存在,则生成包含该时间戳的弹幕分段文件,并更新pro_vtt.m3u8以及第一m3u8播放列表文件中pro_vtt.m3u8部分。这里,将新的弹幕加入到弹幕分段文件中,并及时更新第一m3u8播放列表文件,使得在投屏过程中,能够及时投屏显示新加入的弹幕,使得用户能够及时观看到新的弹幕,提高用户体验。
步骤613,R端播放器在播放过程中,播放资源分段对应的视频流,加载并绘制对应的弹幕,并且在每个资源分段播放过程中,按照下一资源地址获取下一资源分段,由于pro_vtt.m3u8保持更新,按照下一弹幕地址获取最新的下一弹幕分段文件,实现弹幕流的实时交互。
一个具体实施例中,如图8所示,投屏的完整交互流程主要包括:
步骤801,投屏发送端在发起投屏时,向媒体资源服务器发送投屏请求,投屏请求中携带媒体资源的标识,媒体资源服务器获取来自于投屏发送端的投屏请求;
步骤802,媒体资源服务器获取媒体资源的标识对应的网络地址,其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;索引列表文件中包括媒体资源各资源分段的资源地址以及弹幕地址,弹幕地址中保存资源分段对应的弹幕分段文件;
步骤803,媒体资源服务器根据投屏请求向投屏发送端返回投屏响应,其中,投屏响应中携带网络地址;
步骤804,投屏发送端获取媒体资源服务器返回的投屏响应,并获取投屏响应中的网络地址;
步骤805,投屏发送端向投屏接收端发送推片指令,其中,推片指令中携带该网络地址;
步骤806,投屏接收端按照该网络地址,从媒体资源服务器获取待投屏的媒体资源的索引列表文件,其中,索引列表文件中包括媒体资源各资源分段的资源地址以及弹幕地址,弹幕地址中保存资源分段对应的弹幕分段文件;
步骤807,投屏接收端从索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;
步骤808,投屏接收端向弹幕后台服务器发送幕请求,弹幕请求中携带待投屏资源分段的弹幕地址;并向媒体资源服务器发送资源请求,资源请求中携带待投屏资源分段的资源地址;
步骤809,弹幕后台服务器获取投屏接收端发送的弹幕请求,获取该弹幕请求所携带弹幕地址中保存的、待投屏资源分段对应的弹幕分段文件;
步骤810,弹幕后台服务器向投屏接收端返回弹幕响应,其中,弹幕响应中携带弹幕分段文件;
步骤811,媒体资源服务器获取投屏接收端发送的资源请求,获取资源请求携带资源地址中保存的、待投屏资源分段对应的资源分段;
步骤812,媒体资源服务器向投屏接收端返回资源响应,其中,资源响应中携带资源分段;
步骤813,投屏接收端从媒体资源服务器的资源响应中,获取资源分段并播放,以及,从弹幕后台服务器返回的弹幕响应中,获取弹幕分段文件,并显示弹幕分段文件包含的弹幕。
基于同一构思,本申请第六实施例中提供了一种投屏装置,该装置的具体实施可参见以上实施例中关于投屏接收端12的描述,重复之处不再赘述。如图9所示,该装置主要包括:
第一获取模块901,用于获取待投屏的媒体资源的索引列表文件,其中,所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;
第二获取模块902,用于从所述索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;
处理模块903,用于按照所述待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照所述待投屏资源分段的弹幕地址,从弹幕后台服务器获取所述弹幕分段文件,并显示所述弹幕分段文件包含的弹幕。
基于同一构思,本申请第六实施例中提供了一种投屏装置,该装置的具体实施可参见以上实施例中关于投屏发送端13的描述,重复之处不再赘述。如图10所示,该装置主要包括:
获取模块1001,用于在发起投屏时,获取待投屏的媒体资源对应的网络地址;
发送模块1002,用于向投屏接收端发送推片指令,其中,所述推片指令中携带所述网络地址;
其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;
所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件。
基于同一构思,本申请第六实施例中提供了一种投屏装置,该装置的具体实施可参见以上实施例中关于弹幕后台服务器11的描述,重复之处不再赘述。如图11所示,该装置主要包括:
第一获取模块1110,获取投屏接收端在投屏过程中发送的弹幕请求,所述弹幕请求中携带待投屏资源分段的弹幕地址;
第二获取模块1111,用于获取所述弹幕地址中保存的、所述待投屏资源分段对应的弹幕分段文件;
响应模块1112,用于向所述投屏接收端返回弹幕响应,其中,所述弹幕响应中携带所述弹幕分段文件。
基于同一构思,本申请第六实施例中提供了一种投屏装置,该装置的具体实施可参见以上实施例中关于媒体资源服务器10的描述,重复之处不再赘述。如图12所示,该装置主要包括:
第一获取模块1201,用于获取来自于投屏发送端的投屏请求,其中,所述投屏请求中携带媒体资源的标识;
第二获取模块1202,用于获取所述媒体资源的标识对应的网络地址,其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;
处理模块1203,用于根据所述投屏请求向所述投屏发送端返回投屏响应,其中,所述投屏响应中携带所述网络地址。
基于同一构思,本申请实施例中还提供了一种电子设备,如图13所示,该电子设备主要包括:处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301、通信接口1302和存储器1303通过通信总线1304完成相互间的通信。其中,存储器1303中存储有可被至处理器1301执行的程序,处理器1301执行存储器1303中存储的程序,实现以上各实施例所描述的投屏方法。
上述电子设备中提到的通信总线1304可以时外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线1304可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1302用于上述电子设备与其他设备之间的通信。
存储器1303可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器1301的存储装置。
上述的处理器1301可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的投屏方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (17)

1.一种投屏方法,其特征在于,应用于投屏接收端,包括:
获取待投屏的媒体资源的索引列表文件,其中,所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;
从所述索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;
按照所述待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照所述待投屏资源分段的弹幕地址,从弹幕后台服务器获取所述弹幕分段文件,并显示所述弹幕分段文件包含的弹幕。
2.根据权利要求1所述的投屏方法,其特征在于,所述获取待投屏的媒体资源的索引列表文件,包括:
获取来自于投屏发送端的推片指令,其中,所述推片指令中携带网络地址;
按照所述网络地址,从所述媒体资源服务器获取所述索引列表文件。
3.根据权利要求2所述的投屏方法,其特征在于,所述推片指令中还包括所述投屏发送端正在播放的所述媒体资源的时间戳;所述索引列表文件中还包括每个所述资源分段的持续时长;
所述获取待投屏的媒体资源的索引列表文件之后,所述获取待投屏资源分段的资源地址以及弹幕地址之前,所述方法还包括:
根据所述时间戳以及所述持续时长,获取所述时间戳在所述媒体资源中归属的资源分段,将所述归属的资源分段作为所述待投屏资源分段。
4.根据权利要求3所述的投屏方法,其特征在于,所述索引列表文件为第一m3u8播放列表文件;
所述第一m3u8播放列表文件包括主m3u层和嵌套在所述主m3u层中的子m3u层;
所述主m3u层中包括所述媒体资源各资源分段的资源地址,以及每个所述资源分段的持续时长;
所述子m3u层中包括所述弹幕分段文件的弹幕地址。
5.一种投屏方法,其特征在于,应用于投屏发送端,包括:
在发起投屏时,获取待投屏的媒体资源对应的网络地址;
向投屏接收端发送推片指令,其中,所述推片指令中携带所述网络地址;
其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;
所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件。
6.根据权利要求5所述的投屏方法,其特征在于,所述在发起投屏时,获取待投屏的媒体资源对应的网络地址,包括:
在发起投屏时,向所述媒体资源服务器发送投屏请求,其中,所述投屏请求中携带请求投屏的媒体资源的标识;
获取所述媒体资源服务器根据所述投屏请求返回的投屏响应,其中,所述投屏响应中携带根据所述媒体资源的标识获取的所述网络地址。
7.一种投屏方法,其特征在于,应用于弹幕后台服务器,所述方法包括:
获取投屏接收端在投屏过程中发送的弹幕请求,所述弹幕请求中携带待投屏资源分段的弹幕地址;
获取所述弹幕地址中保存的、所述待投屏资源分段对应的弹幕分段文件;
向所述投屏接收端返回弹幕响应,其中,所述弹幕响应中携带所述弹幕分段文件。
8.根据权利要求7所述的投屏方法,其特征在于,所述获取投屏接收端在投屏过程中发送的弹幕请求之前,所述方法还包括:
获得媒体资源各所述弹幕分段文件的弹幕地址;
将各所述弹幕分段文件的弹幕地址发送给媒体资源服务器。
9.根据权利要求8所述的投屏方法,其特征在于,所述将各所述弹幕分段文件的弹幕地址发送给媒体资源服务器,包括:
生成保存各所述弹幕分段文件的第二m3u8播放列表文件,将所述第二m3u8播放列表文件发送给所述媒体资源服务器。
10.根据权利要求7-9任一项所述的投屏方法,其特征在于,所述方法还包括:
获取投屏发送端在投屏过程中传输的弹幕信息,其中,所述弹幕信息中包括当前投屏的媒体资源标识、时间戳和弹幕;
对所述弹幕信息审核通过后,获取所述媒体资源标识对应的所述第二m3u8播放列表文件,其中,所述第二m3u8播放列表文件中包括每个弹幕分段文件的分段时长以及各弹幕分段文件的弹幕地址;
根据所述时间戳和所述分段时长,获得所述时间戳对应的目标弹幕分段文件;
将所述弹幕加入所述目标弹幕分段文件。
11.一种投屏方法,其特征在于,应用于媒体资源服务器,所述方法包括:
获取来自于投屏发送端的投屏请求,其中,所述投屏请求中携带媒体资源的标识;
获取所述媒体资源的标识对应的网络地址,其中,所述网络地址用于访问媒体资源服务器中、所述待投屏媒体资源的索引列表文件;所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;
根据所述投屏请求向所述投屏发送端返回投屏响应,其中,所述投屏响应中携带所述网络地址。
12.根据权利要求11所述的投屏方法,其特征在于,所述索引列表文件为第一m3u8播放列表文件;
所述获取所述媒体资源的标识对应的网络地址之前,所述方法还包括:
获取弹幕后台服务器传输第二m3u8播放列表文件,其中,所述第二m3u8播放列表文件中保存所述各资源分段对应的弹幕分段文件的弹幕地址;
获取所述媒体资源的第三m3u8播放列表文件,其中,所述第三m3u8播放列表文件中包括所述媒体资源各资源分段的资源地址;
根据所述第三m3u8播放列表文件和所述各资源分段对应的弹幕分段文件的弹幕地址,生成所述第一m3u8播放列表文件。
13.根据权利要求12所述的投屏方法,其特征在于,所述第一m3u8播放列表文件包括主m3u层和嵌套在所述主m3u层中的子m3u层;
所述主m3u层中包括所述媒体资源各资源分段的资源地址,以及每个所述资源分段的持续时长;
所述子m3u层中包括所述媒体资源各资源分段对应的弹幕分段文件的弹幕地址。
14.一种投屏系统,其特征在于,包括投屏接收端、媒体资源服务器和弹幕后台服务器;
所述投屏接收端,用于获取待投屏的媒体资源的索引列表文件,其中,所述索引列表文件中包括所述媒体资源各资源分段的资源地址以及弹幕地址,所述弹幕地址中保存所述资源分段对应的弹幕分段文件;从所述索引列表文件中,获取待投屏资源分段的资源地址以及弹幕地址;按照所述待投屏资源分段的资源地址,从媒体资源服务器获取资源分段并播放;以及,按照所述待投屏资源分段的弹幕地址,从弹幕后台服务器获取所述弹幕分段文件,并显示所述弹幕分段文件包含的弹幕;
所述媒体资源服务器,用于向所述投屏接收端提供所述资源地址对应的所述待投屏资源分段;
所述弹幕后台服务器,用于向所述投屏接收端提供所述弹幕地址对应的弹幕分段文件。
15.根据权利要求14所述的投屏系统,其特征在于,所述系统还包括投屏发送端;
所述投屏发送端,用于在发起投屏时,获取所述待投屏的媒体资源对应的网络地址;向投屏接收端发送推片指令,其中,所述推片指令中携带所述网络地址;
所述投屏接收端,用于接收所述投屏发送端发送的所述推片指令,按照推片指令中携带的所述网络地址,从所述媒体资源服务器获取所述索引列表文件。
16.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1至4任一项所述的投屏方法,或者,实现权利要求5至6任一项所述的投屏方法,或者,实现权利要求7至10任一项所述的投屏方法,或者,实现权利要求11至13任一项所述的投屏方法。
17.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的投屏方法,或者,实现权利要求5至6任一项所述的投屏方法,或者,实现权利要求7至10任一项所述的投屏方法,或者,实现权利要求11至13任一项所述的投屏方法。
CN202011457722.1A 2020-12-10 2020-12-10 投屏方法、系统、电子设备及存储介质 Active CN112584200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011457722.1A CN112584200B (zh) 2020-12-10 2020-12-10 投屏方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011457722.1A CN112584200B (zh) 2020-12-10 2020-12-10 投屏方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112584200A true CN112584200A (zh) 2021-03-30
CN112584200B CN112584200B (zh) 2023-06-30

Family

ID=75131528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011457722.1A Active CN112584200B (zh) 2020-12-10 2020-12-10 投屏方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112584200B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810761A (zh) * 2021-09-17 2021-12-17 上海哔哩哔哩科技有限公司 多终端交互方法、装置及系统
WO2022237379A1 (zh) * 2021-05-10 2022-11-17 花瓣云科技有限公司 一种投屏方法及电子设备
WO2023103861A1 (zh) * 2021-12-06 2023-06-15 北京字节跳动网络技术有限公司 投屏方法、投屏装置、投屏显示装置、投屏系统及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120203747A1 (en) * 2009-10-27 2012-08-09 Florian Douetteau Method and System for Processing Information of a Stream of Information
CN105847271A (zh) * 2016-04-20 2016-08-10 乐视控股(北京)有限公司 基于http实时流的多媒体内容的提供方法及提供装置
CN107135417A (zh) * 2017-06-08 2017-09-05 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN111246275A (zh) * 2020-02-07 2020-06-05 北京字节跳动网络技术有限公司 评论信息的展示及交互方法、装置、电子设备、存储介质
CN111901674A (zh) * 2020-07-13 2020-11-06 腾讯科技(深圳)有限公司 一种视频播放控制及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120203747A1 (en) * 2009-10-27 2012-08-09 Florian Douetteau Method and System for Processing Information of a Stream of Information
CN105847271A (zh) * 2016-04-20 2016-08-10 乐视控股(北京)有限公司 基于http实时流的多媒体内容的提供方法及提供装置
CN107135417A (zh) * 2017-06-08 2017-09-05 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN111246275A (zh) * 2020-02-07 2020-06-05 北京字节跳动网络技术有限公司 评论信息的展示及交互方法、装置、电子设备、存储介质
CN111901674A (zh) * 2020-07-13 2020-11-06 腾讯科技(深圳)有限公司 一种视频播放控制及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022237379A1 (zh) * 2021-05-10 2022-11-17 花瓣云科技有限公司 一种投屏方法及电子设备
CN113810761A (zh) * 2021-09-17 2021-12-17 上海哔哩哔哩科技有限公司 多终端交互方法、装置及系统
CN113810761B (zh) * 2021-09-17 2023-11-21 上海哔哩哔哩科技有限公司 多终端交互方法、装置及系统
WO2023103861A1 (zh) * 2021-12-06 2023-06-15 北京字节跳动网络技术有限公司 投屏方法、投屏装置、投屏显示装置、投屏系统及介质

Also Published As

Publication number Publication date
CN112584200B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN112584200B (zh) 投屏方法、系统、电子设备及存储介质
CN111901674B (zh) 一种视频播放控制方法及装置
US20200394157A1 (en) Method and System for Content Distribution
WO2020211731A1 (zh) 一种视频播放方法及相关设备
CN102255951A (zh) 资产可解析书签
JP2014010842A (ja) アプリケーションを発見する方法
CN110113655B (zh) 一种视频播放的方法、装置及用户终端
CN113542904B (zh) 一种视频投屏播放方法、装置、电子设备及存储介质
US20170171585A1 (en) Method and Electronic Device for Recording Live Streaming Media
CN103945259A (zh) 一种在线视频播放方法及装置
US20150058452A1 (en) Video loading method, device and system of mobile terminal
CN111897564A (zh) 一种应用更新方法及系统
CN111901695B (zh) 视频内容截取方法、装置和设备及计算机存储介质
CN112565877B (zh) 投屏方法、系统、电子设备及存储介质
CN112243158B (zh) 媒体文件处理方法、装置、计算机可读介质及电子设备
CN109672911B (zh) 一种视频处理方法及装置
CN110708402A (zh) 可访问资源的展示方法、装置及资源访问系统
CN111356006B (zh) 视频播放方法、装置、服务器及存储介质
CN113473247B (zh) 一种视频播放请求处理方法、装置、系统和电子设备
CN113285920A (zh) 业务访问方法、装置、设备及存储介质
KR102432376B1 (ko) 콘텐츠 재생 방법 및 시스템
CN108712684B (zh) 一种本地ts流文件播放方法、第三方播放器及终端
CN113438313B (zh) 视频续播处理方法、相关装置及可读存储介质
CN114422831B (zh) 媒体播放方法及装置、电子设备和可读存储介质
CN113691828B (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