CN112616065A - 一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现系统 - Google Patents

一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现系统 Download PDF

Info

Publication number
CN112616065A
CN112616065A CN202011484983.2A CN202011484983A CN112616065A CN 112616065 A CN112616065 A CN 112616065A CN 202011484983 A CN202011484983 A CN 202011484983A CN 112616065 A CN112616065 A CN 112616065A
Authority
CN
China
Prior art keywords
screen
screen image
file
stream
protocol
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
CN202011484983.2A
Other languages
English (en)
Other versions
CN112616065B (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.)
Shenzhen Happycast Technology Co Ltd
Original Assignee
Shenzhen Happycast 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 Shenzhen Happycast Technology Co Ltd filed Critical Shenzhen Happycast Technology Co Ltd
Priority to CN202011484983.2A priority Critical patent/CN112616065B/zh
Publication of CN112616065A publication Critical patent/CN112616065A/zh
Application granted granted Critical
Publication of CN112616065B publication Critical patent/CN112616065B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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/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/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及屏幕镜像技术领域,公开了一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现系统,可在屏幕镜像发起端先基于私有协议采集获取原始数据流,然后根据原始数据流实时生成并保存符合超文本直播流HLS协议的TS流文件和m3u8索引文件,最后通过发起端和接收端公有的DLNA协议,将m3u8索引文件的本地访问地址传送至屏幕镜像接收端,以便该屏幕镜像接收端能够根据访问地址从发起端获取保存的m3u8索引文件及实时分片数据,实现屏幕镜像投屏目的,从而可以只要求发起端支持私有协议,而不要求接收端也支持,因此可以大大扩展屏幕镜像的应用场景,提升用户的使用体验。

Description

