视频投放方法和系统
技术领域
本公开涉及视频投放技术领域,具体涉及一种视频投放方法和系统。
背景技术
目前,智能手机都支持无线投屏功能,Android系统采用Miracast协议,iphone手机采用airplay协议。两个协议实现有所不同,但是在方案上大体一致,首先手机和接收端设备建立IP网络连接,然后将手机屏幕的视频通过视频压缩算法进行压缩,通常采用H264,再通过网络将压缩后的数据发送给接收端,接收端收到收据后,将其解压还原播放。
但是,目前手机投屏只支持点对点的投屏,也就是说手机只能将视频源投放到某一个接收端,无法将视频源投放到多个屏幕进行显示。需要多个同时投放的场合就无法使用。
发明内容
本公开的目的在于克服现有技术的不足,提供一种视频投放方法和系统,该视频投放方法能够解决无法将终端的视频源投放到多个显示屏的问题。
根据本公开实施例的第一方面,提供一种视频投放方法,应用于视频投放系统,该视频投放系统包括终端、主设备、与主设备连接的至少一个从设备、与主设备连接的第一显示设备、以及与至少一个从设备连接的至少一个第二显示设备;该方法包括:
主设备与至少一个从设备建立连接;
主设备创建组播组,至少一个从设备加入组播组;
终端与主设备建立连接,并发送视频流至主设备;
主设备接收视频流,并解码后发送至第一显示设备显示;并将视频流通过组播方式发送至所述组播组内的至少一个从设备;
组播组内的至少一个从设备接收视频流,并解码后发送至第二显示设备显示。
在一个实施例中,主设备与至少一个从设备建立连接包括:
至少一个从设备根据预置的主设备的WIFI热点的SSID名称和登录密码连接至主设备,并发送其设备ID与设备密码至主设备;
主设备接收至少一个从设备发送的设备ID与设备密码,并根据预置的至少一个从设备的设备ID与设备密码进行鉴权认证;
若鉴权认证通过,则主设备与至少一个从设备建立网络连接。
在一个实施例中,主设备创建组播组,至少一个从设备加入组播组包括:
主设备创建组播组;
主设备发送邀请加入信息至至少一个从设备;
至少一个从设备接收邀请加入信息,并根据邀请加入信息加入组播组。
在一个实施例中,主设备创建组播组,至少一个从设备加入组播组包括:
主设备创建组播组;
至少一个从设备发送申请加入信息至主设备;
主设备接收申请加入信息,并根据申请加入信息允许至少一个从设备加入组播组。
在一个实施例中,终端与主设备建立连接,并发送视频流至主设备包括:
终端与主设备建立连接,并通过Miracast或Airplay方式接入主设备,并发送视频流至主设备。
在一个实施例中,主设备接收视频流,并解码后发送至第一显示设备显示;并将视频流通过组播报文方式发送至所述组播组内的至少一个从设备包括:
主设备接收视频流,并解码后输出至第一HDMI接口,并通过第一HDMI接口发送至第一显示设备进行显示;并将视频流封装为RTP报文,并通过组播方式将RTP报文发送至所述组播组内的至少一个从设备;
组播组内的至少一个从设备接收视频流,并解码后发送至第二显示设备显示包括:
组播组内的至少一个从设备接收RTP报文,并解码后输出至第二HDMI接口,并通过第二HDMI接口发送至第二显示设备进行显示。
根据本公开实施例的第二方面,提供一种视频投放系统,该视频投放系统包括:
终端、主设备、与主设备连接的至少一个从设备、与主设备连接的第一显示设备、以及与至少一个从设备连接的至少一个第二显示设备;
主设备与至少一个从设备建立连接,并创建组播组,至少一个从设备加入组播组;
终端与主设备建立连接,并发送视频流至主设备;
主设备接收视频流,并解码后发送至第一显示设备显示;并将视频流通过组播方式发送至所述组播组内的至少一个从设备;
组播组内的至少一个从设备接收视频流,并解码后发送至第二显示设备显示。
在一个实施例中,主设备的软件模块包括:
Miracast模块和Airplay模块,用于建立主设备与终端之间的媒体链路,并获取视频流;
从设备管理模块,用于建立主设备和从设备之间的网络链路,并对从设备接入进行鉴权认证;
第一视频解码模块,用于接收终端发送的视频流,并进行解码;
第一HDMI接口,用于将解码后的视频流输出至第一显示设备;
第一码流接收模块,用于接收终端发送的码流报文;
组播转发模块,用于将接收到的码流报文转发至至少一个从设备;
WiFi驱动模块,用于驱动无线网络的链路通道;
TCP/IP协议栈,用于发送和接收网络层的报文;
操作系统,用于调度和管理主设备的软件模块和硬件模块。
在一个实施例中,从设备的软件模块包括:
组播接收模块,用于接收主设备发送的组播报文,并将组播报文发送至第二视频解码模块;
第二视频解码模块,用于接收组播报文,并进行解码;
第二HDMI接口,用于将解码后的组播报文输出至第二显示设备;
WiFi驱动模块,用于驱动无线网络的链路通道;
TCP/IP协议栈,用于发送和接收网络层的组播报文;
操作系统,用于调度和管理从设备的软件模块和硬件模块。
在一个实施例中,主设备和从设备的硬件模块均包括视频解码芯片、内存、Flash、以及Wi-Fi芯片。
本公开提供的一种视频投放系统,终端通过Miracast或者Airplay协议将视频流投放到主设备;主设备解码视频流并输出到第一显示设备,同时将视频流通过组播报文发送给组播组内的所有从设备,从设备接收并解码到视频流后,输出到第二显示设备,从而实现了将终端画面同时投放到多个显示屏。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本公开实施例提供的一种视频投放方法的流程图。
图2为本公开实施例提供的一种视频投放系统的示意图。
图3为本公开实施例提供的一种视频投放系统中的主设备的示意图。
图4为本公开实施例提供的一种视频投放系统中的从设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种视频投放方法,应用于视频投放系统,该视频投放系统包括终端、主设备、与主设备连接的至少一个从设备、与主设备连接的第一显示设备、以及与至少一个从设备连接的至少一个第二显示设备。如图1所示,该视频投放方法包括以下步骤:
步骤101、主设备与至少一个从设备建立连接;
在一个实施例中,主设备与至少一个从设备建立连接包括:
至少一个从设备根据预置的主设备的WIFI热点的SSID名称和登录密码连接至主设备,并发送其设备ID与设备密码至主设备;
主设备接收至少一个从设备发送的设备ID与设备密码,并根据预置的至少一个从设备的设备ID与设备密码进行鉴权认证;
若鉴权认证通过,则主设备与至少一个从设备建立网络连接。
在本步骤中,实际实现时,为了使主设备和从设备能够建立网络链路,需要在出厂前对主设备和从设备进行配置。具体操作为:首先由管理员为每一个从设备分配一个设备ID,并为每个从设备设置密码,设备ID和密码预置在从设备内;之后,将各个合法的从设备的设备ID和密码输入到主设备中,同时,将主设备的WIFI热点的SSID和密码配置到从设备。经过上述配置,开机后,从设备可以根据预置的wifi热点的SSID和密码连接到主设备上;连接成功后,从设备自身的设备ID和密码发送给主设备;主设备的设备管理模块收到ID和密码后,根据预置的数据进行鉴权认证,如果认证为合法设备则保持网络连接,否则,断开被认定为非法设备的网络连接。
网络连接建立之后,主设备创建组播组,主设备邀请从设备或者从设备主动申请加入组播组。
步骤102、主设备创建组播组,至少一个从设备加入组播组;
在一个实施例中,主设备创建组播组,至少一个从设备加入组播组包括:
主设备创建组播组;
主设备发送邀请加入信息至至少一个从设备;
至少一个从设备接收邀请加入信息,并根据邀请加入信息加入组播组。
在一个实施例中,主设备创建组播组,至少一个从设备加入组播组包括:
主设备创建组播组;
至少一个从设备发送申请加入信息至主设备;
主设备接收申请加入信息,并根据申请加入信息允许至少一个从设备加入组播组。
步骤103、终端与主设备建立连接,并发送视频流至主设备;
在一个实施例中,终端与主设备建立连接,并发送视频流至主设备包括:
终端与主设备建立连接,并通过Miracast或Airplay方式接入主设备,并发送视频流至主设备。
本步骤中,当组播组创建成功之后,在终端需要实现多屏投放时,终端与主设备建立网络连接,之后,通过Miracast或者Airplay方式接入主设备。
步骤104、主设备接收视频流,并解码后发送至第一显示设备显示;并将视频流通过组播方式发送至所述组播组内的至少一个从设备;
本步骤中,终端投屏的具体实现方式为现有技术,其主要处理流程包括:手机与主设备之间通过Miracast或者Airplay协商视频参数,比如分辨率以及压缩算法;然后,终端截取屏幕内容并采用H264编码,将编码的数据打包为RTP报文,然后通过网络发送给主设备。
步骤105、组播组内的至少一个从设备接收视频流,并解码后发送至第二显示设备显示。
在一个实施例中,主设备接收视频流,并解码后发送至第一显示设备显示;并将视频流通过组播报文方式发送至所述组播组内的至少一个从设备包括:
主设备接收视频流,并解码后输出至第一HDMI接口,并通过第一HDMI接口发送至第一显示设备进行显示;并将视频流封装为RTP报文,并通过组播方式将RTP报文发送至所述组播组内的至少一个从设备;
组播组内的至少一个从设备接收视频流,并解码后发送至第二显示设备显示包括:
组播组内的至少一个从设备接收RTP报文,并解码后输出至第二HDMI接口,并通过第二HDMI接口发送至第二显示设备进行显示。
具体的,RTP报文通过操作系统的Socket接口发送出去。
图2是本公开实施例提供的视频投放系统的示意图,参照图2,该系统包括:
终端201、主设备202、与主设备202连接的至少一个从设备203、与主设备202连接的第一显示设备204、以及与至少一个从设备203连接的至少一个第二显示设备205;
主设备202与至少一个从设备203建立连接,并创建组播组,至少一个从设备203加入组播组;
终端201与主设备202建立连接,并发送视频流至主设备202;
主设备202接收视频流,并解码后发送至第一显示设备204显示;并将视频流通过组播方式发送至所述组播组内的至少一个从设备203;
组播组内的至少一个从设备203接收视频流,并解码后发送至第二显示设备205显示。
图3是本公开实施例提供的主设备的软件模块的示意图,参照图3,该主设备的软件模块包括:
Miracast模块301和Airplay模块302,用于建立主设备与终端之间的媒体链路,并获取视频流;
从设备管理模块303,用于建立主设备和从设备之间的网络链路,并对从设备接入进行鉴权认证;
第一视频解码模块304,用于接收终端发送的视频流,并进行解码;
第一HDMI接口305,用于将解码后的视频流输出至第一显示设备;
第一码流接收模块306,用于接收终端发送的码流报文;
组播转发模块307,用于将接收到的码流报文转发至至少一个从设备;
WiFi驱动模块308,用于驱动无线网络的链路通道;
TCP/IP协议栈309,用于发送和接收网络层的报文;
操作系统3010,用于调度和管理主设备的软件模块和硬件模块。
图4是本公开实施例提供的从设备的软件模块的示意图,参照图4,该从设备的软件模块包括:
组播接收模块401,用于接收主设备发送的组播报文,并将组播报文发送至第二视频解码模块;
第二视频解码模块402,用于接收组播报文,并进行解码;
第二HDMI接口403,用于将解码后的组播报文输出至第二显示设备;
WiFi驱动模块404,用于驱动无线网络的链路通道;
TCP/IP协议栈405,用于发送和接收网络层的组播报文;
操作系统406,用于调度和管理从设备的软件模块和硬件模块。
需要说明的是,本公开实施例中的终端可以是手机,也可以是iPad。
本公开提供的一种视频投放系统,终端通过Miracast或者Airplay协议将视频流投放到主设备;主设备解码视频流并输出到第一显示设备,同时将视频流通过组播报文发送给组播组内的所有从设备,从设备接收并解码到视频流后,输出到第二显示设备,从而实现了将终端画面同时投放到多个显示屏。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以预置于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。