一种直播流的传输方法及装置与流程

文档序号:15116658发布日期:2018-08-07 20:29阅读:115来源:国知局

本发明涉及视频直播技术领域,尤其涉及一种直播流的传输方法及装置。



背景技术:

随着直播技术的发展,给人们的工作和生活带来了许多便利。

目前,主播端与用户端一般通过流服务器进行直播流的传输,在直播流的传输中,主播端和用户端通常需要进行数据通讯,例如传输直播间信息、用户信息等,现有的做法是通过架设tcp服务器的方式来实现,首先由主播端发送消息至tcp服务器,然后由tcp服务器将上述消息广播给用户端的所有房间用户,用户端再进行相关操作。然后这种方式,需要架设单独的tcp服务器来实现主播端与用户端的通信,因此系统开销大,同时也增加了服务器的搭建和维护工作。

由此可见,现有直播流的传输方法中存在系统开销大的技术问题。



技术实现要素:

本发明实施例提供了一种直播流的传输方法及装置,用以解决或者至少部分解决或者现有直播流的传输方法中存在系统开销大的技术问题。

第一方面,本发明提供了一种直播流的传输方法,所述方法包括:

在主播端与流服务器之间建立通信连接;

生成第一直播流;

响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流;

基于所述通信连接将所述第二直播流推送至所述流服务器,并通过所述流服务器将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

可选地,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流,包括:

如果检测到对所述主播端的触发操作,则基于所述通信连接,调用预设的处理方法;

通过所述预设的处理方法,将所述消息数据添加至所述第一直播流中,获得所述第二直播流。

可选地,所述基于所述通信连接将第二直播流推送至所述流服务器,包括:

基于所述通信连接,建立流连接;

将所述主播端的摄像头与所述流连接进行关联;

基于所述关联,将所述第二直播流推送至所述流服务器。

基于同样的发明构思,本发明第二方面提供了一种直播流的传输方法,所述方法包括:

在流服务器与主播端之间建立通信连接;

接收所述主播端基于所述通信连接推送的第二直播流,其中,所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

基于同样的发明构思,本发明第三方面提供了一种直播流的传输方法,包括:

接收流服务器传输的第二直播流,其中,所述第二直播流由主播端基于流服务器与主播端之间的通信连接推送至所述流服务器,且所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

播放所述第二直播流,并执行响应于所述消息数据的逻辑操作。

基于同样的发明构思,本发明第四方面提供了一种直播流的传输装置,所述装置为主播端,包括:

建立模块,用于在主播端与流服务器之间建立通信连接;

生成模块,用于生成第一直播流;

添加模块,用于响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流;

推送模块,用于基于所述通信连接将所述第二直播流推送至所述流服务器,并通过所述流服务器将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

基于同样的发明构思,本发明第五方面提供了一种直播流的传输装置,所述装置为服务器,包括:

建立模块,用于在流服务器与主播端之间建立通信连接;

接收模块,用于接收所述主播端基于所述通信连接推送的第二直播流,其中,所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

传输模块,用于将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

基于同样的发明构思,本发明第六方面提供了一种直播流的传输装置,所述装置为用户端,包括:

接收模块,用于接收流服务器传输的第二直播流,其中,所述第二直播流由主播端基于流服务器与主播端之间的通信连接推送至所述流服务器,且所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

播放模块,用于播放所述第二直播流,并执行响应于所述消息数据的逻辑操作。

基于同样的发明构思,本发明第七方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面提供的方法。

基于同样的发明构思,本发明第八方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面提供的方法。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明提供的方法中,在主播端生成第一直播流后,会响应于对主播端的触发操作,在第一直播流中添加消息数据获得第二直播流,再将第二直播流推送至流服务器,并通过流服务器将第二直播流传输至用户端,而第二直播流中携带有主播端的消息数据,使得用户端可以执行响应于所述消息数据的逻辑操作,从而实现用户端与主播端之间的数据通讯。即在主播端通过流服务器进行直播流传输的过程中,可以通过在第一直播流中添加消息数据的方式与用户端进行数据通讯,而不需要架设额外的tcp服务器传递消息,来使主播端与用户端进行通信,从而减少了系统开销,也降低了服务器的构建和维护成本。解决了现有直播流的传输方法中存在系统开销大的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一直播流的传输方法的流程图;

图2为本发明实施例中另一直播流的传输方法的流程图;

图3为本发明实施例中又一直播流的传输方法的流程图;

图4为本发明实施例中一直播流的传输装置的结构框图;

图5为本发明实施例中另一直播流的传输装置的结构框图;

图6为本发明实施例中又一直播流的传输装置的结构框图;

图7为本发明实施例中一种计算机可读存储介质的结构框图;