一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及 屏幕镜像呈现系统
技术领域
本发明属于屏幕镜像技术领域,具体地涉及一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现系统。
背景技术
屏幕镜像是指将发起端当前屏幕(例如手机屏幕)所展示的画面同屏到诸如电脑或智能电视等更大的屏幕上,例如可以将手机文档投屏至智能电视上,将电脑桌面投屏至智能电视上,将手机视频及手机音乐投屏至智能电视上,等等。
在目前的多屏互动领域中,虽然市场上智能电视的型号多样且性能不一,但是大多智能电视出厂即内置有DLNA投屏协议(Digital Living Network Alliance,数字生活网络联盟,虽然DLNA委员会已经于2017年1月5日正式解散,原因是旧的标准已经无法满足新设备的发展趋势,DLNA标准将来也不会再更新,但是DLNA协议的使用依然比较广泛,短时间内不会退出历史舞台,在某些情况下依然是最好的解决方案之一),可响应由支持DLNA协议的发起端所发起的视频投屏,因此目前视频APP的投屏大多是使用DLNA协议。
然而目前的屏幕镜像基本上都是基于私有协议,例如AirPlay协议(其与DLNA类似,例如两种都是基于组播实现的设备发现,只不过DLNA是基于简单服务发现协议SSDP,而AirPlay是基于multicast DNS,甚至苹果公司曾经也是DLNA委员会的成员;相对DLNA,AirPlay提供了一套完善的官方标准实现,开发者只需要按照文档调用接口API即可,当然如果需要在第三方设备上实现AirPlay功能,需要自己实现一套与AirPlay兼容的功能,因此有通过分析抓包实现的第三方AirPlay兼容库,包括发起端和接收端)和乐播投屏的镜像协议,如此就要求发起和接收双端都必须支持私有协议,导致屏幕镜像的应用场景有限,难以提升用户的使用体验。
发明内容
为了解决当前屏幕镜像因要求发起和接收双端都必须支持私有协议而导致应用场景有限的问题,本发明目的在于提供一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现系统,可以只要求发起端支持私有协议,而不要求接收端也支持,因此可以大大扩展屏幕镜像的应用场景,提升用户的使用体验。
第一方面,本发明提供了一种屏幕镜像发起方法,包括:
获取在屏幕镜像功能开启后实时采集的原始数据流;
根据所述原始数据流,实时生成符合超文本直播流HLS协议的TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议 HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
基于上述发明内容,可在屏幕镜像发起端先基于私有协议采集获取原始数据流,然后根据原始数据流实时生成并保存符合超文本直播流HLS协议的TS流文件和m3u8索引文件,最后通过发起端和接收端公有的DLNA协议,将m3u8索引文件的本地访问地址传送至屏幕镜像接收端,以便该屏幕镜像接收端能够根据访问地址从发起端获取保存的m3u8索引文件及实时分片数据,实现屏幕镜像投屏目的,从而可以只要求发起端支持私有协议,而不要求接收端也支持,因此可以大大扩展屏幕镜像的应用场景,提升用户的使用体验。
在一个可能的设计中,获取在屏幕镜像功能开启后实时采集的原始数据流,包括:
在收到来自用户的屏幕镜像功能开启操作后,启动采集本地屏幕的画面显示信息;
对采集的所述画面显示信息进行实时编码,将编码得到的视频流作为所述原始数据流。
在一个可能的设计中,获取在屏幕镜像功能开启后实时采集的原始数据流,包括:
在收到来自用户的屏幕镜像功能开启操作后,启动采集本地屏幕的画面显示信息和与所述画面显示信息同步的声音播放信息;
对采集的所述画面显示信息和所述声音播放信息进行实时编码,将编码得到的音视频流作为所述原始数据流。
在一个可能的设计中,所述TS流文件为包含有至少一个活动图像专家组MPEG2-TS分片数据的MPEG2-TS传输流文件。
在一个可能的设计中,所述m3u8索引文件包含所有MPEG2-TS分片数据的时长、字节大小、MD5校验值、相对位置和/或绝对位置。
第二方面,本发明提供了一种屏幕镜像发起装置,包括有依次通信连接的原始流获取模块、文件生成模块和地址传送模块;
所述原始流获取模块,用于获取在屏幕镜像功能开启后实时采集的原始数据流;
所述文件生成模块,用于根据所述原始数据流,实时生成符合超文本直播流HLS协议的 TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
所述信息传送模块,用于通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
第三方面,本发明提供了一种计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法。
第四方面,本发明提供了一种可读存储介质,所述可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如上第一方面或第一方面中任意一种可能设计的所述屏幕镜像发起方法。
第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如上第一方面或第一方面中任意一种可能设计的所述屏幕镜像发起方法。
第六方面,本发明提供了一种屏幕镜像呈现系统,包括有通信相连的屏幕镜像发起端和屏幕镜像接收端;
所述屏幕镜像发起端,用于执行如上第一方面或第一方面中任意一种可能设计的所述屏幕镜像发起方法;
所述屏幕镜像接收端,用于根据来自所述屏幕镜像发起端的访问地址,从所述屏幕镜像发起端的超文本传输协议HTTP服务器中获取保存的m3u8索引文件,然后基于所述m3u8索引文件获取TS流文件的实时分片数据,最后呈现所述实时分片数据。
在一个可能的设计中,所述屏幕镜像发起端为智能手机、平板电脑、笔记本电脑或台式电脑,所述屏幕镜像接收端为智能电视。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的屏幕镜像发起方法的流程示意图。
图2是本发明提供的屏幕镜像发起装置的结构示意图。
图3是本发明提供的计算机设备的结构示意图。
图4是本发明提供的屏幕镜像呈现系统的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。
应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。
应当理解,还应当注意到在一些备选可能设计中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而, 本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。
如图1所示,本实施例第一方面提供的所述屏幕镜像发起方法,可以但不限于由支持屏幕镜像私有协议(例如AirPlay协议或乐播投屏的镜像协议等)的终端设备执行,例如在智能手机或平板电脑等电子设备上执行。所述屏幕镜像发起方法,可以但不限于包括有如下步骤S101~S103。
S101.获取在屏幕镜像功能开启后实时采集的原始数据流。
在所述步骤S101中,所述屏幕镜像功能为基于屏幕镜像私有协议的应用程序APP所支持的功能,用户可以但不限于通过在人机交互界面上的点击操作来触发开启。所述原始数据流包含但不限于有基于本地屏幕(例如当执行主体为智能手机时,本地屏幕为手机屏幕)的画面显示信息而编码得到的视频流,或者基于本地屏幕的画面显示信息和与所述画面显示信息同步的声音播放信息而编码得到的音视频流,前述进行实时采集和编码的具体方式为现有屏幕镜像私有协议中的常用方式。
在所述步骤S101中,具体的,获取在屏幕镜像功能开启后实时采集的原始数据流,包括但不限于有如下步骤S111~S112:S111.在收到来自用户的屏幕镜像功能开启操作后,启动采集本地屏幕的画面显示信息;S112.对采集的所述画面显示信息进行实时编码,将编码得到的视频流作为所述原始数据流。
在所述步骤S101中,具体的,获取在屏幕镜像功能开启后实时采集的原始数据流,包括但不限于有如下步骤S121~S122:S121.在收到来自用户的屏幕镜像功能开启操作后,启动采集本地屏幕的画面显示信息和与所述画面显示信息同步的声音播放信息;S122.对采集的所述画面显示信息和所述声音播放信息进行实时编码,将编码得到的音视频流作为所述原始数据流。
S102.根据所述原始数据流,实时生成符合超文本直播流HLS协议的TS流文件和与所述 TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件。
在所述步骤S102中,所述超文本直播流HLS协议是苹果公司提出的且基于超文本传输协议HTTP(HyperText Transfer Protocol,是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准,其是一种简单的请求-响应协议,它通常运行在TCP 之上,并指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应)的流媒体网络传输协议,用户可以很方便地在PC端和Apple终端收看通过该协议传输的实时或需要点播的音视频;相较于常见的RTMP(Real Time Messaging Protocol,实时消息传输协议,是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信)等流媒体协议,HLS协议主要有以下优势:(1)HLS基于HTTP协议传输视频流数据,具有较好的网络兼容性,HTTP数据包可轻松地通过防火墙或代理服务器,更利于视频分发,而RTMP流则不仅对播放器有要求,且会因防火墙的拦截导致观众收看不了视频;(2)HLS具有很好的生态系统,即对于观众来说,Apple全系列产品原生支持HLS的解码,这意味着很容易就能收看由HLS协议发送出的视频,而对于视频制作者来说,Amazon Web Service等云服务平台均能支持转码发送HLS视频流。因此从视频源的产生到终端设备的播放已具备非常成熟且常见的基础,使得通过HLS协议传输的视频可以适应不同网络带宽条件下的播放,以保证视频直播不卡顿。
在所述步骤S102中,所述TS流文件(Transport Stream,传输流)是一种DVD的文件格式,具体可以但不限于为包含有至少一个活动图像专家组MPEG2-TS分片数据的MPEG2-TS传输流文件,其中,每个所述MPEG2-TS分片数据的第一个视频帧为关键帧——I帧(即每个GOP的第一个帧,经过适度地压缩,可作为随机访问的参考点,可以当成图像),后续视频帧由P帧和B帧(即一个GOP序列)以及对于时间的音频编码数据组成,以便从视频流的任一片段开始都是可以独立解码的。所述m3u8索引文件为所有MPEG2-TS分片数据的索引文件,包含但不限于有所有MPEG2-TS分片数据的时长、字节大小、MD5校验值、相对位置和/或绝对位置等。具体生成所述TS流文件和所述m3u8索引文件的方式为常用的流媒体格式转换方式。此外,所述本地超文本传输协议HTTP服务器是指在屏幕镜像发起端配置的一个专用服务器(例如在智能手机端的一个虚拟服务器),用于保存根据实时采集情况而动态更新的所述TS流文件和所述m3u8索引文件。
S103.通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
在所述步骤S103中,所述访问地址可以但不限于具体为统一资源定位符URL(Uniform Resource Locator,它是WWW的统一资源定位标志,就是指网络地址)。所述屏幕镜像接收端可以但不限于为智能电视,虽然市场上智能电视的型号多样且性能不一,但是大多智能电视出厂即内置有DLNA协议,因此可通过DLNA协议先发现所述屏幕镜像接收端,然后建立连接来传送所述访问地址以及所述m3u8索引文件和所述实时分片数据。由于所述实时分片数据对应了最新采集的画面显示信息/和声音播放信息,因此可以实现屏幕镜像投屏目的。此外,所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述 m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据的具体方式,也可以但不限于通过所述数字生活网络联盟DLNA协议来交互完成。
由此通过前述步骤S101~S103所描述的屏幕镜像发起方案,可在屏幕镜像发起端先基于私有协议采集获取原始数据流,然后根据原始数据流实时生成并保存符合超文本直播流 HLS协议的TS流文件和m3u8索引文件,最后通过发起端和接收端公有的DLNA协议,将m3u8 索引文件的本地访问地址传送至屏幕镜像接收端,以便该屏幕镜像接收端能够根据访问地址从发起端获取保存的m3u8索引文件及实时分片数据,实现屏幕镜像投屏目的,从而可以只要求发起端支持私有协议,而不要求接收端也支持,因此可以大大扩展屏幕镜像的应用场景,提升用户的使用体验。
如图2所示,本实施例第二方面提供了一种实现第一方面或第一方面中任意一种可能设计所述屏幕镜像发起方法的虚拟装置,包括有依次通信连接的原始流获取模块、文件生成模块和地址传送模块;
所述原始流获取模块,用于获取在屏幕镜像功能开启后实时采集的原始数据流;
所述文件生成模块,用于根据所述原始数据流,实时生成符合超文本直播流HLS协议的 TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
所述信息传送模块,用于通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
本实施例第二方面提供的前述装置的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法,于此不再赘述。
如图3所示,本实施例第三方面提供了一种执行第一方面或第一方面中任意一种可能设计所述屏幕镜像发起方法的计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,执行如第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法。具体举例的,所述存储器可以但不限于包括随机存取存储器(Random-Access Memory,RAM)、只读存储器(Read-OnlyMemory,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First Input Last Output,FILO)等等;所述收发器可以但不限于为WiFi(无线保真)无线收发器、蓝牙无线收发器、GPRS(General Packet Radio Service,通用分组无线服务技术)无线收发器和/或ZigBee(紫蜂协议,基于IEEE802.15.4标准的低功耗局域网协议)无线收发器等;所述处理器可以不限于采用型号为STM32F105系列的微处理器。此外,所述计算机设备还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例第三方面提供的前述计算机设备的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法,于此不再赘述。
本实施例第四方面提供了一种存储包含第一方面或第一方面中任意一种可能设计所述屏幕镜像发起方法的指令的可读存储介质,即所述可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法。其中,所述可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例第四方面提供的前述可读存储介质的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法,于此不再赘述。
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法。其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例第六方面提供了一种屏幕镜像呈现系统,包括有通信相连的屏幕镜像发起端和屏幕镜像接收端;所述屏幕镜像发起端,用于执行如第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法;所述屏幕镜像接收端,用于根据来自所述屏幕镜像发起端的访问地址,从所述屏幕镜像发起端的超文本传输协议HTTP服务器中获取保存的m3u8索引文件,然后基于所述m3u8索引文件获取TS流文件的实时分片数据,最后呈现所述实时分片数据。
本实施例第六方面提供的前述可读存储介质的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的屏幕镜像发起方法,于此不再赘述。此外,所述屏幕镜像发起端可以但不限于为智能手机、平板电脑、笔记本电脑或台式电脑等,所述屏幕镜像接收端可以但不限于为智能电视等。
以上所描述的实施例仅仅是示意性的,若涉及到作为分离部件说明的单元,其可以是或者也可以不是物理上分开的;若涉及到作为单元显示的部件,其可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

