CN111669610A - 直播视频的传输方法、系统、装置、服务器及、电子设备及存储介质 - Google Patents
直播视频的传输方法、系统、装置、服务器及、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111669610A CN111669610A CN202010463622.3A CN202010463622A CN111669610A CN 111669610 A CN111669610 A CN 111669610A CN 202010463622 A CN202010463622 A CN 202010463622A CN 111669610 A CN111669610 A CN 111669610A
- Authority
- CN
- China
- Prior art keywords
- target
- video
- terminal
- video stream
- live video
- 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
Links
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
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/64—Addressing
- H04N21/6402—Address allocation for clients
-
- 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/64—Addressing
- H04N21/6405—Multicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种直播视频的传输方法、装置、服务器及电子设备,该方法包括:第一终端通过第一网络设备接收服务器发送至第一下级网络中的目标直播视频的一路视频流;当第二终端请求目标直播视频的视频流时,第二终端监听第二下级网络中的一路视频流的目的地址是否为目标多播地址,第二终端保存有目标多播地址;在第二终端监听到一路视频流的目的地址为目标多播地址的情况下,第二终端从第二下级网络获取一路视频流并播放,其中,第二网络设备将第一下级网络的一路视频流发送至第二下级网络。本发明面临大量用户请求同一直播视频的场景可以降低服务器的带宽损耗,优化网络延迟和卡顿并提升了终端的网络速度。
Description
技术领域
本发明涉及云计算技术领域,特别是涉及一种直播视频的传输方法、系统、装置、服务器、电子设备及存储介质。
背景技术
随着视频直播的兴起,越来越多的用户喜欢看直播视频。在直播视频的传输方式上,主要为点对点传输。例如在一个局域网内,多个用户在看同一个直播,那么服务器需要为每个终端分别推送一个直播视频流。比如六个人看同一直播视频,服务器则需要六个连接流。虽然传统技术中可以通过P2P加速来减缓系统卡顿,但是多个相同的视频流传输对于目前的网络带宽(例如100Mb)而言,还是会存在系统卡顿。
因此,相关技术中的直播视频的传输方式在面临大量用户请求同一直播视频的场景时,存在着带宽损耗以及网络延迟和卡顿的问题。
发明内容
本发明实施例提供了一种直播视频的传输方法、系统、装置、服务器、电子设备及存储介质,以解决相关技术中的直播视频的传输方法在面临大量用户请求同一直播视频的场景时,所存在的带宽损耗以及网络延迟和卡顿的问题。
为了解决上述问题,根据本发明实施例的第一方面,本发明公开了一种直播视频的传输方法,应用于包括第一终端,与所述第一终端连接的第一网络设备,第二终端,与所述第二终端连接的第二网络设备以及服务器的系统,所述方法包括:
所述第一终端通过所述第一网络设备,接收所述服务器发送至第一下级网络中的目标直播视频的一路视频流,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
当所述第二终端请求所述目标直播视频的视频流时,所述第二网络设备监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备保存有所述目标多播地址;以及,在所述第二网络设备监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二网络设备从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
所述第二终端监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端保存有所述目标多播地址;以及,在所述第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二终端从所述第二下级网络获取所述一路视频流并播放。
根据本发明实施例的第二方面,本发明公开了一种直播视频的传输方法,应用于服务器,所述方法包括:
发送第一终端请求的目标直播视频的一路视频流至第一下级网络,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端。
根据本发明实施例的第三方面,本发明公开了一种直播视频的传输方法,应用于第一终端,所述方法包括:
在第二终端通过与所述第二终端连接的第二网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址,当请求所述目标直播视频的视频流时,监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,所述第一终端保存有所述目标多播地址;以及,在监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
根据本发明实施例的第四方面,本发明公开了一种直播视频的传输系统,包括:第一终端,与所述第一终端连接的第一网络设备,第二终端,与所述第二终端连接的第二网络设备以及服务器;
所述第一终端,用于通过所述第一网络设备,接收所述服务器发送至第一下级网络中的目标直播视频的一路视频流,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
所述第二网络设备,用于当所述第二终端请求所述目标直播视频的视频流时,监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备保存有所述目标多播地址;以及,在所述第二网络设备监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
所述第二终端,用于监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端保存有所述目标多播地址;以及,在所述第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放。
根据本发明实施例的第五方面,本发明公开了一种直播视频的传输装置,应用于服务器,所述装置包括:
发送模块,用于发送第一终端请求的目标直播视频的一路视频流至第一下级网络,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
第一响应模块,用于当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端。
根据本发明实施例的第六方面,本发明公开了一种直播视频的传输装置,应用于第一终端,所述装置包括:
监听模块,用于在第二终端通过与所述第二终端连接的第二网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址,当请求所述目标直播视频的视频流时,监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,所述第一终端保存有所述目标多播地址;以及,
第一获取模块,用于在监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
根据本发明实施例的第七方面,本发明还公开了一种服务器,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述应用于服务器的任意一项所述的直播视频的传输方法的步骤。
根据本发明实施例的第八方面,本发明还公开了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述应用于终端的任意一项所述的直播视频的传输方法的步骤。
根据本发明实施例的第九方面,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述应用于服务器或应用于终端的任意一项所述的直播视频的传输方法中的步骤。
根据本发明实施例的第十方面,本发明还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述应用于服务器或应用于终端的任一所述的直播视频的传输方法。
在本发明实施例中,多个终端请求同一直播视频的视频流时,不论请求该直播视频的终端的数量为几个,本发明实施例的服务器只需要下发该直播视频的一路视频流至服务器的第一下级网络,而具体到该路视频流如何到达各个终端,则是首先由终端的上级的网络设备监听第一下级网络中的视频流的目的地址是否为目标多播地址(该地址为服务器为该直播视频所分配的多播地址),如果是,则该网络设备从第一下级网络获取该路视频流并发送至第二下级网络;然后,再由与该网络设备通过该第二下级网络连接的终端,监听第二下级网络中的视频流的目的地址是否为上述目标多播地址,如果是,则该终端从该第二下级网络获取该视频流并播放。这样,在面临大量用户请求同一直播视频的场景时,服务器只需发送一路该目标直播视频的视频流,而请求该目标直播视频的每个终端只需要监听该视频流的目的地址是否为其请求的目标直播视频的目标多播地址的方式,来确定是否获取该视频流。因此,可以在多个终端请求同一直播视频的场景下,大幅降低了服务器和网络设备的带宽损耗,以及优化了网络延迟和卡顿的问题,并提升了终端的网络速度。
附图说明
图1是现有技术中的一种直播视频的传输系统的架构图;
图2是本发明一个实施例的直播视频的传输系统的架构图;
图3是本发明一个实施例的直播视频的传输方法的步骤流程图;
图4是本发明一个实施例的直播视频的传输系统的结构框图;
图5是本发明另一个实施例的直播视频的传输方法的部分步骤流程图;
图6是本发明又一个实施例的播视频的传输方法的步骤流程图;
图7是本发明再一个实施例的播视频的传输方法的步骤流程图;
图8是本发明的一种直播视频的传输装置实施例的结构框图之一;
图9是本发明的一种直播视频的传输装置实施例的结构框图之二;
图10是本发明的一种直播视频的传输装置实施例的结构框图之三;
图11是本发明的一种直播视频的传输装置实施例的结构框图之四;
图12是本发明的一种服务器实施例的结构框图;
图13是本发明的一种电子设备实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了解决相关技术中在传输直播视频时,面临大量用户请求同一直播视频的场景时,所存在的网络带宽损耗以及网络延迟和卡顿的问题,本发明实施例提供了一种直播视频的传输方法。该方法用于解决在大并发场景下,传输直播视频时所存在的上述问题。
所谓直播视频,即各个终端所请求播放的视频的进度是相同的。比如国庆阅兵的直播视频、春节晚会的直播视频、足球比赛的直播视频等,即所有请求播放同一视频的多个终端在播放该视频时的进度是完全一致的,即所有人都是同步观看直播,那么各个终端所需要的视频流都是相同的。
为了便于理解,图1和图2分别示出了传统技术和本发明的一个实施例的直播视频的传输系统的架构图。
如图1和图2所示,传输系统包括如下网络节点,分别为节点A、节点B、节点C、节点D、节点E、节点F、节点G、节点H、节点I、节点J。如图1和图2所示,多个节点以树状结构从上至下的方向进行数据流的下发,从下至上的方向进行数据流的上传。其中,F节点下存在M个终端(例如M=5,则5个终端分别为M1、M2、M3、M4和M5),J节点下存在P个终端(例如P=7,则7个终端分别为P1、P2……P7),I节点下存在N个终端(例如N=6,则6个终端分别为N1、N2……N6)。
从图1和图2可以看出所述M个终端是一组网络路径为A→B→C→D→E→F的相同网络环境下的多个终端,所述P个终端是一组网络路径为A→B→C→D→E→J的相同网络环境下的多个终端,所述N个终端是一组网络路径为A→B→C→G→H→I的相同网络环境下的多个终端。
例如节点A为服务器,节点F、节点J、节点I分别为网络设备(例如路由器),图1和图2中其他中间节点可以是任意网络中的设备(例如服务器、路由器等)。
例如上述M个终端、上述P个终端以及上述N个终端都在请求同一个直播视频。
那么按照传统技术中以点对点的方式传输直播视频的方法,如图1所示,则节点A需要占用18个带宽来下发18路同一直播视频流来确保请求播放同一直播视频的18个终端都可以播放该直播视频。
图1、图2中的带有数字的圆圈标记表示上下级节点之间在单次发送直播视频流时总共所用带宽,圆圈标记内的数字表示所用带宽量。
而在本发明实施例中,本发明实施例的方法可以在传输直播视频时,不以点对点的方式传输直播视频,而是以多播(组播或广播)的方式来传输直播视频。例如节点A可以发送只一路多播的视频流到节点B,节点B也只需要发送一路多播的视频流到节点C,然后,节点C也只需要发送一路多播的视频流,就可以使得节点D和节点G各接收到一路多播的视频流;然后,节点D和节点G再分别发送各自一路的多播的视频流,逐级节点以多播的方式来下发一路视频流;最后,节点F、节点J以及节点I各接收到一路多播的视频流,其中,节点F再下发一路多播的视频流,可以使节点F下的M个终端都接收到节点F下发的同一直播视频的视频流;同理,节点J下的P个终端也接收到节点J下发的同一直播视频的视频流;同理,节点I下的N个终端也接收到节点I下发的同一直播视频的视频流。即,从节点C开始将一路多播的视频流下发至G→H→I也只需要一路的视频流,从节点C开始将所述一路多播的视频流同样下发至D→E→F,从节点C开始将所述一路多播的视频流同样下发至D→E→J。
由此可见,图1所示的传统系统在发送同一直播视频的视频流时,节点A需要下发18个同时请求直播视频的终端所需要的18路视频流,节点A下的各个节点也需要按照下级节点的个数来分发多路的视频流,而本发明实施例的图2所示的系统在发送同一直播视频的视频流时,虽然同样存在请求同一直播视频的18个终端,即需要18路该直播视频的视频流,但是节点A、节点B、节点C、节点D、节点E、节点F、节点G、节点H、节点I、节点J都只需要下发该直播视频的一路多播的视频流,就可以使得3组终端(即M个终端、P个终端以及N个终端)均接收到同一直播视频的同一视频流,使得局域网(例如M个终端、P个终端以及N个终端在同一局域网)内的所有终端,就都可以收到直播视频的流文件,并且播放直播视频。这样,服务器,即节点A可以节省(M+P+N)倍的带宽,节省带宽倍数与请求同时播放某一直播视频的终端个数相同。
由于在本发明实施例的传输方法中,网络中的每个节点设备只需要发送一路视频流,而无需发送多路视频流,从而节省了相同直播环境下的网络带宽,降低了带宽损耗。
此外,需要说明的是,图1和图2所示下的传输系统的各个节点可以处于同一局域网或不同局域网环境下,也就是说,本发明应用的网络环境不限于同一局域网下的多个终端,可以是不同局域网下的多个终端。
参照图3,示出了本发明的一个直播视频的传输方法实施例的步骤流程图,该方法可以应用于如图4所示的系统,该系统包括第一终端C1,与所述第一终端C1连接的第一网络设备R1,第二终端C2,与所述第二终端C2连接的第二网络设备R2,以及服务器S。
该方法具体包括如下步骤:
步骤101,所述第一终端通过所述第一网络设备,接收所述服务器发送至第一下级网络中的目标直播视频的一路视频流;
其中,在服务器发送该一路视频流到第一下级网络之前,该第一终端C1已经保存有所述服务器S为所述目标直播视频分配的目标多播地址;
其中,由于在本例中服务器S与两个网络设备(R1和R2)直接通信,因此,服务器S与两个网络设备(R1和R2)之间的网络即为第一下级网络。
步骤102,当所述第二终端请求所述目标直播视频的视频流时,所述第二网络设备监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备保存有所述目标多播地址;以及,在所述第二网络设备监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二网络设备从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
其中,第一终端和第二终端在同时请求目标直播视频的视频流,例如两个终端在同时请求播放“国庆阅兵”的直播视频,因此,两个终端所需要的视频流是相同的。
当第二终端C2与第一终端C1同时请求同一直播视频的视频流时,那么服务器S只会发送该直播视频的一路视频流到第一下级网络,与第二终端C2连接的第二网络设备R2可以监听该第一下级网络中该服务器S所下发的该一路视频流的目的地址是否为第二终端C2所请求的目标直播视频的目标多播地址,如果是,则第二网络设备R2可以从第一下级网络获取该路视频流并发送至下一层网络(即这里的第二下级网络),第二下级网络为第二网络设备R2与其下级的第二终端C2之间所连接的网络。
步骤103,所述第二终端监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端保存有所述目标多播地址;以及,在所述第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二终端从所述第二下级网络获取所述一路视频流并播放。
其中,第二终端C2在保存有所请求的目标直播视频的目标多播地址后,在获取该目标直播视频的视频流时,只需要对第二下级网络中的视频流进行监听,具体为监听该视频流的目的地址是否为其保存的该目标多播地址,如果是,则第二终端C2可以从该第二下级网络获取该路视频流并在本地播放该路视频流,实现对目标直播视频的播放。
需要说明的是,上述第一网络设备R1和上述第二网络设备R2可以为同一个网络设备,即第一终端C1和第二终端C2在同一局域网下;此外,上述第一网络设备R1和上述第二网络设备R2也可以为不同网络设备,即第一终端C1和第二终端C2在不同局域网下。也就是说,不论请求同一直播视频的多个终端是否处于同一局域网,本发明实施例的方法都可以通过服务器只发送各个终端所请求的同一直播视频的一路视频流的方式,来实现多个终端对同一直播视频的播放。
在本发明实施例中,多个终端请求同一直播视频的视频流时,不论请求该直播视频的终端的数量为几个,本发明实施例的服务器只需要下发该直播视频的一路视频流至服务器的第一下级网络,而具体到该路视频流如何到达各个终端,则是首先由终端的上级的网络设备监听第一下级网络中的视频流的目的地址是否为目标多播地址(该地址为服务器为该直播视频所分配的多播地址),如果是,则该网络设备从第一下级网络获取该路视频流并发送至第二下级网络;然后,再由与该网络设备通过该第二下级网络连接的终端,监听第二下级网络中的视频流的目的地址是否为上述目标多播地址,如果是,则该终端从该第二下级网络获取该视频流并播放。这样,在面临大量用户请求同一直播视频的场景时,服务器只需发送一路该目标直播视频的视频流,而请求该目标直播视频的每个终端只需要监听该视频流的目的地址是否为其请求的目标直播视频的目标多播地址的方式,来确定是否获取该视频流。因此,可以在多个终端请求同一直播视频的场景下,大幅降低了服务器和网络设备的带宽损耗,以及优化了网络延迟和卡顿的问题,并提升了终端的网络速度。
在上述技术方案中,服务器下发直播视频的视频流时只是下发到服务器的下级网络,并不会直接给到其下级的任意一个网络设备,是由网络设备监听上级服务器下发至该下级网络内的视频流的目的地址是否为其需要监听的目标多播地址,如果是,则抓取该视频流并下发到下一层网络(即第二下级网络),否则不抓取;同理,对于任意一个网络设备而言,其在抓取了视频流后,也只是下发到该网络设备的下级网络(即第二下级网络),不会直接给到其局域网下的各个终端,是由终端监听第二下级网络内的视频流的目的地址是否为请求播放的直播视频的目标多播地址,如果是,则抓取视频流并播放,否则不抓取。
可选地,所述服务器将所述目标直播视频的一路视频流发送至所述第一下级网络之前,换句话说,在上述步骤101之前,根据本发明实施例的方法还可以包括:通过点对点的方式,服务器向请求直播视频的终端下发目标多播地址(该地址为服务器为该终端所请求的目标直播视频所分配的多播地址)的步骤。
具体而言,目标终端可以通过目标网络设备,向所述服务器发送对目标直播视频的视频请求;所述服务器响应于所述视频请求,获取与所述目标直播视频匹配的目标多播地址,服务器通过所述目标网络设备将所述目标多播地址发送至所述目标终端;其中,由于服务器通过所述目标网络设备将所述目标多播地址发送至所述目标终端,因此,目标网络设备和所述目标终端可以分别保存所述目标多播地址。
其中,当所述目标终端为所述第一终端时,所述目标网络设备为所述第一网络设备;当所述目标终端为所述第二终端时,所述目标网络设备为所述第二网络设备。
其中,这里的服务器可以是提供直播视频的视频服务器。
其中,该视频请求可以包括目标直播视频的视频ID等视频属性信息。
需要说明的是,本实施例中发送视频请求以及对该视频请求进行响应,来发送目标多播地址的过程都是点对点的方式。
另外,服务器在通过所述目标网络设备将所述目标多播地址发送至所述目标终端时,可以以数据包(例如第三数据包)的方式来发送该目标多播地址,例如该第三数据包的目的地址为目标终端的地址(例如IP地址),而该目标多播地址作为该第三数据包的包内容。
这样,在本发明实施例中,当多个终端请求同一直播视频的视频流时,服务器首先可以通过各个终端的各个上级网络设备,来将为该直播视频所分配的目标多播地址发送至各个终端,使得上述各个终端及其各个上级网络设备都可以保存有各自需要监听的目标多播地址,从而便于各个终端及其各个上级网络设备利用保存的目标多播地址,准确地监听各自上级网络中的视频流是否是所需要获取的视频流,便于对视频流的准确抓取。
可选地,所述服务器在获取与所述目标直播视频匹配的目标多播地址时,可以通过以下任意一种方式来实现:
方式一:所述服务器根据预先存储的直播视频与多播地址之间的对应关系,获取与所述目标直播视频匹配的目标多播地址;
其中,在本实施方式中,服务器侧可以预先对其可提供的直播视频分别分配多播地址,一个直播视频可以对应一个多播地址,从而生成有直播视频与多播地址之间的对应关系,本步骤中,则可以从该对应关系中,获取与终端所请求的目标直播视频对应的目标多播地址。
在本发明实施例中,服务器可以根据预先存储的直播视频与多播地址之间的对应关系,来获取与终端所请求的目标直播视频匹配的目标多播地址,能够快速获取到目标多播地址,而无需实时对直播视频分配多播地址,从而降低服务器侧对终端的反馈延迟,降低系统卡顿几率,且由于无需实时分配多播地址,还可以减少服务器分配多播地址的信令开销。
或,方式二:
若所述视频请求为所述服务器接收到的对所述目标直播视频的首次视频请求,则所述服务器为所述目标直播视频分配目标多播地址,并存储所述目标直播视频与所述目标多播地址之间的对应关系;若所述视频请求为对所述目标直播视频的非首次视频请求,所述服务器在存储的所述对应关系中获取与所述目标直播视频匹配的目标多播地址。
其中,在本实施方式中,服务器侧可以对终端所请求的直播视频动态的分配目标多播地址。
具体而言,当服务器所接收到的上述视频请求是针对该目标直播视频的首个视频请求时,则可以对该目标直播视频分配一个目标多播地址(例如地址1)并存储所述目标直播视频与所述目标多播地址之间的对应关系;而当服务器所接收到的该视频请求是针对该目标直播视频的非首个视频请求,例如第二次接收到对该目标直播视频的视频请求,则可以复用所述地址1来作为该目标直播视频的目标多播地址。
在本发明实施例中,服务器通过在接收到的针对目标直播视频的首次视频请求后,对该目标直播视频分配目标多播地址,那么再次接收到针对该目标直播视频后,则可以复用针对该目标直播视频所分配的该目标多播地址,可以使服务器在传输相同视频流时大幅降低带宽占用,降低网络带宽的使用率。
以图1和图2为例,在传输直播视频时,传统技术中的服务器(例如节点A和节点B)的网络带宽至少为18路,而采用本发明实施例的方法的服务器带宽只需要1路。再如,传统技术中,节点C和节点D的带宽损耗为12路,本发明实施例的方法中节点C和节点D的带宽损耗只需要一路。
因此,在传统技术中,服务器带宽和请求直播视频的终端个数基本一致;而采用本发明实施例的方法在传输直播视频时,在一台服务器(提供直播视频资源)环境下的各个网络节点对该视频流的传输带宽均降低为1路,这对于大量的直播视频来说,是数量级的优化。
可选地,所述服务器在将所述目标直播视频的一路视频流发送至所述第一下级网络时,所述服务器首先可以生成携带所述目标直播视频的一路视频流的第一数据包,其中,所述第一数据包的目的地址为请求所述目标直播视频的目标终端的IP地址,其中,所述目标终端为所述第一终端或所述第二终端;然后,所述服务器将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包;最后,所述服务器将所述第二数据包发送至所述第一下级网络。
也就是说,服务器所生成的第二数据包的目的地址不是某个终端的IP地址,而是对目标直播视频所分配的目标多播地址,而该视频流可以作为第二数据包的包内容携带在第二数据包中。
其中,由于传统技术中上级网节点向下级网络节点下发直播视频的视频流时主要以点对点的方式来实现,那么本发明实施例的方法可以对传统技术进行改进,来将以点对点传输的第一数据包的目的地址,从请求该目标直播视频的终端的IP地址,修改为对该目标直播视频所分配的目标多播地址,从而生成携带该视频流的第二数据包。
在本发明实施例中,通过对传输视频流的方式进行改造,将原本采用点对点传输直播视频的视频流的方式,改进为以多播的视频流的方式来传输直播视频,从而使得生成的携带有直播视频的视频流的第二数据包无需采用点对点方式的发送至每个请求同一直播视频的终端,而只需要下发一路多播的第二数据包至下级网络,即可使得需要获取该直播视频的视频流的终端监测到该第二数据包并播放第二数据包中的视频流,大幅降低了服务器以及网络设备侧的网络带宽占用。
可选地,在一个实施例中,所述目标多播地址包括组播IP地址和组播端口号,则服务器在将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包时,服务器可以以所述组播IP地址为目的IP地址,以所述组播端口号为目的端口号,生成携带所述一路视频流的第二数据包。
相应的,所述第二终端在执行监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址的步骤时,则所述第二终端可以监听所述第二下级网络中的所述第二数据包的目的IP地址是否为所述组播IP地址、且目的端口号是否为所述组播端口号;若均为是的情况,则第二终端可以获取该第二数据包,否则不获取该第二数据包。
具体而言,当对目标直播视频分配的与之匹配的目标多播地址包括组播IP地址和组播端口号时,则在生成第二数据包时,可以将原本按照点对点方式进行传输的携带有直播视频的视频流的原始数据包进行改造,将该原始数据包的目的IP地址修改为该组播IP地址,将原始数据包的目的端口号设置为该组播端口号,从而生成携带该一路视频流的第二数据包。
例如,如图2所述,路由器为节点F,而请求该目标直播视频的终端为M个终端中的终端M1和终端M2,那么则只有终端M1和终端M2接收到了上述第三数据包,并在接收到了第三数据包之后,开始监听目标直播视频对应的目标多播地址。因此,节点F在下发239.255.255.250(组播IP地址):1900(组播端口号)的组播包后,终端M1和终端M2都可以监听到239.255.255.250:1900的组播包,而终端M3、终端M4以及终端M5并没有监听239.255.255.250:1900的组播包,因此,只有终端M1和终端M2可以从节点F抓取到该239.255.255.250:1900的组播包,而处于同一局域网下未请求该目标直播视频的终端M3、终端M4以及终端M5不会接收到该目标直播视频的视频流。
在本发明实施例中,通过以所述组播IP地址为目的IP地址,以所述组播端口号为目的端口号,生成携带所述一路视频流的第二数据包,可以通过组播IP地址和组播端口号这一组合来区分不同的目标直播视频,并通过一路第二数据包来发送目标直播视频的一路视频流,而无需以点对点的方式发送多路携带同一视频流的第一数据包,能够在直播视频的视频流传输过程中,大幅降低网络带宽占用和系统卡顿和延迟。
而且,由于终端只会监听之前所接收到的第三数据包中的目标多播地址(包括组播IP地址和组播端口号),从而可以只从上级网络下发的数据包中抓取目的IP地址为所述组播IP地址、且目的端口号为所述组播端口号的第二数据包,可以使得同一局域网内未请求该目标直播视频的终端不会接收到包括目标直播视频的视频流的第二数据包,通过终端对目的地址为目标多播地址的多播数据包的监听,以组播IP地址以及组播端口号这一组合来对多播数据包进行多播数据包的过滤,可以实现同一局域网下未请求目标直播视频的终端不会接收到该局域网内其他终端所请求的目标直播视频的视频流。
可选地,在另一个实施例中,所述目标多播地址包括广播端口号,那么所述服务器在将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包时,所述服务器可以以所述广播端口号为目的地址的目的端口号,生成携带所述一路视频流的第二数据包。
相应的,所述第二终端在执行监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址的步骤时,则所述第二终端可以监听所述第二下级网络中的所述第二数据包的目的地址的端口号是否为所述组播端口号,若是,则第二终端可以获取该第二数据包,否则第二终端不获取该第二数据包。
具体而言,当对目标直播视频分配的与之匹配的目标多播地址包括广播端口号时,则在生成第二数据包时,可以将原本按照点对点方式进行传输的携带有直播视频的视频流的原始数据包进行协议改造,将该原始数据包的目的端口号设置为该广播端口号,从而生成携带该一路视频流的第二数据包。
例如,如图2所述,路由器为节点F,而请求该目标直播视频的终端为M个终端中的终端M1和终端M2,那么则只有终端M1和终端M2接收到了第三数据包,并在接收到了第三数据包之后,开始监听目标直播视频对应的目标多播地址。因此,节点F在下发255.255.255.255:2000(广播端口号)的广播包后,终端M1和终端M2都可以监听到255.255.255.255:2000的广播包,而终端M3、终端M4以及终端M5并没有监听255.255.255.255:2000的广播包,因此,只有终端M1和终端M2可以从节点F抓取到该255.255.255.255:2000的广播包,而处于同一局域网下未请求该目标直播视频的终端M3、终端M4以及终端M5不会接收到该目标直播视频的视频流。
再如,如图1和图2所示,当M个终端、P个终端以及N个终端一共18个终端都在请求同一目标直播视频的视频流时,则按照图1所示的传统方法则节点A(例如为这里的服务器)需要发送18路的携带该目标直播视频的视频流的第一数据包,而在本发明实施例中,如图2所示,节点A(例如为这里的服务器)则只需要发送一路携带该目标直播视频的视频流的第二数据包,就可以使得18个终端均接收到该第二数据包。
在本发明实施例中,通过以所述广播端口号为目的端口号,生成携带所述一路视频流的第二数据包,可以通过广播端口号来区分不同的目标直播视频,并通过一路第二数据包来发送目标直播视频的一路视频流,而无需以点对点的方式发送多路携带同一视频流的第一数据包,能够在直播视频的视频流传输过程中,大幅降低网络带宽占用和系统卡顿和延迟。
而且,由于终端只会监听之前所接收到的第三数据包中的目标多播地址(包括广播端口号),从而可以只从上级网络下发的数据包中抓取目的端口号为所述广播端口号的第二数据包,传统技术中广播包可以使得同一局域网内的所有终端都接收到,但是本发明实施例的终端以广播端口号为广播数据包的抓取条件,使得未请求该目标直播视频的终端不会接收到包括目标直播视频的视频流的第二数据包,通过终端对目的端口号为广播端口号的第二数据包的监听,以广播端口号为条件进行第二数据包的过滤,可以实现同一局域网下未请求目标直播视频的终端不会接收到该局域网内其他终端所请求的目标直播视频的视频流。
可选地,上述目标网络设备可以监听所述第一下级网络中的所述一路视频流的目的地址是否为其所需要监听的该目标多播地址。
例如目标网络设备为路由器,则路由器是支持对所监听的地址的数据包进行下发的功能的。为了使得路由器确定哪些地址的第二数据包是需要监听的,目标网络设备在监听所述第一下级网络中的所述一路视频流的目的地址是否为其所需要监听的该目标多播地址时,可以通过方式a或方式b来实现:
方式a:路由器将保存的所述目标多播地址设置为待监听地址;然后,路由器监听所述服务器发送至第一下级网络中的第二数据包中是否存在目的地址为所述待监听地址的数据包。
例如,上述服务器通过所述目标网络设备(例如路由器)将所述目标多播地址发送至所述目标终端的过程中,该目标多播地址可以以第三数据包的包内容的方式携带在第三数据包中,因此,路由器在转发该第三数据包之前,可以提取该第三数据包中的目标多播地址,并将该目标多播地址设置为待监听地址,然后,路由器就监听服务器下发的第二数据包中是否存在目的地址为该待监听地址的数据包。
例如,如图2所示,P个终端没有请求目标直播视频,而M个终端在请求同一目标直播视频,则节点E所下发的第二数据包不会被节点J所监听到,而只会被节点F监听到并获取该第二数据包以及下发给下级网络;而节点J由于没有接收到上述第三数据包,从而不会监听该目标多播地址,因此,可以使得M个终端可以接收到目标直播视频的视频流,而P个终端不会接收到目标直播视频的视频流。
在本发明实施例中,目标网络设备在接收到服务器发送给终端的第三数据包后,可以提取目标多播地址,并将该目标多播地址设置为待监听地址,从而在服务器后续下发至第一下级网络的第二数据包中,目标网络设备只获取目标地址为该待监听地址的第二数据包,并下发至第二下级网络,这样可以使得未请求该目标直播视频的局域网内不会接收到携带目标直播视频的视频流的第二数据包。
可选地,路由器侧还可以预先配置有一组固定的地址,该地址可以对应有端口,将预先配置的地址设置为多播地址。比如将239.255.255.250~239.255.255.255这个地址范围中的每个地址设置为组播地址,每个组播地址的端口可以在233222~233422之间。服务器在下发第二数据包到第一下级网络时,路由器可以监听预先设置的上述地址范围内以及端口范围内的多播地址,如果第一下级网络中的第二数据包中存在目的地址与预设的上述任意一个组播地址、端口相匹配的数据包,则可以抓取该数据包并下发至第二下级网络;然后,终端就可以依据预先由服务器下发的目标多播地址,来抓取第二下级网络中,由本终端所请求的直播视频的第二数据包,获取到相应直播视频的视频流并播放。
方式b:路由器首先识别第一下级网络中的第二数据包的预设字段所表示的目标终端;若所述路由器连接的候选终端中存在所述目标终端,则路由器将所述第二数据包中的目的地址设置为待监听地址;最后,路由器监听第一下级网络中的第二数据包中是否存在目的地址为所述待监听地址的数据包。
具体而言,服务器在下发第二数据包至第一下级网络时,可以在第二数据包中增加预设字段,该预设字段表示请求该第二数据包的视频流的目标终端,例如该预设字段可以表示为终端的IP地址,而路由器侧存储有路由器所连接的各个终端的IP地址,如果该第二数据包的预设字段的内容是路由器本地存储的上述各个终端的IP地址中的一个,则说明这个第二数据包是该路由器的局域网网络下的终端所请求的直播视频的视频流,因此,路由器可以将上述第二数据包中的目的地址设置为待监听地址,并发送该第二数据包至第二下级网络,从而使得监听该第二数据包的目标终端就可以抓取到该第二数据包。
在本发明实施例中,在服务器发送至第一下级网络中的携带有直播视频的视频流的第二数据包中可以增加有预设字段,用于表示请求该第二数据包的终端的标识信息,那么路由器就可以通过提取该第二数据包中的该预设字段,来判定是否需要获取并发送该第二数据包至第二下级网络,进而使得该路由器所连接的终端可以从第二下级网络中,获取其所请求的第二数据包。
需要说明的是,该待监听地址可以是一个地址列表,即可以包括至少两个目标多播地址,因为,同一个局域网下的多个终端可能在请求不同的直播视频,那么该局域网的路由器就需要监听该不同的直播视频分别对应的目标多播地址。
在一个示例中,例如图2中的节点F为路由器,节点E为这里的服务器,那么节点E在E网络中发送239.255.255.250(组播IP地址):1900(组播端口号)的组播包,而节点F侧的待监听地址包括239.255.255.250:1900,因此,节点F可以监听到节点E下发的239.255.255.250:1900的组播包,节点F可以从E网络中抓取到该239.255.255.250:1900的组播包。
在本发明实施例中,路由器只会监听之前所接收到的第三数据包中的目标多播地址(包括组播IP地址和组播端口号),从而可以只从上级网络下发的数据包中抓取目的IP地址为所述组播IP地址、且目的端口号为所述组播端口号的数据包并下发至下级网络,可以使得未请求该目标直播视频的局域网内不会接收到包括目标直播视频的视频流的第二数据包。
在一个示例中,例如图2中的节点F为路由器,节点E为这里的服务器,那么节点E在E网络中发送255.255.255.255:2000(广播端口号)的广播包,而节点F侧的待监听多播地址包括255.255.255.255:2000,因此,节点F可以监听到节点E下发的255.255.255.255:2000的广播包,节点F可以从E网络中抓取到该255.255.255.255:2000的广播包。
在本发明实施例中,路由器只会监听之前所接收到的第三数据包中的目标多播地址(包括广播端口号),从而可以只从上级网络下发的数据包中抓取目的端口号为所述组播端口号的数据包并下发,可以使得未请求该目标直播视频的局域网内不会接收到包括目标直播视频的视频流的第二数据包。
可选地,在上述实施例的基础上,所述第二终端从所述第二下级网络获取到所述目标直播视频的多路视频流之后,图5示出了本发明另一个实施例的直播视频的传输方法的部分步骤的流程图。
如图5所示,所述方法还包括:
步骤104,所述第二终端根据每路视频流的帧序号,判断是否存在针对所述目标直播视频的已丢失的一路视频流;
由于在将视频流以第二数据包发送至各级网络节点都可能存在丢包的情况,因此,会使得终端所接收到的目标直播视频的视频流可能存在丢包的情况,所以,终端可以根据接收到的关于同一目标直播视频的多个第二数据包中每路视频流的帧序号是否连续,来判断是否存在丢包的情况,以及确定所丢失的一个第二数据包,即该第二数据包中的一路视频流。
步骤105,若存在针对所述目标直播视频的已丢失的一路视频流、且所述已丢失的一路视频流包括所述目标直播视频的关键帧,则所述第二终端通过所述第二网络设备发送第一请求至所述服务器;
其中,如果存在第二数据包的丢包,且已丢失的第二数据包的视频流中还携带有该目标直播视频的关键帧,则终端可以点对点的方式,通过路由器来向服务器请求所丢失的第二数据包,具体为发送第一请求,其中,所述第一请求包括所述关键帧的目标帧序号。
步骤106,所述服务器响应于所述第一请求,获取与所述目标帧序号匹配的目标视频流并通过所述第二网络设备发送至所述第二终端,其中,所述目标视频流包括所述关键帧;
其中,服务器在通过目标帧序号获取到终端丢失的第二数据包对应的目标视频流后,可以通过点对点的方式,经由该路由器将该目标视频流发送至该终端。
步骤107,所述第二终端按照所述目标帧序号,将所述目标视频流插入至所述多路视频流中的目标位置,并按照各路视频流的帧序号对所述各路视频流依次进行播放。
其中,终端可以按照帧序号的排列顺序,来将目标视频流插入到已接收到的多路视频流中的相应位置,确保播放的直播视频的视频流畅性和准确性。
在本发明实施例中,在终端检测到存在目标直播视频的已丢失的一路视频流,且已丢失的一路视频流中还存在关键帧的情况下,为了避免因第二数据包传输直播视频流所导致的直播视频丢帧严重以及播放效果差的问题,终端可以通过路由器来向服务器请求已丢失的一路视频流,服务器也以点对点的方式来通过路由器返回给该终端所请求的一路视频流,使得丢包的终端可以接收到完整准确的直播视频流,确保了直播视频的准确性,避免视频播放卡顿,也避免了其他未丢该路目标视频流的终端接收到其他终端所请求的丢失的目标视频流的情况。
参照图6,示出了本发明的一种直播视频的传输方法实施例的步骤流程图,该方法可以应用于服务器,该方法具体可以包括如下步骤:
步骤201,发送第一终端请求的目标直播视频的一路视频流至第一下级网络;
其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
步骤202,当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端;
其中,所述第二网络设备通过监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备保存有所述目标多播地址;以及,在所述第二网络设备监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二网络设备从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
其中,所述第二终端通过监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端保存有所述目标多播地址;以及,在所述第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二终端从所述第二下级网络获取所述一路视频流并播放。
在本发明实施例中,服务器对请求的目标直播视频分配有目标多播地址并将该目标多播地址通过终端连接的网络设备发送至请求该目标直播视频的终端,然后,不论请求该目标直播视频的终端数量为多少个,服务器都只需要发送该目标直播视频的一路视频流至第一下级网络,就可以将同一目标直播视频的视频流分发给请求该目标直播视频的多个终端,在面临大量用户请求直播视频的场景时,大幅降低了服务器和路由器的带宽损耗,以及优化了网络延迟和卡顿的问题。
参照图7,示出了本发明的一种直播视频的传输方法实施例的步骤流程图,应用于第二终端,该方法具体可以包括如下步骤:
步骤301,在第一终端通过与所述第一终端连接的第一网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,当第二终端请求所述目标直播视频的视频流时,第二终端监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,其中,所述第二终端保存有所述目标多播地址;
其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
步骤302,在第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,第二终端从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
在本发明实施例中,终端在获取服务器发送至第一下级网络中的目标直播视频的一路视频流之前,终端可以保存该目标直播视频的目标多播地址;然后,终端监听第二下级网络中的一路视频流的目的地址是否为该目标多播地址,如果是,则会从第二下级网络中获取到该路视频流并播放。这样,在面临大量用户请求同一直播视频的场景时,多个终端都以监听第二下级网络中的一路视频流中的目的地址是否为各个终端所保存的目标多播地址的方式,来实现对服务器下发至第一下级网络中的目标直播视频的视频流的获取,提升了终端的网络速度。
关于上述图6以及图7的实施例所提供的单侧的直播视频的传输方法,具体参见上述图2~图5所示实施例中的相应介绍和说明,这里不再赘述。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
与上述本发明实施例所提供的应用于包括第一终端,与所述第一终端连接的第一网络设备,第二终端,与所述第二终端连接的第二网络设备以及服务器的系统的直播视频的传输方法相对应,参照图4,示出了本发明一种直播视频的传输系统实施例的结构框图,具体可以包括第一终端C1,与所述第一终端C1连接的第一网络设备R1,第二终端C2,与所述第二终端C2连接的第二网络设备R2以及服务器S;
所述第一终端C1,用于通过所述第一网络设备R1,接收所述服务器S发送至第一下级网络中的目标直播视频的一路视频流,其中,所述第一终端C1保存有所述服务器S为所述目标直播视频分配的目标多播地址;
所述第二网络设备R2,用于当所述第二终端C2请求所述目标直播视频的视频流时,监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备R2保存有所述目标多播地址;以及,在所述第二网络设备R2监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
所述第二终端C2,用于监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端C2保存有所述目标多播地址;以及,在所述第二终端C2监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放。
可选地,目标终端,用于通过目标网络设备,向所述服务器S发送对目标直播视频的视频请求;
所述服务器S,用于响应于所述视频请求,获取与所述目标直播视频匹配的目标多播地址,并通过所述目标网络设备将所述目标多播地址发送至所述目标终端;
所述目标网络设备,用于保存所述目标多播地址;
所述目标终端,用于保存所述目标多播地址;
其中,当所述目标终端为所述第一终端C1时,所述目标网络设备为所述第一网络设备R1;当所述目标终端为所述第二终端C2时,所述目标网络设备为所述第二网络设备R2。
可选地,所述服务器S,还用于根据预先存储的直播视频与多播地址之间的对应关系,获取与所述目标直播视频匹配的目标多播地址;
或,
所述服务器S,还用于若所述视频请求为所述服务器S接收到的对所述目标直播视频的首次视频请求,为所述目标直播视频分配目标多播地址,并存储所述目标直播视频与所述目标多播地址之间的对应关系;若所述视频请求为对所述目标直播视频的非首次视频请求,所述服务器S,还用于在存储的所述对应关系中获取与所述目标直播视频匹配的目标多播地址。
可选地,所述服务器S,还用于生成携带所述目标直播视频的一路视频流的第一数据包,其中,所述第一数据包的目的地址为请求所述目标直播视频的目标终端的IP地址,其中,所述目标终端为所述第一终端C1或所述第二终端C2;
所述服务器S,还用于将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包;
所述服务器S,还用于将所述第二数据包发送至所述第一下级网络。
可选地,所述目标多播地址包括组播IP地址和组播端口号;
所述服务器S,还用于以所述组播IP地址为目的IP地址,以所述组播端口号为目的端口号,生成携带所述一路视频流的第二数据包;
所述第二终端C2,还用于监听所述第二下级网络中的所述第二数据包的目的IP地址是否为所述组播IP地址、且目的端口号是否为所述组播端口号;
可选地,所述目标多播地址包括广播端口号;
所述服务器S,还用于以所述广播端口号为目的地址的目的端口号,生成携带所述一路视频流的第二数据包;
所述第二终端C2,还用于监听所述第二下级网络中的所述第二数据包的目的地址的端口号是否为所述组播端口号。
可选地,所述第二终端C2,还用于根据每路视频流的帧序号,判断是否存在针对所述目标直播视频的已丢失的一路视频流;
所述第二终端C2,还用于若存在针对所述目标直播视频的已丢失的一路视频流、且所述已丢失的一路视频流包括所述目标直播视频的关键帧,则通过所述第二网络设备R2发送第一请求至所述服务器S,其中,所述第一请求包括所述关键帧的目标帧序号;
所述服务器S,还用于响应于所述第一请求,获取与所述目标帧序号匹配的目标视频流并通过所述第二网络设备R2发送至所述第二终端C2,其中,所述目标视频流包括所述关键帧;
所述第二终端C2,还用于按照所述目标帧序号,将所述目标视频流插入至所述多路视频流中的目标位置,并按照各路视频流的帧序号对所述各路视频流依次进行播放。
在本发明实施例中,多个终端请求同一直播视频的视频流时,不论请求该直播视频的终端的数量为几个,本发明实施例的服务器只需要下发该直播视频的一路视频流至服务器的第一下级网络,而具体到该路视频流如何到达各个终端,则是首先由终端的上级的网络设备监听第一下级网络中的视频流的目的地址是否为目标多播地址(该地址为服务器为该直播视频所分配的多播地址),如果是,则该网络设备从第一下级网络获取该路视频流并发送至第二下级网络;然后,再由与该网络设备通过该第二下级网络连接的终端,监听第二下级网络中的视频流的目的地址是否为上述目标多播地址,如果是,则该终端从该第二下级网络获取该视频流并播放。这样,在面临大量用户请求同一直播视频的场景时,服务器只需发送一路该目标直播视频的视频流,而请求该目标直播视频的每个终端只需要监听该视频流的目的地址是否为其请求的目标直播视频的目标多播地址的方式,来确定是否获取该视频流。因此,可以在多个终端请求同一直播视频的场景下,大幅降低了服务器和网络设备的带宽损耗,以及优化了网络延迟和卡顿的问题,并提升了终端的网络速度。
与上述本发明实施例所提供的应用于服务器的直播视频的传输方法相对应,参照图8,示出了本发明一种直播视频的传输装置200实施例的结构框图,应用于服务器,所述装置200具体可以包括如下模块:
发送模块21,用于发送第一终端请求的目标直播视频的一路视频流至第一下级网络,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
第一响应模块22,用于当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端。
可选地,如图9所示,所述装置还包括:
接收模块23,用于通过与所述第一终端连接的第一网络设备,接收所述第一终端发送的对目标直播视频的第二视频请求;
第二响应模块24,用于响应于所述第二视频请求,获取与所述目标直播视频匹配的目标多播地址,并通过与所述第一终端连接的第一网络设备将所述目标多播地址发送至所述第一终端;
所述第一响应模块22包括:
响应子模块221,用于响应于所述第一视频请求,获取与所述目标直播视频匹配的目标多播地址,并通过与所述第二网络设备将所述目标多播地址发送至所述第二终端。
可选地,如图9所示,所述第二响应模块24包括:
第一获取子模块241,用于根据预先存储的直播视频与多播地址之间的对应关系,获取与所述目标直播视频匹配的目标多播地址;
或,
分配子模块242,用于若所述视频请求为所述服务器接收到的对所述目标直播视频的首次视频请求,为所述目标直播视频分配目标多播地址,并存储所述目标直播视频与所述目标多播地址之间的对应关系;
第二获取子模块243,用于若所述视频请求为对所述目标直播视频的非首次视频请求,在存储的所述对应关系中获取与所述目标直播视频匹配的目标多播地址。
在本发明实施例中,服务器对请求的目标直播视频分配有目标多播地址并将该目标多播地址通过终端连接的网络设备发送至请求该目标直播视频的终端,然后,不论请求该目标直播视频的终端数量为多少个,服务器都只需要发送该目标直播视频的一路视频流至第一下级网络,就可以将同一目标直播视频的视频流分发给请求该目标直播视频的多个终端,在面临大量用户请求直播视频的场景时,大幅降低了服务器和路由器的带宽损耗,以及优化了网络延迟和卡顿的问题。
与上述本发明实施例所提供的应用于终端的直播视频的传输方法相对应,参照图10,示出了本发明一种直播视频的传输装置300实施例的结构框图,应用于第一终端,所述装置300具体可以包括如下模块:
监听模块31,用于在第二终端通过与所述第二终端连接的第二网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址,当请求所述目标直播视频的视频流时,监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,所述第一终端保存有所述目标多播地址;以及,
第一获取模块32,用于在监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
可选地,如图11所示,所述装置还包括:
判断模块33,用于根据每路视频流的帧序号,判断是否存在针对所述目标直播视频的已丢失的一路视频流;
发送模块34,用于若存在针对所述目标直播视频的已丢失的一路视频流、且所述已丢失的一路视频流包括所述目标直播视频的关键帧,则通过所述第二网络设备发送第一请求至所述服务器,其中,所述第一请求包括所述关键帧的目标帧序号;
第二获取模块35,用于通过所述第一网络设备,从所述服务器获取与所述目标帧序号匹配的目标视频流,其中,所述目标视频流包括所述关键帧;
播放模块36,用于按照所述目标帧序号,将所述目标视频流插入至所述多路视频流中的目标位置,并按照各路视频流的帧序号对所述各路视频流依次进行播放。
在本发明实施例中,终端在获取服务器发送至第一下级网络中的目标直播视频的一路视频流之前,终端可以保存该目标直播视频的目标多播地址;然后,终端监听第二下级网络中的一路视频流的目的地址是否为该目标多播地址,如果是,则会从第二下级网络中获取到该路视频流并播放。这样,在面临大量用户请求同一直播视频的场景时,多个终端都以监听第二下级网络中的一路视频流中的目的地址是否为各个终端所保存的目标多播地址的方式,来实现对服务器下发至第一下级网络中的目标直播视频的视频流的获取,提升了终端的网络速度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
根据本发明的又一个实施例,本发明还提供了一种服务器,如图12所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
发送第一终端请求的目标直播视频的一路视频流至第一下级网络,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端。
上述服务器提到的通信总线504可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandard Architecture,简称EISA)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502用于上述服务器与其他设备之间的通信。
存储器503可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器503还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器501可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本发明的又一个实施例,本发明还提供了一种电子设备,如图13所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
在第二终端通过与所述第二终端连接的第二网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址,当请求所述目标直播视频的视频流时,监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,所述第一终端保存有所述目标多播地址;以及,在监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
上述电子设备提到的通信总线604可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器603可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器603还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器601可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本发明的再一个实施例,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行应用于服务器的上述任一实施例所述的直播视频的传输方法中的步骤,或者,应用于终端的上述任一实施例所述的直播视频的传输方法中的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行应用于服务器的上述任一实施例所述的直播视频的传输方法中的步骤,或者,应用于终端的上述任一实施例所述的直播视频的传输方法中的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (17)
1.一种直播视频的传输方法,其特征在于,应用于包括第一终端,与所述第一终端连接的第一网络设备,第二终端,与所述第二终端连接的第二网络设备以及服务器的系统,所述方法包括:
所述第一终端通过所述第一网络设备,接收所述服务器发送至第一下级网络中的目标直播视频的一路视频流,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
当所述第二终端请求所述目标直播视频的视频流时,所述第二网络设备监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备保存有所述目标多播地址;以及,在所述第二网络设备监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二网络设备从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
所述第二终端监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端保存有所述目标多播地址;以及,在所述第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,所述第二终端从所述第二下级网络获取所述一路视频流并播放。
2.根据权利要求1所述的方法,其特征在于,所述服务器将所述目标直播视频的一路视频流发送至所述第一下级网络之前,所述方法还包括:
目标终端通过目标网络设备,向所述服务器发送对目标直播视频的视频请求;
所述服务器响应于所述视频请求,获取与所述目标直播视频匹配的目标多播地址,并通过所述目标网络设备将所述目标多播地址发送至所述目标终端;
所述目标网络设备和所述目标终端分别保存所述目标多播地址;
其中,当所述目标终端为所述第一终端时,所述目标网络设备为所述第一网络设备;当所述目标终端为所述第二终端时,所述目标网络设备为所述第二网络设备。
3.根据权利要求2所述的方法,其特征在于,所述服务器获取与所述目标直播视频匹配的目标多播地址,包括:
所述服务器根据预先存储的直播视频与多播地址之间的对应关系,获取与所述目标直播视频匹配的目标多播地址;
或,
若所述视频请求为所述服务器接收到的对所述目标直播视频的首次视频请求,所述服务器为所述目标直播视频分配目标多播地址,并存储所述目标直播视频与所述目标多播地址之间的对应关系;若所述视频请求为对所述目标直播视频的非首次视频请求,所述服务器在存储的所述对应关系中获取与所述目标直播视频匹配的目标多播地址。
4.根据权利要求1所述的方法,其特征在于,所述服务器将所述目标直播视频的一路视频流发送至所述第一下级网络,包括:
所述服务器生成携带所述目标直播视频的一路视频流的第一数据包,其中,所述第一数据包的目的地址为请求所述目标直播视频的目标终端的IP地址,其中,所述目标终端为所述第一终端或所述第二终端;
所述服务器将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包;
所述服务器将所述第二数据包发送至所述第一下级网络。
5.根据权利要求4所述的方法,其特征在于,
所述目标多播地址包括组播IP地址和组播端口号,所述服务器将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包,包括:
所述服务器以所述组播IP地址为目的IP地址,以所述组播端口号为目的端口号,生成携带所述一路视频流的第二数据包;
所述第二终端监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,包括:
所述第二终端监听所述第二下级网络中的所述第二数据包的目的IP地址是否为所述组播IP地址、且目的端口号是否为所述组播端口号;
所述目标多播地址包括广播端口号,所述服务器将所述第一数据包的目的地址修改为所述目标多播地址,生成携带所述一路视频流的第二数据包,包括:
所述服务器以所述广播端口号为目的地址的目的端口号,生成携带所述一路视频流的第二数据包;
所述第二终端监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,包括:
所述第二终端监听所述第二下级网络中的所述第二数据包的目的地址的端口号是否为所述组播端口号。
6.根据权利要求1所述的方法,其特征在于,所述第二终端从所述第二下级网络获取到所述目标直播视频的多路视频流之后,所述方法还包括:
所述第二终端根据每路视频流的帧序号,判断是否存在针对所述目标直播视频的已丢失的一路视频流;
若存在针对所述目标直播视频的已丢失的一路视频流、且所述已丢失的一路视频流包括所述目标直播视频的关键帧,则所述第二终端通过所述第二网络设备发送第一请求至所述服务器,其中,所述第一请求包括所述关键帧的目标帧序号;
所述服务器响应于所述第一请求,获取与所述目标帧序号匹配的目标视频流并通过所述第二网络设备发送至所述第二终端,其中,所述目标视频流包括所述关键帧;
所述第二终端按照所述目标帧序号,将所述目标视频流插入至所述多路视频流中的目标位置,并按照各路视频流的帧序号对所述各路视频流依次进行播放。
7.一种直播视频的传输方法,其特征在于,应用于服务器,所述方法包括:
发送第一终端请求的目标直播视频的一路视频流至第一下级网络,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端。
8.根据权利要求7所述的方法,其特征在于,所述发送第一终端请求的目标直播视频的一路视频流至第一下级网络之前,所述方法还包括:
通过与所述第一终端连接的第一网络设备,接收所述第一终端发送的对目标直播视频的第二视频请求;
响应于所述第二视频请求,获取与所述目标直播视频匹配的目标多播地址,并通过与所述第一终端连接的第一网络设备将所述目标多播地址发送至所述第一终端;
所述响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端,包括:
响应于所述第一视频请求,获取与所述目标直播视频匹配的目标多播地址,并通过与所述第二网络设备将所述目标多播地址发送至所述第二终端。
9.根据权利要求8所述的方法,其特征在于,所述获取与所述目标直播视频匹配的目标多播地址,包括:
根据预先存储的直播视频与多播地址之间的对应关系,获取与所述目标直播视频匹配的目标多播地址;
或,
若所述视频请求为所述服务器接收到的对所述目标直播视频的首次视频请求,为所述目标直播视频分配目标多播地址,并存储所述目标直播视频与所述目标多播地址之间的对应关系;若所述视频请求为对所述目标直播视频的非首次视频请求,在存储的所述对应关系中获取与所述目标直播视频匹配的目标多播地址。
10.一种直播视频的传输方法,其特征在于,应用于第一终端,所述方法包括:
在第二终端通过与所述第二终端连接的第二网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址,当请求所述目标直播视频的视频流时,监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,所述第一终端保存有所述目标多播地址;以及,在监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
11.根据权利要求10所述的方法,其特征在于,在从所述第二下级网络获取到所述目标直播视频的多路视频流之后,所述方法还包括:
根据每路视频流的帧序号,判断是否存在针对所述目标直播视频的已丢失的一路视频流;
若存在针对所述目标直播视频的已丢失的一路视频流、且所述已丢失的一路视频流包括所述目标直播视频的关键帧,则通过所述第二网络设备发送第一请求至所述服务器,其中,所述第一请求包括所述关键帧的目标帧序号;
通过所述第一网络设备,从所述服务器获取与所述目标帧序号匹配的目标视频流,其中,所述目标视频流包括所述关键帧;
按照所述目标帧序号,将所述目标视频流插入至所述多路视频流中的目标位置,并按照各路视频流的帧序号对所述各路视频流依次进行播放。
12.一种直播视频的传输系统,其特征在于,包括:第一终端,与所述第一终端连接的第一网络设备,第二终端,与所述第二终端连接的第二网络设备以及服务器;
所述第一终端,用于通过所述第一网络设备,接收所述服务器发送至第一下级网络中的目标直播视频的一路视频流,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
所述第二网络设备,用于当所述第二终端请求所述目标直播视频的视频流时,监听所述第一下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二网络设备保存有所述目标多播地址;以及,在所述第二网络设备监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第一下级网络获取所述一路视频流并发送至第二下级网络;
所述第二终端,用于监听所述第二下级网络中的所述一路视频流的目的地址是否为所述目标多播地址,所述第二终端保存有所述目标多播地址;以及,在所述第二终端监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放。
13.一种直播视频的传输装置,其特征在于,应用于服务器,所述装置包括:
发送模块,用于发送第一终端请求的目标直播视频的一路视频流至第一下级网络,其中,所述第一终端保存有所述服务器为所述目标直播视频分配的目标多播地址;
第一响应模块,用于当所述服务器通过与第二终端连接的第二网络设备,接收到所述第二终端对所述目标直播视频的第一视频请求时,响应于所述第一视频请求,通过所述第二网络设备,将所述目标多播地址发送至所述第二终端。
14.一种直播视频的传输装置,其特征在于,应用于第一终端,所述装置包括:
监听模块,用于在第二终端通过与所述第二终端连接的第二网络设备,接收到服务器发送至第一下级网络中的目标直播视频的一路视频流的情况下,其中,所述第二终端保存有所述服务器为所述目标直播视频分配的目标多播地址,当请求所述目标直播视频的视频流时,监听第二下级网络中的一路视频流的目的地址是否为所述目标多播地址,所述第一终端保存有所述目标多播地址;以及,
第一获取模块,用于在监听到所述一路视频流的目的地址为所述目标多播地址的情况下,从所述第二下级网络获取所述一路视频流并播放;
其中,所述第二下级网络中的所述一路视频流为,在与所述第一终端连接的第一网络设备监听到所述第一下级网络中的所述一路视频流的目的地址为所述目标多播地址的情况下,由所述第一网络设备从所述第一下级网络获取到的所述目标直播视频的一路视频流。
15.一种服务器,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求7至9中任一项所述的直播视频的传输方法的步骤。
16.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求10至11中任一项所述的直播视频的传输方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求7至9中任一项所述的直播视频的传输方法中的步骤,或实现如权利要求10至11中任一项所述的直播视频的传输方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010463622.3A CN111669610B (zh) | 2020-05-27 | 2020-05-27 | 直播视频的传输方法、系统、装置、服务器、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010463622.3A CN111669610B (zh) | 2020-05-27 | 2020-05-27 | 直播视频的传输方法、系统、装置、服务器、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669610A true CN111669610A (zh) | 2020-09-15 |
CN111669610B CN111669610B (zh) | 2022-08-05 |
Family
ID=72385085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010463622.3A Active CN111669610B (zh) | 2020-05-27 | 2020-05-27 | 直播视频的传输方法、系统、装置、服务器、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669610B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114302149A (zh) * | 2021-12-24 | 2022-04-08 | 北京淳中科技股份有限公司 | 一种音视频传输方法、装置及系统 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659541A (zh) * | 2002-05-28 | 2005-08-24 | 三星电子株式会社 | 用于在无线通信服务区内广播数据的设备及方法 |
US7525965B1 (en) * | 2005-06-30 | 2009-04-28 | Sun Microsystems, Inc. | Trick play for multicast streams |
CN101720023A (zh) * | 2009-12-04 | 2010-06-02 | 深圳创维数字技术股份有限公司 | 实时监控系统、使用数字电视接收机实现监控的方法 |
CN102325266A (zh) * | 2011-10-21 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种视频实况点播方法及其设备 |
CN104301741A (zh) * | 2014-09-26 | 2015-01-21 | 北京奇艺世纪科技有限公司 | 一种数据直播系统和方法 |
CN105049954A (zh) * | 2015-07-02 | 2015-11-11 | 中兴通讯股份有限公司 | Ott媒体的组播传输方法、装置及系统 |
CN106302566A (zh) * | 2015-05-12 | 2017-01-04 | 华为技术有限公司 | 直播媒体数据的方法、设备和系统 |
CN106658044A (zh) * | 2016-12-30 | 2017-05-10 | Ut斯达康(深圳)技术有限公司 | 一种直播方法和装置 |
CN107277423A (zh) * | 2017-07-28 | 2017-10-20 | 北京小米移动软件有限公司 | 丢包重传的方法及装置 |
US20170311017A1 (en) * | 2009-09-10 | 2017-10-26 | At&T Intellectual Property I, L.P. | Apparatus and Method for Displaying Content |
CN108668178A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 一种组播实现方法及相关网络设备 |
CN109560901A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 一种数据重传方法、装置、终端设备及存储介质 |
CN109889543A (zh) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和系统 |
US20190238897A1 (en) * | 2016-10-13 | 2019-08-01 | Huawei Technologies Co., Ltd. | Live video transmission method and system, and apparatus |
CN110289974A (zh) * | 2019-05-23 | 2019-09-27 | 视联动力信息技术股份有限公司 | 一种数据流的处理方法、系统及装置和存储介质 |
CN110876091A (zh) * | 2020-01-20 | 2020-03-10 | 翱捷科技(上海)有限公司 | 一种利用rtp扩展头部解决视频帧丢包的方法及装置 |
-
2020
- 2020-05-27 CN CN202010463622.3A patent/CN111669610B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659541A (zh) * | 2002-05-28 | 2005-08-24 | 三星电子株式会社 | 用于在无线通信服务区内广播数据的设备及方法 |
US7525965B1 (en) * | 2005-06-30 | 2009-04-28 | Sun Microsystems, Inc. | Trick play for multicast streams |
US20170311017A1 (en) * | 2009-09-10 | 2017-10-26 | At&T Intellectual Property I, L.P. | Apparatus and Method for Displaying Content |
CN101720023A (zh) * | 2009-12-04 | 2010-06-02 | 深圳创维数字技术股份有限公司 | 实时监控系统、使用数字电视接收机实现监控的方法 |
CN102325266A (zh) * | 2011-10-21 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种视频实况点播方法及其设备 |
CN104301741A (zh) * | 2014-09-26 | 2015-01-21 | 北京奇艺世纪科技有限公司 | 一种数据直播系统和方法 |
CN106302566A (zh) * | 2015-05-12 | 2017-01-04 | 华为技术有限公司 | 直播媒体数据的方法、设备和系统 |
CN105049954A (zh) * | 2015-07-02 | 2015-11-11 | 中兴通讯股份有限公司 | Ott媒体的组播传输方法、装置及系统 |
US20190238897A1 (en) * | 2016-10-13 | 2019-08-01 | Huawei Technologies Co., Ltd. | Live video transmission method and system, and apparatus |
CN106658044A (zh) * | 2016-12-30 | 2017-05-10 | Ut斯达康(深圳)技术有限公司 | 一种直播方法和装置 |
CN108668178A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 一种组播实现方法及相关网络设备 |
CN107277423A (zh) * | 2017-07-28 | 2017-10-20 | 北京小米移动软件有限公司 | 丢包重传的方法及装置 |
CN109560901A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 一种数据重传方法、装置、终端设备及存储介质 |
CN109889543A (zh) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | 视频传输的方法、根节点、子节点、p2p服务器和系统 |
CN110289974A (zh) * | 2019-05-23 | 2019-09-27 | 视联动力信息技术股份有限公司 | 一种数据流的处理方法、系统及装置和存储介质 |
CN110876091A (zh) * | 2020-01-20 | 2020-03-10 | 翱捷科技(上海)有限公司 | 一种利用rtp扩展头部解决视频帧丢包的方法及装置 |
Non-Patent Citations (1)
Title |
---|
卢小龙等: "IP组播技术在局域网视频直播系统中的运用探讨", 《电子技术与软件工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114302149A (zh) * | 2021-12-24 | 2022-04-08 | 北京淳中科技股份有限公司 | 一种音视频传输方法、装置及系统 |
CN114302149B (zh) * | 2021-12-24 | 2023-05-09 | 北京淳中科技股份有限公司 | 一种音视频传输方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111669610B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109640348B (zh) | 多业务mec网络架构、多业务数据流的处理方法及装置 | |
CN110121059B (zh) | 监控视频处理方法、装置及存储介质 | |
CN110971445B (zh) | 一种网络的oam方法及装置 | |
CN109672856B (zh) | 资源同步方法和装置 | |
CN110149262B (zh) | 一种信令报文的处理方法和装置、及存储介质 | |
CN109474715B (zh) | 一种基于视联网的资源配置方法和装置 | |
CN110493344B (zh) | 文件下载方法和装置 | |
US20160277246A1 (en) | Method and device for media multiplexing negotiation | |
CN111669610B (zh) | 直播视频的传输方法、系统、装置、服务器、电子设备及存储介质 | |
CN109451001B (zh) | 一种通讯方法和系统 | |
CN110113557B (zh) | 一种多级会议实现方法和视联网系统 | |
CN113395612B (zh) | 一种光纤通信中的数据转发方法以及相关装置 | |
CN112866390B (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
CN109769126B (zh) | 一种在互联网中实时回放视联网录像的方法和装置 | |
CN110289974B (zh) | 一种数据流的处理方法、系统及装置和存储介质 | |
US7783784B1 (en) | Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards | |
CN109121017B (zh) | 一种视联网网络质量评估方法和装置 | |
CN108989896B (zh) | 一种视频点播请求处理方法和装置 | |
CN114338625B (zh) | 实时通信方法、装置、设备及存储介质 | |
CN110266768B (zh) | 一种数据传输方法和系统 | |
CN109600567B (zh) | 一种视频会议的处理方法和系统 | |
CN111031090B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN108966040B (zh) | 一种视联网业务的处理方法和视联网终端 | |
CN110475160B (zh) | 一种跨视联网传输视频数据方法和装置 | |
CN109951670B (zh) | 一种视频会议中指令发布的方法和装置 |
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 |