图8为本发明实施例中一种计算机设备的结构框图。

具体实施方式

本发明实施例提供了一种直播流的传输方法及装置,用以改善解决了现有直播流的传输方法中存在系统开销大的技术问题。

本申请实施例中的技术方案,总体思路如下:

主播端生成第一直播流后,会响应于外界对主播端的触发操作,在第一直播流中添加消息数据获得第二直播流,再将第二直播流推送至流服务器,从而通过流服务器将第二直播流传输至用户端,由于用户端接收的第二直播流中包含消息数据,则使得用户端可以执行响应于所述消息数据的逻辑操作,从而实现用户端与主播端之间的数据通讯,从而不需要通过搭建额外的tcp服务器来传输消息数据,从而减少了系统开销,也降低了服务器的构建和维护成本。解决了现有直播流的传输方法中存在系统开销大的技术问题。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本实施例提供一种直播流的传输方法,如图1所示,该方法包括:

首先执行步骤s101:在主播端与流服务器之间建立通信连接。

具体来说,主播端需要向用户端传输直播流时,通常是通过流服务器来完成,首先主播端将采集阶段封包好的内容传输到流服务器,然后客户端从流服务器拉取相应的直播流。那么,在主播端向流服务器传输直播流前,需要在主播端与流服务器之间建立通信连接,在具体的实施过程中,可以首先通过建立一个流服务器双向通道nc,其中,nc=newnetconnettion(),然后通过nc建立与推流地址url之间的连接,即nc.connect(url),从而在主播端与流服务器之间建立通信连接,需要说明的是,actionscript为一种脚本语言,其中的netstream类通过netconnection对象提供的连接,可以打开flashplayer与服务器(例如:adobe的macromediaflashmediaserver2或adobeflex)或flashplayer与本地文件系统之间的流连接。netstream对象类似于netconnection对象中的一个通道,采用这个通道nc可以使用netstream.publish()发布音频和/或视频数据,也可以使用netstream.play()订阅已发布的流并接收数据。

然后执行步骤s102:生成第一直播流。

具体来说,第一直播流由主播端设备的摄像头生成,可以是pc、平板或者手机等设备,第一直播流包含用于播放直播的数据,可以包括图片、字符、音频、视频等。

接下来执行步骤s103:响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流。

具体来说,上述对主播端的触发操作可以是敲击键盘、点击鼠标、触摸等操作,可以由主播端用户发出。消息数据是与用于播放直播的第一直播流不同的特殊数据,是主播端与客户端进行实时通讯的数据,客户端可以基于消息产生相应逻辑操作,从而实现与主播端的通讯。

在一种实施方式中,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流可以通过下述方式来实现:

如果检测到对所述主播端的触发操作,则基于所述通信连接,调用预设的处理方法;

通过所述预设的处理方法,将所述消息数据添加至所述第一直播流中,获得所述第二直播流。

在具体的实施过程中,可以通过设置全局监听事件addlissue(yy,handle)来检测主播端是否有触发操作,其中yy为触发操作的类型,例如点击鼠标、敲击键盘、触摸屏幕等,handle为全局监听事件预设的处理方法,即在主播端接收到触发特殊操作时执行handle方法,handle方法的作用是调用actionscript的库函数send,用于在检测到触发操作时将消息数据添加至第一直播流中,actionscript是一种基于flash的脚本语言,可以应用于windows系统、android系统等。具体来说,首先在handle方法中获取主播端与流服务器间的通信连接ns1,然后调用ns1的发送方法:send方法,ns1.send(handlername,type,data),其中,handlername表示用于接收消息的actionscript处理函数的名称,type是消息的类型,可以包括oncuepoint、onimagedata、onmetadata、onplaystatus、onseekpoint()、ontextdata和onxmpdata,data是携带的消息数据。然后将携带的消息数据与第一直播流进行融合,从而获得第二直播流。

再执行步骤s104:基于所述通信连接将所述第二直播流推送至所述流服务器,并通过所述流服务器将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

具体来说,主播端通过与流服务器建立通信连接后,则可以将相应的直播流推送至服务器,同样地,用户端与流服务器建立通信连接后,也可以通过流服务器将直播流传输至用户端,这样就实现了直播端与用户端之间直播流的传输,并且第二直播流中包含了消息数据,则用户端再接收到主播端发送的第二直播流后,会执行与消息数据相应的逻辑操作,例如弹出广告框、播放特殊音效、页面跳转等,从而可以不需要构建tcp服务器就可以实现主播端与用户端之间的数据通讯,减少了系统的开销,提高了数据通讯的效率。

在一种可选实施方式中,基于通信连接将第二直播流推送至所述流服务器可以通过下述方式来实现:

基于所述通信连接,建立流连接;