Claims (10)

1.一种屏幕镜像发起方法,其特征在于,包括:
获取在屏幕镜像功能开启后实时采集的原始数据流;
根据所述原始数据流,实时生成符合超文本直播流HLS协议的TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
2.如权利要求1所述的屏幕镜像发起方法,其特征在于,获取在屏幕镜像功能开启后实时采集的原始数据流,包括:
在收到来自用户的屏幕镜像功能开启操作后,启动采集本地屏幕的画面显示信息;
对采集的所述画面显示信息进行实时编码,将编码得到的视频流作为所述原始数据流。
3.如权利要求1所述的屏幕镜像发起方法,其特征在于,获取在屏幕镜像功能开启后实时采集的原始数据流,包括:
在收到来自用户的屏幕镜像功能开启操作后,启动采集本地屏幕的画面显示信息和与所述画面显示信息同步的声音播放信息;
对采集的所述画面显示信息和所述声音播放信息进行实时编码,将编码得到的音视频流作为所述原始数据流。
4.如权利要求1所述的屏幕镜像发起方法,其特征在于,所述TS流文件为包含有至少一个活动图像专家组MPEG2-TS分片数据的MPEG2-TS传输流文件。
5.如权利要求4所述的屏幕镜像发起方法,其特征在于,所述m3u8索引文件包含所有MPEG2-TS分片数据的时长、字节大小、MD5校验值、相对位置和/或绝对位置。
6.一种屏幕镜像发起装置,其特征在于,包括有依次通信连接的原始流获取模块、文件生成模块和地址传送模块;
所述原始流获取模块,用于获取在屏幕镜像功能开启后实时采集的原始数据流;
所述文件生成模块,用于根据所述原始数据流,实时生成符合超文本直播流HLS协议的TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
所述信息传送模块,用于通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
7.一种计算机设备,其特征在于,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,所述处理器用于读取所述计算机程序,执行如权利要求1~5中任意一项所述的屏幕镜像发起方法。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~5中任意一项所述的屏幕镜像发起方法。
9.一种屏幕镜像呈现系统,其特征在于,包括有通信相连的屏幕镜像发起端和屏幕镜像接收端;
所述屏幕镜像发起端,用于执行如权利要求1~5中任意一项所述的屏幕镜像发起方法;
所述屏幕镜像接收端,用于根据来自所述屏幕镜像发起端的访问地址,从所述屏幕镜像发起端的超文本传输协议HTTP服务器中获取保存的m3u8索引文件,然后基于所述m3u8索引文件获取TS流文件的实时分片数据,最后呈现所述实时分片数据。
10.如权利要求9所述的一种屏幕镜像呈现系统,其特征在于,所述屏幕镜像发起端为智能手机、平板电脑、笔记本电脑或台式电脑,所述屏幕镜像接收端为智能电视。
CN202011484983.2A 2020-12-16 2020-12-16 一种屏幕镜像发起方法、装置、系统及可读存储介质 Active CN112616065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011484983.2A CN112616065B (zh) 2020-12-16 2020-12-16 一种屏幕镜像发起方法、装置、系统及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011484983.2A CN112616065B (zh) 2020-12-16 2020-12-16 一种屏幕镜像发起方法、装置、系统及可读存储介质

