CN112616065B - 一种屏幕镜像发起方法、装置、系统及可读存储介质 - Google Patents
一种屏幕镜像发起方法、装置、系统及可读存储介质 Download PDFInfo
- Publication number
- CN112616065B CN112616065B CN202011484983.2A CN202011484983A CN112616065B CN 112616065 B CN112616065 B CN 112616065B CN 202011484983 A CN202011484983 A CN 202011484983A CN 112616065 B CN112616065 B CN 112616065B
- Authority
- CN
- China
- Prior art keywords
- screen
- stream
- screen image
- protocol
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000977 initiatory effect Effects 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000012634 fragment Substances 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 25
- 238000012546 transfer Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims 2
- 238000013461 design Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101000826116 Homo sapiens Single-stranded DNA-binding protein 3 Proteins 0.000 description 1
- 102100023008 Single-stranded DNA-binding protein 3 Human genes 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
- H04N21/2335—Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234309—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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/440218—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking 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 (8)
1.一种屏幕镜像发起方法,其特征在于,包括:
获取在屏幕镜像功能开启后实时采集的原始数据流,具体包括:在收到来自用户的屏幕镜像功能开启操作后,先启动采集本地屏幕的画面显示信息,然后对采集的所述画面显示信息进行实时编码,将编码得到的视频流作为所述原始数据流,或者先启动采集本地屏幕的画面显示信息和与所述画面显示信息同步的声音播放信息,然后对采集的所述画面显示信息和所述声音播放信息进行实时编码,将编码得到的音视频流作为所述原始数据流,其中,所述屏幕镜像功能为基于屏幕镜像私有协议的应用程序APP所支持的功能,并通过所述用户在人机交互界面上的点击操作来触发开启,前述实时采集和编码的具体方式采用所述屏幕镜像私有协议;
根据所述原始数据流,实时生成符合超文本直播流HLS协议的TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
2.如权利要求1所述的屏幕镜像发起方法,其特征在于,所述TS流文件为包含有至少一个活动图像专家组MPEG2-TS分片数据的MPEG2-TS传输流文件。
3.如权利要求2所述的屏幕镜像发起方法,其特征在于,所述m3u8索引文件包含所有MPEG2-TS分片数据的时长、字节大小、MD5校验值、相对位置和/或绝对位置。
4.一种屏幕镜像发起装置,其特征在于,包括有依次通信连接的原始流获取模块、文件生成模块和地址传送模块;
所述原始流获取模块,用于获取在屏幕镜像功能开启后实时采集的原始数据流,具体包括:在收到来自用户的屏幕镜像功能开启操作后,先启动采集本地屏幕的画面显示信息,然后对采集的所述画面显示信息进行实时编码,将编码得到的视频流作为所述原始数据流,或者先启动采集本地屏幕的画面显示信息和与所述画面显示信息同步的声音播放信息,然后对采集的所述画面显示信息和所述声音播放信息进行实时编码,将编码得到的音视频流作为所述原始数据流,其中,所述屏幕镜像功能为基于屏幕镜像私有协议的应用程序APP所支持的功能,并通过所述用户在人机交互界面上的点击操作来触发开启,前述实时采集和编码的具体方式采用所述屏幕镜像私有协议;
所述文件生成模块,用于根据所述原始数据流,实时生成符合超文本直播流HLS协议的TS流文件和与所述TS流文件对应的m3u8索引文件,并在本地超文本传输协议HTTP服务器上保存所述TS流文件和所述m3u8索引文件;
所述信息传送模块,用于通过数字生活网络联盟DLNA协议,将所述m3u8索引文件在所述本地超文本传输协议HTTP服务器中的访问地址传送至支持DLNA协议的屏幕镜像接收端,以便所述屏幕镜像接收端根据所述访问地址从所述本地超文本传输协议HTTP服务器中获取所述m3u8索引文件,然后基于所述m3u8索引文件获取所述TS流文件的实时分片数据,最后呈现所述实时分片数据。
5.一种计算机设备,其特征在于,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发信息,所述处理器用于读取所述计算机程序,执行如权利要求1~3中任意一项所述的屏幕镜像发起方法。
6.一种可读存储介质,其特征在于,所述可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~3中任意一项所述的屏幕镜像发起方法。
7.一种屏幕镜像呈现系统,其特征在于,包括有通信相连的屏幕镜像发起端和屏幕镜像接收端;
所述屏幕镜像发起端,用于执行如权利要求1~3中任意一项所述的屏幕镜像发起方法;
所述屏幕镜像接收端,用于根据来自所述屏幕镜像发起端的访问地址,从所述屏幕镜像发起端的超文本传输协议HTTP服务器中获取保存的m3u8索引文件,然后基于所述m3u8索引文件获取TS流文件的实时分片数据,最后呈现所述实时分片数据。
8.如权利要求7所述的一种屏幕镜像呈现系统,其特征在于,所述屏幕镜像发起端为智能手机、平板电脑、笔记本电脑或台式电脑,所述屏幕镜像接收端为智能电视。
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 CN112616065A (zh) | 2021-04-06 |
CN112616065B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286137A (zh) * | 2021-08-23 | 2022-04-05 | 海信视像科技股份有限公司 | 一种镜像投屏方法、显示设备及终端 |
CN113438527A (zh) * | 2021-06-25 | 2021-09-24 | 北京奇艺世纪科技有限公司 | 一种视频投屏方法、装置、设备和存储介质 |
CN114827682B (zh) * | 2022-04-08 | 2024-08-23 | 北京字节跳动网络技术有限公司 | 投屏方法、系统、设备及存储介质 |
CN115484484B (zh) * | 2022-08-30 | 2024-05-14 | 深圳市思为软件技术有限公司 | 一种智能设备投屏控制方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104427399A (zh) * | 2013-08-29 | 2015-03-18 | 汤姆逊许可公司 | 采用显示转发功能兼容通知的内容共享方法及相关设备 |
CN106792055A (zh) * | 2016-12-28 | 2017-05-31 | 福建星网视易信息系统有限公司 | 实时投屏方法、设备及系统 |
CN110248346A (zh) * | 2019-06-17 | 2019-09-17 | 四川长虹电器股份有限公司 | 多设备投屏方法及系统 |
CN210490926U (zh) * | 2019-06-18 | 2020-05-08 | 太和汉创汽车工程科技(武汉)有限公司 | 一种汽车用的全投屏手机互联系统 |
CN111901674A (zh) * | 2020-07-13 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种视频播放控制及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101918040B1 (ko) * | 2012-02-20 | 2019-01-29 | 삼성전자주식회사 | 스크린 미러링 방법 및 그 장치 |
US20140280784A1 (en) * | 2013-03-15 | 2014-09-18 | General Instrument Corporation | File Transfer Based Upon Streaming Format |
KR102277258B1 (ko) * | 2014-02-27 | 2021-07-14 | 엘지전자 주식회사 | 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법 |
US10673907B2 (en) * | 2015-07-16 | 2020-06-02 | Arris Enterprises Llc | Systems and methods for providing DLNA streaming to client devices |
CN107135417B (zh) * | 2017-06-08 | 2019-08-20 | 深圳市耐飞科技有限公司 | 一种hls协议的投屏方法及系统 |
-
2020
- 2020-12-16 CN CN202011484983.2A patent/CN112616065B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104427399A (zh) * | 2013-08-29 | 2015-03-18 | 汤姆逊许可公司 | 采用显示转发功能兼容通知的内容共享方法及相关设备 |
CN106792055A (zh) * | 2016-12-28 | 2017-05-31 | 福建星网视易信息系统有限公司 | 实时投屏方法、设备及系统 |
CN110248346A (zh) * | 2019-06-17 | 2019-09-17 | 四川长虹电器股份有限公司 | 多设备投屏方法及系统 |
CN210490926U (zh) * | 2019-06-18 | 2020-05-08 | 太和汉创汽车工程科技(武汉)有限公司 | 一种汽车用的全投屏手机互联系统 |
CN111901674A (zh) * | 2020-07-13 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种视频播放控制及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112616065A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112616065B (zh) | 一种屏幕镜像发起方法、装置、系统及可读存储介质 | |
CN107846633B (zh) | 一种直播方法及系统 | |
CN109889543B (zh) | 视频传输的方法、根节点、子节点、p2p服务器和系统 | |
JP6425720B2 (ja) | コンテンツ配信のための方法及び装置 | |
CN107135417B (zh) | 一种hls协议的投屏方法及系统 | |
CN111010614A (zh) | 一种显示直播字幕的方法、装置、服务器及介质 | |
US20110138018A1 (en) | Mobile media server | |
JP2020519094A (ja) | ビデオ再生方法、デバイス、およびシステム | |
CN110876080A (zh) | 视频投屏方法、装置、计算机设备及存储介质 | |
WO2014201883A1 (en) | Method and device for playing streaming media, and non-transitory storage medium | |
EP2712126A2 (en) | Networking method, server end device, client end device and network system | |
CN110062268A (zh) | 一种音视频同屏播放的发送和接收处理方法及装置 | |
US20140036098A1 (en) | Terminal Apparatus And Video-Data Distribution Method | |
CN103702178B (zh) | 一种播放方法及电子设备 | |
CN108667871B (zh) | 基于p2p的传输方法和装置 | |
CN102387187A (zh) | 服务器、客户端及利用其远程播放视频文件的方法和系统 | |
CN103024491B (zh) | 移动终端的视频播放方法和系统 | |
CN113923502B (zh) | 直播视频播放方法及装置 | |
WO2015180446A1 (zh) | 一种多设备联动服务中的连接通道维护系统及方法 | |
CN113727199A (zh) | 一种hls切片快速起播方法 | |
CN114040232A (zh) | 投屏系统、方法、电子设备和存储介质 | |
CN107547517B (zh) | 音视频节目录制方法和网络设备及计算机装置 | |
CN114679604A (zh) | 资源处理方法及装置 | |
CN114245153A (zh) | 切片方法、装置、设备及可读存储介质 | |
KR20110139782A (ko) | 이동통신 단말기 간 실시간 스트리밍을 위한 장치 및 방법 |
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 |