将所述主播端的摄像头与所述流连接进行关联;

基于所述关联,将所述第二直播流推送至所述流服务器。

在具体的实施过程中,可以在步骤s101的基础上,通过建立的流服务器双向通道nc建立一个流连接ns1:ns1=newnetstream(nc),然后通过主播端的摄像头与建立的流连接ns1绑定,从而进行关联,从而通过上述关联将摄像头采集的画面通过ns1流连接推送到流服务器上,上述摄像头为主播端本地摄像头。其中,具体的实现代码如下:

cam=camera.getcamera();//获取本地摄像头

ns1.attaachcamera(cam);//流连接与本地摄像头进行绑定

ns1.publish(“xx”,”live”);//将所述第二直播流推送至流服务器,其中,xx为第二直播流的名称,”live”表示播放方式为直播。

同理,通过流服务器将第二直播流传输至用户端,也需要流服务器与用户端之间建立通信连接,在具体的实施过程中,可以先建立一个流服务器双向通道nc:nc=newnetconnettion(),然后通过nc建立与推流地址url之间的连接:nc.connect(url),从而实现用户端与流服务器之间的通信连接。

在用户端在接收到第二直播流后,播放第二直播流的实现方式如下:首先通过nc建立第二流连接ns2,ns2=newnetstream(nc),然后新建一个流播放器容器video(video=newvideo(640,480)),接下来将第二播放流置入video中播放(video.attachnetstream(ns2)),采用流连接的播放方法开始播放流ns2.play(),最后把流播放容器video添加到舞台(stage.addchild(video)),通过上述步骤用户端就可以播放流服务器传输的第二直播流。

在本实施方式中,用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作的具体实施方式如下:

用户端首选获取通过nc通道建立的第二流连接ns2(ns2=newnetstream(nc)),然后通过ns2调用回调方法用以处理主播端推送的第二直播流:ns2.client=objectclient,并通过监听objectclient的oncuepoint、onimagedata、onmetadata、onplaystatus、onseekpoint()、ontextdata和onxmpdata等方法来获取第二直播流中的消息数据,如果第二直播流中包含消息数据时,则执行相应的逻辑操作。举例来说,当消息数据为图片类型的消息数据时,具体的实现如下:

ns2.client=customclient;//用户端接收到第二直播流后调用对应回调方法customclient.onimagedata=onimagedatahandler//对图片类型消息进行监听,并对其响应事件定义响应方法onimagedatahandleronimagedatahandler(data)//调用响应方法,解析数据并执行相关逻辑操作。

通过上述步骤,用户端就可以对第二直播流中的消息数据进行监听,并做出响应,执行相关逻辑操作。

基于同一发明构思,本发明实施例还提供了另一直播流的传输方法,详见实施例二。

实施例二

本实施例提供一种直播流的传输方法,应用于服务端,如图2所示,该方法包括:

步骤s201:在流服务器与主播端之间建立通信连接;

由于在实施例一中已经详细介绍了主播端与流服务器之间建立通信连接的具体过程,故在此不再赘述。

步骤s202:接收所述主播端基于所述通信连接推送的第二直播流,其中,所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

由于在实施例一中已经详细介绍了主播端在接收到触发操作后在第一直播流中添加消息数据获得第二直播流的过程,以及基于通信连接将第二直播流传输至流服务器的具体过程,故在此不再赘述。

步骤s203:将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

由于在实施例一中已经详细介绍了用户端播放第二直播流并执行响应于第二直播流中消息数据的逻辑操作的具体实现过程,故在此不再赘述。

由于本发明实施例二所介绍的方法,与本发明实施例一的方法采用的同样的构思,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解本实施例中方法的具体实施方式及其变形,故而在此不再赘述。凡是本发明实施例一的方法的实施方式及其变形都属于本发明所欲保护的范围。

基于同一发明构思,本发明实施例还提供了又一直播流的传输方法,详见实施例三。

实施例三

本实施例提供一种直播流的传输方法,应用于用户端,如图3所示,该方法包括:

步骤s301:接收流服务器传输的第二直播流,其中,所述第二直播流由主播端基于流服务器与主播端之间的通信连接推送至所述流服务器,且所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

由于在实施例一中已经详细介绍了主播端与流服务器之间建立通信连接的具体过程,以及主播端在接收到触发操作后在第一直播流中添加消息数据获得第二直播流的过程,以及基于通信连接将第二直播流传输至流服务器的具体过程,故在此不再赘述。

步骤s302:播放所述第二直播流,并执行响应于所述消息数据的逻辑操作;

由于在实施例一中已经详细介绍了用户端播放第二直播流并执行响应于第二直播流中消息数据的逻辑操作的具体实现过程,故在此不再赘述。