Publications (2)

Publication Number Publication Date
CN112616065A true CN112616065A (zh) 2021-04-06
CN112616065B CN112616065B (zh) 2023-06-13

Family

ID=75239671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011484983.2A Active CN112616065B (zh) 2020-12-16 2020-12-16 一种屏幕镜像发起方法、装置、系统及可读存储介质

Country Status (1)

Country Link
CN (1) CN112616065B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438527A (zh) * 2021-06-25 2021-09-24 北京奇艺世纪科技有限公司 一种视频投屏方法、装置、设备和存储介质
CN114286137A (zh) * 2021-08-23 2022-04-05 海信视像科技股份有限公司 一种镜像投屏方法、显示设备及终端
CN114827682A (zh) * 2022-04-08 2022-07-29 北京字节跳动网络技术有限公司 投屏方法、系统、设备及存储介质
CN115484484A (zh) * 2022-08-30 2022-12-16 深圳市思为软件技术有限公司 一种智能设备投屏控制方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130219072A1 (en) * 2012-02-20 2013-08-22 Samsung Electronics Co., Ltd. Screen mirroring method and apparatus thereof
US20140280784A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation File Transfer Based Upon Streaming Format
CN104427399A (zh) * 2013-08-29 2015-03-18 汤姆逊许可公司 采用显示转发功能兼容通知的内容共享方法及相关设备
KR20150101903A (ko) * 2014-02-27 2015-09-04 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
US20170019445A1 (en) * 2015-07-16 2017-01-19 Arris Enterprises, Inc. Systems and methods for providing dlna streaming to client devices
CN106792055A (zh) * 2016-12-28 2017-05-31 福建星网视易信息系统有限公司 实时投屏方法、设备及系统
CN107135417A (zh) * 2017-06-08 2017-09-05 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN110248346A (zh) * 2019-06-17 2019-09-17 四川长虹电器股份有限公司 多设备投屏方法及系统
CN210490926U (zh) * 2019-06-18 2020-05-08 太和汉创汽车工程科技(武汉)有限公司 一种汽车用的全投屏手机互联系统
CN111901674A (zh) * 2020-07-13 2020-11-06 腾讯科技(深圳)有限公司 一种视频播放控制及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130219072A1 (en) * 2012-02-20 2013-08-22 Samsung Electronics Co., Ltd. Screen mirroring method and apparatus thereof
US20140280784A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation File Transfer Based Upon Streaming Format
CN104427399A (zh) * 2013-08-29 2015-03-18 汤姆逊许可公司 采用显示转发功能兼容通知的内容共享方法及相关设备
KR20150101903A (ko) * 2014-02-27 2015-09-04 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
US20170019445A1 (en) * 2015-07-16 2017-01-19 Arris Enterprises, Inc. Systems and methods for providing dlna streaming to client devices
CN106792055A (zh) * 2016-12-28 2017-05-31 福建星网视易信息系统有限公司 实时投屏方法、设备及系统
CN107135417A (zh) * 2017-06-08 2017-09-05 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN110248346A (zh) * 2019-06-17 2019-09-17 四川长虹电器股份有限公司 多设备投屏方法及系统
CN210490926U (zh) * 2019-06-18 2020-05-08 太和汉创汽车工程科技(武汉)有限公司 一种汽车用的全投屏手机互联系统
CN111901674A (zh) * 2020-07-13 2020-11-06 腾讯科技(深圳)有限公司 一种视频播放控制及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438527A (zh) * 2021-06-25 2021-09-24 北京奇艺世纪科技有限公司 一种视频投屏方法、装置、设备和存储介质
CN114286137A (zh) * 2021-08-23 2022-04-05 海信视像科技股份有限公司 一种镜像投屏方法、显示设备及终端
CN114827682A (zh) * 2022-04-08 2022-07-29 北京字节跳动网络技术有限公司 投屏方法、系统、设备及存储介质
CN114827682B (zh) * 2022-04-08 2024-08-23 北京字节跳动网络技术有限公司 投屏方法、系统、设备及存储介质
CN115484484A (zh) * 2022-08-30 2022-12-16 深圳市思为软件技术有限公司 一种智能设备投屏控制方法、装置、电子设备及存储介质
CN115484484B (zh) * 2022-08-30 2024-05-14 深圳市思为软件技术有限公司 一种智能设备投屏控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112616065B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN112616065B (zh) 一种屏幕镜像发起方法、装置、系统及可读存储介质
CN109889543B (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
JP6425720B2 (ja) コンテンツ配信のための方法及び装置
US20110138018A1 (en) Mobile media server
CN111010614A (zh) 一种显示直播字幕的方法、装置、服务器及介质
WO2018014691A1 (zh) 一种媒体数据的获取方法和装置
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
CN110062268A (zh) 一种音视频同屏播放的发送和接收处理方法及装置
CN103329521A (zh) 用于暂停视频流传送内容的方法、设备和计算机程序产品
KR20130005873A (ko) 방송 시스템에서 컨텐츠 수신 방법 및 장치
WO2018118710A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming
EP2891323B1 (en) Rendering time control
JPWO2016174960A1 (ja) 受信装置、送信装置、およびデータ処理方法
CN108494792A (zh) 一种flash播放器播放hls视频流的转换系统及其工作方法
CN113727199A (zh) 一种hls切片快速起播方法
CN114040232A (zh) 投屏系统、方法、电子设备和存储介质
CN114245153A (zh) 切片方法、装置、设备及可读存储介质
CN111010620B (zh) 多媒体资源轮播的方法、装置、电子设备和存储介质
CN104639979A (zh) 视频分享方法及系统
CN102710967A (zh) 一种云电视系统与方法
CN115714874A (zh) 视频流分屏显示方法、装置、系统、拉流设备和存储介质
WO2018171567A1 (zh) 播放媒体流的方法、服务器及终端
US20150032900A1 (en) System for seamlessly switching between a cloud-rendered application and a full-screen video sourced from a content server
CN107534792B (zh) 接收设备、发送设备以及数据处理方法
Tabari et al. Low latency live video streaming on android devices using web-socket

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