一种终端视频推送的方法和装置
技术领域
本发明涉及视联网技术领域,特别是涉及一种终端视频推送的方法和装置。
背景技术
随着网络科技的快速发展,视频会议、视频教学等双向通信在用户的生活、工作、学习等方面广泛普及。
当前,随着视联网业务在全国范围内的普及发展,视联网高清视联交互在政府部门以及其它行业中发挥着举足轻重的作用。视联网采用先进的实时高清视频交换技术,实现了目前以太网无法实现的全网高清视频实时传输,视联网将高清视频会议、视频监控、远程培训、智能化监控分析、应急指挥、视频电话、现场直播、电视邮件、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过多种终端设备实现高清品质视频通信实时互联互通。
在目前以太网中,多媒体播放技术有着广泛的应用,当视联网用户和以太网用户需要相互共享多媒体数据时,由于视联网和以太网所使用的通信协议和多媒体数据的格式不同,视联网和以太网的多媒体数据相互独立,造成视联网和以太网多媒体数据不能共享的问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种终端视频推送的方法和装置。
为了解决上述问题,本发明实施例公开了一种终端视频推送的方法,所述方法应用于视联网中,所述终端包括视联网终端和以太网终端,所述视联网包括视联网服务器和视联网终端,所述方法包括:
当接收到用户向视联网推送视频的指令时,获取视频数据;
将所述视频数据封装成包括第一通信链路信息的第一视频数据包;其中,第一通信链路为所述视联网服务器为所述以太网终端分配的;
将所述第一视频数据包通过所述第一通信链路信息传送至所述视联网服务器。
优选地,所述第一通信链路信息包括第一源地址和第一目的地址;所述将所述视频数据封装成包括第一通信链路信息的第一视频数据包的步骤包括:
将所述视频数据转码为视联网视频数据;
分解所述视联网视频数据,得到多个子视联网视频数据;
从所述第一通信链路信息中获取第一源地址和第一目的地址;所述第一源地址为所述以太网终端的MAC地址和视联网地址,所述第一目的地址为所述视联网服务器的MAC地址和编码地址;
将每个子视联网视频数据以及所述第一源地址和第一目的地址,封装成所述第一视频数据包。
优选地,所述将所述第一视频数据包通过所述第一通信链路信息传送至所述视联网服务器的步骤包括:
将所述第一视频数据包按照所述第一通信链路信息中的第一源地址和第一目的地址发送至所述视联网服务器。
本发明实施例公开了一种终端视频推送的方法,所述方法应用于视联网中,所述方法包括:
接收所述视联网终端的视频数据请求;
基于所述视频数据请求,获取视频数据;
将所述视频数据封装成包括第二通信链路信息的第二视频数据包;其中,第二通信链路为所述视联网服务器为所述视联网终端分配的;
将所述第二视频数据包通过所述第二通信链路信息传送至所述视联网终端。
优选地,所述第二通信链路信息包括第二源地址和第二目的地址,将所述第二视频数据包通过所述第二通信链路信息传送至所述视联网终端的步骤包括:
将所述第二视频数据包按照所述第二通信链路信息中的第二源地址和第二目的地址传送至所述视联网终端;其中,所述第二源地址为所述视联网服务器的MAC地址,所述第二目的地址为视联网终端的MAC地址。
另一方面,本发明实施例公开了一种终端视频推送的装置,所述装置应用于视联网中,所述终端包括视联网终端和以太网终端,所述视联网包括视联网服务器和视联网终端,所述装置包括:
第一视频数据获取模块,用于当接收到用户向视联网推送视频的指令时,获取视频数据;
第一封装模块,用于将所述视频数据封装成包括第一通信链路信息的第一视频数据包;其中,第一通信链路为所述视联网服务器为所述以太网终端分配的;
第一传送模块,用于将所述第一视频数据包通过所述第一通信链路信息传送至所述视联网服务器。
优选地,所述第一通信链路信息包括第一源地址和第一目的地址,所述第一封装模块包括:
转码子模块,用于将所述视频数据转码为视联网视频数据;
分解子模块,用于分解所述视联网视频数据,得到多个子视联网视频数据;
获取子模块,用于从所述第一通信链路信息中获取第一源地址和第一目的地址;所述第一源地址为所述以太网终端的MAC地址和视联网地址,所述第一目的地址为所述视联网服务器的MAC地址和编码地址;
封装子模块,用于将每个子视联网视频数据以及所述第一源地址和第一目的地址,封装成所述第一视频数据包。
优选地,所述第一传送模块包括:
第一传送子模块,用于将所述第一视频数据包按照所述第一通信链路信息中的源地址和目的地址发送至所述视联网服务器。
本发明实施例还公开了另一种终端视频推送的装置,所述装置应用于视联网中,所述装置包括:
请求信息接收模块,用于接收所述视联网终端的视频数据请求;
第二视频数据获取模块,用于基于所述视频数据请求,获取视频数据;
第二封装模块,用于将所述视频数据封装成包括第二通信链路信息的第二视频数据包;其中,第二通信链路为所述视联网服务器为所述视联网终端分配的;
第二传送模块,用于将所述第二视频数据包通过所述第二通信链路信息传送至所述视联网终端。
优选地,所述第二通信链路信息包括第二源地址和第二目的地址,所述第二传送模块包括:
第二传送子模块,用于将所述第二视频数据包按照所述第二通信链路信息中的第二源地址和第二目的地址传送至所述视联网终端;其中,所述第二源地址为所述视联网服务器的MAC地址,所述第二目的地址为视联网终端的MAC地址。
本发明实施例包括以下优点:
本发明实施例应用视联网的特性,当接收到用户向视联网推送视频的指令时,获取视频数据;将视频数据封装成包括第一通信链路信息的第一视频数据包;其中,第一通信链路为视联网服务器在以太网终端接入视联网时为以太网终端分配的;将第一视频数据包通过第一通信链路信息传送至视联网服务器,从而可以使得视联网终端可以点播视联网服务器的视频数据,实现了视联网和以太网的视频数据共享。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明的一种终端视频推送的方法实施例的步骤流程图;
图6是本发明的另一种终端视频推送的方法实施例的步骤流程图;
图7是本发明的一种终端视频推送的装置实施例的结构框图;
图8是本发明的另一种终端视频推送的装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA |
SA |
Reserved |
Payload |
CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA |
SA |
Reserved |
标签 |
Payload |
CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,遵循视联网的协议,由以太网终端连接视联网服务器,并向视联网服务器推送视频数据,视联网终端向视联网服务器请求视频数据,视联网服务器将视频数据传送至视联网终端,以实现以太网和视联网视频数据的共享。
参照图5,示出了本发明的一种终端视频推送的方法实施例的步骤流程图,该方法可以应用于视联网中,具体可以包括如下步骤:
步骤501,当接收到用户向视联网推送视频的指令时,获取视频数据。
在具体实现中,允许接入视联网的终端都需要在视联网服务器中注册,因此,在视联网服务器中会维护一个注册信息表,该注册信息表里可以包括已注册终端的标识、介质访问控制(Medium/Media Access Control,MAC)地址等信息。即本发明实施例中以太网终端首先要在视联网服务器中注册,注册成功之后视联网服务器将该以太网终端的标识、MAC地址保存至注册信息表中。
以太网终端接入视联网后,可以使用视联网服务器提供的标识,例如账号登陆视频客户端,选择需要分享的视频文件,点击推送按钮,以太网终端接收到该指令后,获取需要推送的视频数据,该视频数据可以是音频数据,也可以是视频数据,数据格式可以是mp4、avi、rmvb等,该视频数据可以是存储在以太网终端的存储设备中,也可以是存储在以太网流媒体服务器中,本发明实施例对此不做限制。
步骤502,将所述视频数据封装成包括第一通信链路信息的第一视频数据包;其中,第一通信链路为所述视联网服务器为所述以太网终端分配的。
在以太网终端入网时,视联网服务器首先可以从注册信息表里查找该以太网终端的MAC地址,然后根据注册信息表中该以太网终端的注册信息得到视联网服务器为以太网终端分配一个视联网地址。视联网服务器在获取到上述信息之后,下发视联网身份查询指令(例如8a01指令),该指令中包括上述以太网终端的MAC地址和视联网服务器为以太网终端分配的视联网地址。以太网终端检测MAC地址是否正确,当正确时向视联网服务器发送视联网身份查询应答指令(例如8a03指令),视联网身份查询应答指令包括以太网终端的标识。视联网服务器接收到视联网身份查询应答指令后,对其中包括的以太网终端的标识进行验证,验证通过后,视联网服务器可以为以太网终端分配一个用户号码,之后向以太网终端发送入网成功指令(例如8a11指令)。
本发明实施例中,数据包在以太网中传送遵循以太网协议,即本发明实施例的封装成第一视频数据包可以是指封装成视联网格式的数据包。
在本发明实施例中,所述将所述视频数据封装成包括第一通信链路信息的第一视频数据包包括以下子步骤:
子步骤S11,将所述视频数据转码为视联网视频数据。
在本发明实施例中,以太网终端在推送视频数据至视联网前,还可以包括接收视联网服务器的编解码指令请求,该编解码指令请求为与之连接的以太网网关经过协议转换后发送给以太网终端的。视联网服务器可以在接收到以太网终端的推送请求后,向以太网终端发送应答指令,同时发送编解码指令至以太网网关,以太网网关经过协议转换后,将该指令发送至以太网终端,以太网根据下表中内容进行视频数据的转码,该指令可以是8704指令
上述表中,视频输入源类型HB(输入视频来源):0=(分量),1=VGA,2=composite(复合);LB(输入视频格式):0=720p-60hz,1=720p-50hz,3=D1;视频输出源类型HB(输出视频来源):0=(分量),1=VGA,2=composite(复合);LB(输出视频格式):0=720p-60hz,1=720p-50hz,3=D1;服务类型:可视电话1es,直播4ts,直播5es,广播6ts,点播7ts,收看直播8es,延时电视9ts,延时监控10ts,会议11es。以太网终端可以根据实际情况进行选择,本发明实施例对此不做限制。
子步骤S12,分解所述视联网视频数据,得到多个子视联网视频数据;
子步骤S13,从所述第一通信链路信息获取第一源地址和第一目的地址;所述第一源地址为所述以太网终端的MAC地址和视联网地址,所述第一目的地址为所述视联网服务器的MAC地址和编码地址;
子步骤S14,将每个子视联网视频数据以及所述第一源地址和第一目的地址,封装成所述第一视频数据包。
视联网内音视频文件支持TS格式,而以太网音视频文件格式不同,当以太网用户将本地音视频文件分享给视联网用户时,在后台程序中首先将本地的音视频文件编解码转换为TS格式,之后以太网需要将转码后的文件拆解成多个网络包,此时与流媒体服务器进行TCP/IP连接,进行发包,由流媒体服务器进行转发至视联网内,其中在以太网传送过程中,使用IP数据传送协议进行传送,数据包到达以太网网关后,去掉IP数据包中的包头,在视联网中通过视联网协议进行数据包的传送,即依据数据包中的通信链路信息进行传送,封装过程可以是编码过程,可以按照视联网2001音频数据和2002视频数据进行编码,以下是2001协议的规范和2002协议的规范:
2001协议的规范可以如下表所示:
上述表格中,音频数据格式可以是:0=AES的G711,1=AES的AAC,可以根据实际情况进行选择。
2002协议的规范可以如下表所示:
以太网终端将转换得到视联网视频数据分成多个子视联网视频数据,将每个子视联网视频数据以及第一源地址(以太网终端地址)和第一目的地址(视联网服务器地址),封装成第一视频数据包,该第一视频数据包包括帧序号、编码时的当前时间,包序号等参数,这样就可以将视频数据以数据包,视频流的形式传送至视联网服务器或者视联网终端,视联网服务器或者视联网终端接收到数据包后,可以按照数据包中的帧序号、编码时的当前时间,包序号等进行播放。
以下是第一视频数据包在视联网中的示例:
第一视频数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,第一视频数据包主要包括以下几部分:
DA |
SA |
Reserved |
Payload |
CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包是64个字节,如果是单组播数据包是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
在本步骤中,第一源地址可以是以太网终端在视联网中的视联网地址,第一目的地址可以是视联网服务器地址。
步骤503,将所述第一视频数据包通过所述第一通信链路信息传送至所述视联网服务器。
本实际应用中,视联网为具有集中控制功能的网络,包括主控服务器和下级网络设备,该下级网络设备包括终端,视联网的核心构思之一在于,通过由主控服务器通知交换设备针对当次服务的下行通信链路配表,然后基于该配置的表进行数据包的传送。
即,视联网中的通信方法包括:
主控服务器配置当次服务的下行通信链路;
将源终端(如以太网终端)发送的当次服务的数据包,按照下行通信链路传送至目标终端(如视联网服务器)。
在本发明实施例中,配置当次服务的下行通信链路包括:通知当次服务的下行通信链路所涉及的交换设备配表;
进一步而言,按照下行通信链路传送包括:查询所配置的表,交换设备对所接收的数据包通过相应端口进行传送。
在具体实现中,服务包括单播通信服务和组播通信服务。即无论是组播通信还是单播通信,都可以采用上述配表—用表的核心构思实现视联网中的通信。
在本发明实施例中,以太网终端推送视频数据至视联网服务前,在和视联网连接的过程中,主控服务器(可以为视联网服务器)根据第一源地址和第一目的地址,为以太网终端分配以太网终端和视联网服务器之间的通信链路,该通信链路信息包括传送过程涉及的设备(例如以太网网关)以及端口,因此,可以将第一视频数据包按照第一通信链路信息中的第一源地址和第一目的地址发送至视联网服务器,具体的,以太网终端在以太网中按照以太网协议将第一视频数据包传送至与之连接的以太网网关,在以太网网关经过协议转换后,按照第一视频数据包中的通信链路信息,将第一视频数据包按照指定的端口传送至下一设备,直至到达第一目的地址对应的设备,例如视联网服务器,视联网接收到第一视频数据包后,可以将第一视频数据包传送至点播请求的视联网终端,也可以将第一视频数据包保存在视联网的存储设备中。
本发明实施例中,当接收到用户向视联网推送视频的指令时,获取视频数据;将视频数据封装成包括第一通信链路信息的第一视频数据包;其中,第一通信链路为视联网服务器在以太网终端接入视联网时为以太网终端分配的;将第一视频数据包通过第一通信链路信息传送至视联网服务器,从而可以使得视联网终端可以点播视联网服务器的视频数据,实现了视联网和以太网的视频数据共享。
参照图6,示出了本发明的一种终端视频推送的方法实施例的步骤流程图,该方法可以应用于视联网中,具体可以包括如下步骤:
步骤601,接收所述视联网终端的视频数据请求;
步骤602,基于所述视频数据请求,获取视频数据;
步骤603,将所述视频数据封装成包括第二通信链路信息的第二视频数据包;其中,第二通信链路为所述视联网服务器为所述视联网终端分配的;
步骤604,将所述第二视频数据包通过所述第二通信链路信息传送至所述视联网终端。
本发明实施例中,视联网终端需要点播以太网终端推送的视频数据时,可以发送点播服务请求至视联网服务器,视联网根据服务请求查找对应的视频数据,将视频数据封装成包括第二通信链路信息的第二视频数据包,即将源终端地址(视联网服务器地址)和目的终端地址(视联网终端地址)和视频数据封装成第二视频数据包,将第二视频数据包通过第二通信链路信息传送至视联网终端,从而可以使得视联网终端可以点播视联网服务器的视频数据,实现了视联网和以太网的视频数据共享。
本发明实施例中,将视频数据封装成包括第二通信链路信息的第二视频数据包以及将第二视频数据包通过第二通信链路信息传送至视联网终端的方法与前述实施例类似,为避免重复,在此不再赘述。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明的一种终端视频推送的装置实施例的结构框图,该装置可以应用于视联网中,所述终端包括视联网终端和以太网终端,所述视联网包括视联网服务器和视联网终端,具体可以包括如下模块:
第一视频数据获取模块701,用于当接收到用户向视联网推送视频的指令时,获取视频数据;
第一封装模块702,用于将所述视频数据封装成包括第一通信链路信息的第一视频数据包;其中,第一通信链路为所述视联网服务器为所述以太网终端分配的;
第一传送模块703,用于将所述第一视频数据包通过所述第一通信链路信息传送至所述视联网服务器。
在本发明的一种优选实施例中,第一通信链路信息包括第一源地址和第一目的地址,第一封装模块702可以包括如下子模块:
转码子模块,用于将所述视频数据转码为视联网视频数据;
分解子模块,用于分解所述视联网视频数据,得到多个子视联网视频数据;
获取子模块,用于从所述第一通信链路信息中获取第一源地址和第一目的地址;所述第一源地址为所述以太网终端的MAC地址和视联网地址,所述第一目的地址为所述视联网服务器的MAC地址和编码地址;
封装子模块,用于将每个子视联网视频数据以及所述第一源地址和第一目的地址,封装成所述第一视频数据包。
在本发明的一种优选实施例中,第一传送模块703包括:
第一传送子模块,用于将所述第一视频数据包按照所述第一通信链路信息中的源地址和目的地址发送至所述视联网服务器。
参照图8,示出了本发明的另一种终端视频推送的装置实施例的结构框图,该装置应用于视联网中,该装置包括:
请求信息接收模块801,用于接收所述视联网终端的视频数据请求;
第二视频数据获取模块802,用于基于所述视频数据请求,获取视频数据;
第二封装模块803,用于将所述视频数据封装成包括第二通信链路信息的第二视频数据包;其中,第二通信链路为所述视联网服务为所述视联网终端分配的;
第二传送模块804,用于将所述第二视频数据包通过所述第二通信链路信息传送至所述视联网终端。
在本发明的一种优选实施例中,第二通信链路信息包括第二源地址和第二目的地址,第二传送模块804包括:
第二传送子模块,用于将所述第二视频数据包按照所述第二通信链路信息中的第二源地址和第二目的地址传送至所述视联网终端;其中,所述第二源地址为所述视联网服务器的MAC地址,所述第二目的地址为视联网终端的MAC地址。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种终端视频推送的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。