由于本发明实施例三所介绍的方法,与本发明实施例一的方法采用的同样的构思,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解本实施例中方法的具体实施方式及其变形,故而在此不再赘述。凡是本发明实施例一的方法的实施方式及其变形都属于本发明所欲保护的范围。

基于同一发明构思,本申请还提供了与实施例一种与直播流的传输方法对应的装置,详见实施例四。

实施例四

本实施例提供一种直播流的传输装置,所述装置为主播端,如图4所示,该装置包括:

建立模块401,在主播端与流服务器之间建立通信连接;

生成模块402,用于生成第一直播流;

添加模块403,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流;

推送模块404,基于所述通信连接将所述第二直播流推送至所述流服务器,并通过所述流服务器将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

作为本实施例的一种可选实施方式,添加模块403还用于:

如果检测到对所述主播端的触发操作,则基于所述通信连接,调用预设的处理方法;

通过所述预设的处理方法,将所述消息数据添加至所述第一直播流中,获得所述第二直播流。

作为本实施例的一种可选实施方式,推送模块404还用于:

基于所述通信连接,建立流连接;

将所述主播端的摄像头与所述流连接进行关联;

基于所述关联,将所述第二直播流推送至所述流服务器。

由于本发明实施例四所介绍的装置,为实施本发明实施例一的直播流的传输方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。

基于同一发明构思,本申请还提供了与实施例一种与直播流的传输方法对应的装置,详见实施例五。

实施例五

本实施例提供一种直播流的传输装置,所述装置为服务器,如图5所示,该装置包括:

建立模块501,用于在流服务器与主播端之间建立通信连接;

接收模块502,用于接收所述主播端基于所述通信连接推送的第二直播流,其中,所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

传输模块503,用于将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

由于本发明实施例五所介绍的装置,为实施本发明实施例二的直播流的传输方法所采用的装置,故而基于本发明实施例二所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例二的方法所采用的装置都属于本发明所欲保护的范围。

基于同一发明构思,本申请还提供了与实施例三种与直播流的传输方法对应的装置,详见实施例六。

实施例六

本实施例提供一种直播流的传输装置,所述装置为用户端,如图6所示,该装置包括:

接收模块601,用于接收流服务器传输的第二直播流,其中,所述第二直播流由主播端基于流服务器与主播端之间的通信连接推送至所述流服务器,且所述第二直播流由所述主播端生成第一直播流后,响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据后获得;

播放模块602,用于播放所述第二直播流,并执行响应于所述消息数据的逻辑操作。

由于本发明实施例六所介绍的装置,为实施本发明实施例三的直播流的传输方法所采用的装置,故而基于本发明实施例三所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例三的方法所采用的装置都属于本发明所欲保护的范围。

实施例七

基于同一发明构思,本申请还提供了一种计算机可读存储介质700,其上存储有计算机程序711,该程序被处理器执行时实现实施一中的方法。

具体来说,上述程序被配置为可以执行下述步骤:

在主播端与流服务器之间建立通信连接;

生成第一直播流;

响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流;

基于所述通信连接将所述第二直播流推送至所述流服务器,并通过所述流服务器将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

实施例八

基于同一发明构思,本申请还提供了一种计算机设备,请参见图8,包括存储801、处理器802及存储在存储器上并可在处理器上运行的计算机程序803,所述处理器802执行所述程序时实现实施一中的方法。

具体来说,上述处理器被配置为可以执行下述步骤:

在主播端与流服务器之间建立通信连接;

生成第一直播流;

响应于对所述主播端的触发操作,在所述第一直播流中添加消息数据获得第二直播流;

基于所述通信连接将所述第二直播流推送至所述流服务器,并通过所述流服务器将所述第二直播流传输至用户端,以使所述用户端在播放所述第二直播流时执行响应于所述消息数据的逻辑操作。

同理,本发明实施例二和实施例三种也具有相对应的计算机可读存储介质和计算机设备,用于实现实施例二和实施例三中的方法。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明提供的方法中,在主播端生成第一直播流后,会响应于外界对主播端的触发操作,在第一直播流中添加消息数据获得第二直播流,再将第二直播流推送至流服务器,并通过流服务器将第二直播流传输至用户端,而第二直播流中携带有主播端的消息数据,使得用户端在播放第二直播流时执行响应于所述消息数据的逻辑操作,从而实现用户端与主播端之间的数据通讯。即在主播端通过流服务器进行直播流传输的过程中,可以通过在第一直播流中添加消息数据的方式与用户端进行数据通讯,而不需要架设额外的tcp服务器传递消息,来使主播端与用户端进行通信,从而减少了系统开销,也降低了服务器的构建和维护成本。解决了现有直播流的传输方法中存在系统开销大的技术问题。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1