CN111541916B - 码流传输方法及设备 - Google Patents
码流传输方法及设备 Download PDFInfo
- Publication number
- CN111541916B CN111541916B CN202010304078.8A CN202010304078A CN111541916B CN 111541916 B CN111541916 B CN 111541916B CN 202010304078 A CN202010304078 A CN 202010304078A CN 111541916 B CN111541916 B CN 111541916B
- Authority
- CN
- China
- Prior art keywords
- code stream
- target code
- information
- stream information
- target
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 11
- 238000013461 design Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- 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/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种码流传输方法及设备,该方法包括:获取第一设备发送的查询请求,其中所述查询请求包括目标码流信息;在确定所述查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中所述当前码流信息为当前基于所述已建立的连接传输的码流的码流信息;在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备,无需再重新建立连接来传输目标码流,实现码流的快速切换,提高码流切换所需的效率,从而不会出现现***流切换效率低的问题,提高用户体验。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种码流传输方法及设备。
背景技术
实时流传输协议(Real Time Streaming Protocol,RTSP)是一个客户端/服务器(Client/Server,C/S)多媒体节目协议。服务器在传输客户端请求的多媒体数据时,需基于RTSP协议,与客户端建立数据传输通道,即建立连接,然后基于该连接,将该多媒体数据对应的主码流传输给客户端,客户端对该主码流进行解码及播放。但由于客户端网络环境较差等原因,服务器需要进行码流切换,以将画面质量较低的子码流传输到客户端。
现有技术中,在进行码流切换时,服务器需先断开与客户端建立的数据传输通道,即断开连接,然后再重新建立连接,以利用新建立的连接,将多媒体对应的子码流传输给客户端。
然而,发明人发现现有技术中至少存在如下问题:在进行码流切换时,由于需要断开连接以及重新建立连接,服务器才能子码流传输给客户端,导致码流切换所需时间较长,切换效率低,影响用户的体验。
发明内容
本发明实施例提供一种码流传输方法及设备,以解决现有技术中由于在进行码流切换时,需要重新建立连接,导致码流切换时间较长,从而造成码流切换效率低的问题。
第一方面,本发明实施例提供一种码流传输方法,包括:
获取第一设备发送的查询请求,其中所述查询请求包括目标码流信息;
在确定所述查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中所述当前码流信息为当前基于所述已建立的连接传输的码流的码流信息;
在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备。
在一种可能的设计中,所述目标码流信息包括目标码流地址,所述当前码流信息包括当前码流地址;
在所述在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备之前,还包括:
判断所述目标码流地址和所述当前码流地址是否相同;
若所述目标码流地址和所述当前码流地址不相同,则确定所述当前码流信息和所述目标码流信息不匹配。
在一种可能的设计中,在所述在确定所述查询请求是基于已建立的连接发送的请求后,获取当前码流信息之前,还包括:
获取所述查询请求中的通道标识,并获取所述通道标识对应的连接状态;
若所述连接状态为连接中,则确定所述查询请求是基于已建立的连接发送的请求。
在一种可能的设计中,所述基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备,包括:
发送预设扩展数据包给所述第一设备,其中所述预设扩展数据包用于指示所述第一设备接收所述目标码流地址对应的目标码流;
基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备。
在一种可能的设计中,所述目标码流信息包括目标码流标识,所述当前码流信息包括当前码流标识;
在所述在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备之前,还包括:
判断所述目标码流标识和所述当前码流标识是否相同;
若所述目标码流标识和所述当前码流标识不相同,则确定所述当前码流信息和所述目标码流信息不匹配。
在一种可能的设计中,在所述发送预设扩展数据包给所述第一设备之前,还包括:
生成查询响应信息,并返回给所述第一设备,所述查询响应信息包括扩展标识。
第二方面,本发明实施例提供一种码流传输设备,包括:
收发模块,用于获取第一设备发送的查询请求,其中所述查询请求包括目标码流信息;
处理模块,用于在确定所述查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中所述当前码流信息为当前基于所述已建立的连接传输的码流的码流信息;
所述收发模块,用于在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备。
在一种可能的设计中,所述目标码流信息包括目标码流地址,所述当前码流信息包括当前码流地址;
所述收发模块,还用于在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备之前,判断所述目标码流地址和所述当前码流地址是否相同;
所述收发模块,还用于在所述目标码流地址和所述当前码流地址不相同时,确定所述当前码流信息和所述目标码流信息不匹配。
在一种可能的设计中,所述处理模块,还用于在确定所述查询请求是基于已建立的连接发送的请求后,获取当前码流信息之前,获取所述查询请求中的通道标识,并获取所述通道标识对应的连接状态;
所述处理模块,还用于在所述连接状态为连接中时,确定所述查询请求是基于已建立的连接发送的请求。
在一种可能的设计中,所述收发模块,还用于发送预设扩展数据包给所述第一设备,其中所述预设扩展数据包用于指示所述第一设备接收所述目标码流地址对应的目标码流;
所述收发模块,还用于基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备。
在一种可能的设计中,所述目标码流信息包括目标码流标识,所述当前码流信息包括当前码流标识;
所述收发模块,还用于在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备之前,判断所述目标码流标识和所述当前码流标识是否相同;
所述收发模块,还用于在所述目标码流标识和所述当前码流标识不相同时,确定所述当前码流信息和所述目标码流信息不匹配。
在一种可能的设计中,所述收发模块,还用于在所述发送预设扩展数据包给所述第一设备之前,生成查询响应信息,并返回给所述第一设备,所述查询响应信息包括扩展标识。
第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器和存储器。
所述存储器存储计算机执行指令。
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的码流传输方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的码流传输方法。
本发明实施例提供的码流传输方法及设备,该方法通过在确定第一设备发送的查询请求是基于已建立的连接发送的请求后,表明可能需进行码流的切换,则将当前基于该已建立的连接传输的码流信息作为当前码流信息,将当前码流信息与查询请求中的目标码流信息进行比较,当确定两者不匹配时,表明第一设备请求的目标码流并不是当前基于该已建立的连接传输的码流,即需进行码流的切换,则直接给予该已建立的连接,将目标码流传输给第一设备,无需再重新建立连接来传输目标码流,实现码流的快速切换,提高码流切换所需的效率,从而不会出现现***流切换效率低的问题,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的码流传输***的示意图;
图2为本发明实施例提供的码流传输方法的流程图一;
图3为本发明实施例提供的码流传输方法的流程图二;
图4为本发明实施例提供的扩展RTP数据包的包头示意图;
图5为本发明实施例提供的码流传输设备的示意图;
图6为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
服务器在对多媒体数据,例如,视频数据进行编码时,可以按照两种编码格式进行编码,从而得到主码流和子码流,主码流和子码流是数字化后的两种数据流。主码流的画面质量较高,对网络带宽要求较高,子码流的画面质量较低,对网络带宽的要求也较低。
图1为本发明实施例提供的码流传输***的示意图,如图1所示,该***包括客户端101和服务器102,客户端发送相关请求,例如OPTIONS请求,DESCRIBE请求,SETUP请求,给服务器以向服务器请求需进行传输的多媒体数据对应的主码流,以及请求建立数据传输通道,即建立连接,在建立连接成功后,服务器基于该连接,将主码流打包成实时传输协议(Real-time Transport Protocol,RTP)数据包,并传输给客户端,客户端对该RTP数据包进行相关解析得到主码流,并对主码流进行解码,以播放解码后的主码流。
现有技术中,当客户端由于网络原因向服务器请求发送该多媒体数据对应的子码流时,客户端可以发送TEARDOWN请求给服务器,以使服务器断开该连接,即断开该数据传输通道,并重新发送相关请求给服务器以向服务器请求需进行传输的多媒体数据对应的子码流,以及请求重新建立数据传输通道,即建立新的连接。然后服务器基于该新的连接,将子码流发送给客户端,实现码流的切换,但在进行码流切换时,由于需要断开连接以及重新建立连接,服务器才能传输子码流给客户端,导致码流切换所需时间较长,切换效率低,影响用户的体验。
因此,针对上述问题,本发明的技术构思是对RTSP协议提供的OPTIONS请求进行扩展,以使其可以包括目标码流地址,服务器在接收到客户端发送的OPTIONS请求后,判断该OPTIONS请求是否在已建立的连接中进行的请求以及判断目标码流地址是否为当前正在传输的码流的地址,若该OPTIONS请求是在已建立的连接中进行的请求以及该目标码流地址不是当前正在传输的码流的地址,则确定该客户端正在请求传输新的码流,服务器在准备目标码流完毕后,给客户端发送包括READY标识的响应信息,以满足RTSP协议的一应一答机制,并发送RTP扩展专用包给客户端,其表示新的码流开始发送,然后基于已建立的连接,将该新的码流,即将目标码流发送给客户端,实现码流的切换,无需重新建立新的连接以传输新的码流。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明实施例提供的码流传输方法的流程图一,本实施例的方法可以由第二设备或由图1中的服务器执行,如图2所示,本实施例的方法,可以包括:
S201、获取第一设备发送的查询请求,其中查询请求包括目标码流信息。
在本实施例中,第二设备获取第一设备发送的查询请求,该查询请求包括目标码流信息,该目标码流信息为目标码流的信息,该目标码流为第一设备请求的码流信息,即第二设备需进行传输的码流的信息。
其中,查询请求为OPTIONS请求,该请求是基于RTSP协议提供的基础OPTIONS请求进行扩展得到的,RTSP协议提供的基础OPTIONS请求并不包括目标码流信息,在对其进行扩展后,得到包括目标码流信息的OPTIONS请求。
可选的,第二设备为服务器,第一设备为客户端,具体地,服务器为媒体服务器。
S202、在确定查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中当前码流信息为当前基于已建立的连接传输的码流的码流信息。
在本实施例中,在接收到第一设备发送的查询请求后,第二设备判断该查询请求是否是基于已建立的连接发送的请求,即判断该查询请求是否是在当前已经建立的数据传输通道中进行的请求。
在确定该查询请求是在当前已经建立的数据传输通道中进行的请求后,表明客户端请求的码流可能不是当前在该数据传输通道中传输的码流,即表明可能需切换传输的码流,则获取当前在该数据传输通道中传输的码流的信息,即获取当前基于已建立的连接传输的码流的码流信息,并将该信息作为当前码流信息,以供利用该当前码流信息确定是否需要切换传输的码流,即确定是否需要传输新的码流。
S203、在确定当前码流信息和目标码流信息不匹配后,基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备。
在本实施例中,判断当前码流信息和目标码流信息是否匹配,在确定当前码流信息和目标码流匹配时,表明目标码流是基于已建立的连接传输的码流的码流信息,即目标码流为当前正在传输的码流,则无需切换传输的码流,避免进行无用的码流切换。
在确定当前码流信息和目标码流信息不匹配时,表明目标码流不是基于已建立的连接传输的码流,该目标码流为新的码流,需要切换基于该已建立的连接传输的码流,以由当前正在传输的码流切换到目标码流,则从目标码流地址中获取目标码流,并将该目标码流传输到第一设备。
其中,在确定目标码流与当前正在传输的码流不同时,目标码流和当前正在传输的码流为同一多媒体数据,例如同一视频,对应的不同格式的码流,当目标码流为主码流时,则当前正在传输的码流为子码流,当目标码流为子码流时,则当前正在传输的码流为主码流。
另外,第一设备在接收到第二设备传输的目标码流后,对该目标码流进行解码,并播放,实现目标码流的播放。
从上述描述可知,在确定第一设备发送的查询请求是基于已建立的连接发送的请求后,表明可能需进行码流的切换,则将当前基于该已建立的连接传输的码流信息作为当前码流信息,将当前码流信息与查询请求中的目标码流信息进行比较,当确定两者不匹配时,表明第一设备请求的目标码流并不是当前基于该已建立的连接传输的码流,即需进行码流的切换,则直接给予该已建立的连接,将目标码流传输给第一设备,无需再重新建立连接来传输目标码流,实现码流的快速切换,提高码流切换所需的效率,从而不会出现现***流切换效率低的问题,提高用户体验。
另外,在基于已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备之前,还可以传输扩展数据包给第一设备,以时第一设备获知第二设备开始传输新的码流,下面结合一个具体的实施例对的过程进行详细描述。
图3为本发明实施例提供的码流传输方法的流程图二,本实施例在图2实施例的基础上,对传输扩展数据包的具体实现过程进行了详细说明。如图3所示,该方法包括:
S301、获取第一设备发送的查询请求,其中查询请求包括目标码流信息。
S302、在确定查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中当前码流信息为当前基于已建立的连接传输的码流的码流信息。
在本实施例中,在接收到第一设备发送的查询请求后,判断该查询请求是否是基于已建立的连接发送的请求,即判断该查询请求是否是在当前已经建立的连接中进行的请求。
可选的,第二设备与其它设备/终端建立的数据传输通道存在相应的通道标识,即建立的连接存在相应的通道标识,且第二设备保存有其与其它设备/终端建立的连接所对应的连接状态,第二设备对各连接对应的连接状态进行周期更新,连接状态包括连接中和断开连接。
第二设备在判断该查询请求是否是基于已建立的连接发送的请求时,可以通过连接状态来确定,即获取查询请求中的通道标识,并获取通道标识对应的连接状态。若连接状态为连接中,则确定查询请求是基于已建立的连接发送的请求。
具体实现时,查询请求包括通道标识,该通道标识为第一设备和第二设备之间建立的数据传输通道的标识,获取该通道标识对应的连接状态,在该连接状态为连接中时,表明该查询请求是在当前已经建立的数据传输通道中进行的请求,即该查询请求是基于已建立的连接发送的请求。
S303、在确定当前码流信息和目标码流信息不匹配后,发送预设扩展数据包给第一设备,其中预设扩展数据包用于指示第一设备接收目标码流地址对应的目标码流。
在本实施例中,判断当前码流信息和目标码流信息是否匹配,在确定当前码流信息和目标码流信息不匹配后,表明目标码流并不是当前正在传输的码流,需进行码流的切换,则发送预设扩展数据包给第一设备,以告知第一设备,第二设备开始传输目标码流,即第二设备开始传输新的码流,从而使第一设备进行相关码流接收操作,例如,设置目标码流的保存地址,即使第一设备准备接收该目标码流。
可选的,预设扩展数据包可以为扩展RTP数据包,即RTP扩展专用包,该数据包的格式如图4所示,扩展RTP数据包的包头包括RTP头和序列号、时间戳以及SSRC,其中RTP头和序列号共占4字节,时间戳占4字节,SSRC占4字节,该数据包中的后8个字节全部变为0,即时间戳和SSRC均为0时,表示一个新的码流开始发送。
另外,为了避免出现由于扩展数据包丢失或者传输失败导致第一设备未成功接收到扩展数据包的情况,连续发送预设次数的扩展数据包,例如,连续发送3次该扩展数据包到第一设备。
另外,第一设备在发送查询请求之后,且在接收到扩展数据包之前,第一设备还在接收当前正在传输的码流,在接收到扩展数据包后,表明第二设备开始传输新的码流,即开始传输目标码流,则第一设备开始切换到新的码流,按照新的码流对应的解码方式进行解码,避免出现码流中断或者播放中断的问题。
具体地,在判断当前码流信息和目标码流信息是否匹配时,可以通过以下两种方式来实现。
一种实现方式为:目标码流信息包括目标码流地址,当前码流信息包括当前码流地址。判断目标码流地址和当前码流地址是否相同。若目标码流地址和当前码流地址不相同,则确定当前码流信息和目标码流信息不匹配。
在本实施例中,目标码流地址为目标码流的地址,即需进行传输的码流的地址。当前码流地址为第二设备当前基于已建立的连接所传输的码流的地址,即第二设备当前正在传输给第一设备的码流的地址。判断目标码流地址和当前码流地址是否相同,若不相同,表明当前正在传输给第一设备的码流不是目标码流,该目标码流为请求的新的码流,则确定当前码流信息和目标码流信息不匹配。
另一种实现方式为:目标码流信息包括目标码流标识,当前码流信息包括当前码流标识。判断目标码流标识和当前码流标识是否相同。若目标码流标识和当前码流标识不相同,则确定当前码流信息和目标码流信息不匹配。
在本实施例中,目标码流标识为目标码流的标识,即需进行传输的码流的标识。当前码流标识为第二设备当前基于已建立的连接所传输的码流的标识,即第二设备当前正在传输给第一设备的码流的标识。判断目标码流标识和当前码流标识是否相同,若不相同,表明当前正在传输给第一设备的码流不是目标码流,该目标码流为请求的新的码流,则确定当前码流信息和目标码流信息不匹配。
可选的,在发送预设扩展数据包给第一设备之前,还可以生成查询响应信息,并返回给第一设备,查询响应信息包括扩展标识。
具体实现时,由于RTSP协议是一应一答的机制,因此,在接收到查询信息后,需要回应相应的查询响应信息,该查询响应信息不仅包括第二设备所支持的请求,还包括扩展标识,该扩展标识表示第二设备已经准备好目标码流,即已经编码得到目标码流。例如,查询响应信息为Public:OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,SCALE,READY,该查询响应信息中的OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,SCALE为第二设备所支持的请求,READY为扩展标识。
S304、基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备。
在本实施例中,基于已建立的连接,即基于查询请求中的通道标识对应的数据传输通道,将目标码流传输给第一设备,实现在已建立的数据传输通道中传输新的码流,无需再重新建立数据传输通道来传输新的码流。
另外,第二设备在传输目标码流给第一设备时,是将目标码流打包成RTP数据包进行传输的。
在本实施例中,第二设备发送扩展数据包给第一设备,以使第一设备可以获知第二设备开始发送新的码流,并进行相关切换操作,从而使第一设备可以快速接收并处理新的码流,实现新的码流的快速播放,提高用户体验。
图5为本发明实施例提供的码流传输设备的结构示意图,如图5所示,本实施例提供的码流传输设备50,可以包括收发模块501和处理模块502。
其中,收发模块501,用于获取第一设备发送的查询请求,其中查询请求包括目标码流信息。
处理模块502,用于在确定查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中当前码流信息为当前基于已建立的连接传输的码流的码流信息。
收发模块501,用于在确定当前码流信息和目标码流信息不匹配后,基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备。
在一种可能的设计中,目标码流信息包括目标码流地址,当前码流信息包括当前码流地址。
收发模块501,还用于在确定当前码流信息和目标码流信息不匹配后,基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备之前,判断目标码流地址和当前码流地址是否相同。
收发模块501,还用于在目标码流地址和当前码流地址不相同时,确定当前码流信息和目标码流信息不匹配。
在一种可能的设计中,处理模块502,还用于在确定查询请求是基于已建立的连接发送的请求后,获取当前码流信息之前,获取查询请求中的通道标识,并获取通道标识对应的连接状态。
处理模块502,还用于在连接状态为连接中时,确定查询请求是基于已建立的连接发送的请求。
在一种可能的设计中,收发模块501,还用于发送预设扩展数据包给第一设备,其中预设扩展数据包用于指示第一设备接收目标码流地址对应的目标码流。
收发模块501,还用于基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备。
在一种可能的设计中,目标码流信息包括目标码流标识,当前码流信息包括当前码流标识。
收发模块501,还用于在确定当前码流信息和目标码流信息不匹配后,基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备之前,判断目标码流标识和当前码流标识是否相同。
收发模块501,还用于在目标码流标识和当前码流标识不相同时,确定当前码流信息和目标码流信息不匹配。
在一种可能的设计中,收发模块501,还用于在发送预设扩展数据包给第一设备之前,生成查询响应信息,并返回给第一设备,查询响应信息包括扩展标识。
本发明实施例提供的码流传输设备,可以实现上述实施例的码流传输方法,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例提供的电子设备的硬件结构示意图。如图6所示,本实施例提供的电子设备600包括:至少一个处理器601和存储器602。其中,处理器601、存储器602通过总线603连接。
在具体实现过程中,至少一个处理器601执行存储器602存储的计算机执行指令,使得至少一个处理器601执行上述方法实施例中的码流传输方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现上述方法实施例的码流传输方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种码流传输方法,其特征在于,包括:
获取第一设备发送的查询请求,其中所述查询请求包括目标码流信息;所述目标码流信息包括目标码流地址或目标码流标识;
在确定所述查询请求是基于已建立的连接发送的请求后,获取所述查询请求中的通道标识,并获取所述通道标识对应的连接状态;若所述连接状态为连接中,则确定所述查询请求是基于已建立的连接发送的请求;获取当前码流信息,其中所述当前码流信息为当前基于所述已建立的连接传输的码流的码流信息;
在确定所述当前码流信息和所述目标码流信息不匹配后,
判断所述目标码流地址和所述当前码流地址是否相同;
若所述目标码流地址和所述当前码流地址不相同,则确定所述当前码流信息和所述目标码流信息不匹配;
和/或,
判断所述目标码流标识和所述当前码流标识是否相同;
若所述目标码流标识和所述当前码流标识不相同,则确定所述当前码流信息和所述目标码流信息不匹配;
发送扩展RTP数据包给所述第一设备,其中所述扩展RTP数据包用于指示所述第一设备接收所述目标码流地址对应的目标码流,所述扩展RTP数据包的包头包括RTP头和序列号、时间戳以及SSRC;
当所述扩展RTP数据包中的时间戳以及SSRC所对应的字节均为0时,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备。
2.根据权利要求1所述的方法,其特征在于,在所述发送预设扩展数据包给所述第一设备之前,还包括:
生成查询响应信息,并返回给所述第一设备,所述查询响应信息包括扩展标识。
3.一种码流传输设备,其特征在于,包括:
收发模块,用于获取第一设备发送的查询请求,其中所述查询请求包括目标码流信息,所述目标码流信息包括目标码流地址或目标码流标识;
处理模块,用于在确定所述查询请求是基于已建立的连接发送的请求后,获取当前码流信息,其中所述当前码流信息为当前基于所述已建立的连接传输的码流的码流信息;
所述收发模块,用于在确定所述当前码流信息和所述目标码流信息不匹配后,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备;
所述收发模块,还用于在确定当前码流信息和目标码流信息不匹配后,基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备之前,判断目标码流地址和当前码流地址是否相同;
所述收发模块,还用于在目标码流地址和当前码流地址不相同时,确定当前码流信息和目标码流信息不匹配;
和/或;
所述收发模块,还用于在确定当前码流信息和目标码流信息不匹配后,基于已建立的连接,将目标码流信息对应的目标码流传输到第一设备之前,判断目标码流标识和当前码流标识是否相同;
所述收发模块,还用于在目标码流标识和当前码流标识不相同时,确定当前码流信息和目标码流信息不匹配;
所述处理模块,还用于在确定查询请求是基于已建立的连接发送的请求后,获取当前码流信息之前,获取查询请求中的通道标识,并获取通道标识对应的连接状态;
所述处理模块,还用于在连接状态为连接中时,确定查询请求是基于已建立的连接发送的请求;
所述收发模块,还用于发送扩展RTP数据包给所述第一设备,其中所述扩展RTP数据包用于指示所述第一设备接收所述目标码流地址对应的目标码流,所述扩展RTP数据包的包头包括RTP头和序列号、时间戳以及SSRC;
当所述扩展RTP数据包中的时间戳以及SSRC所对应的字节均为0时,基于所述已建立的连接,将目标码流信息对应的目标码流传输到所述第一设备。
4.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1或2所述的码流传输方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1或2所述的码流传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010304078.8A CN111541916B (zh) | 2020-04-17 | 2020-04-17 | 码流传输方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010304078.8A CN111541916B (zh) | 2020-04-17 | 2020-04-17 | 码流传输方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541916A CN111541916A (zh) | 2020-08-14 |
CN111541916B true CN111541916B (zh) | 2022-08-26 |
Family
ID=71979967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010304078.8A Active CN111541916B (zh) | 2020-04-17 | 2020-04-17 | 码流传输方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541916B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572517A (zh) * | 2011-12-21 | 2012-07-11 | 深圳市同洲视讯传媒有限公司 | 一种码流切换的方法、装置、服务器和*** |
CN102595199A (zh) * | 2011-01-11 | 2012-07-18 | 中兴通讯股份有限公司 | 一种流媒体数据包的封装、传输方法及流媒体处理装置 |
CN102868930A (zh) * | 2012-09-06 | 2013-01-09 | 珠海全志科技股份有限公司 | 传输流数据包解码方法及装置 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和*** |
CN103188529A (zh) * | 2011-12-27 | 2013-07-03 | 北京朝歌数码科技股份有限公司 | 从第一频道切换至第二频道的多媒体播放方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873948A (zh) * | 2012-12-10 | 2014-06-18 | 中国电信股份有限公司 | 流媒体自适应匹配传输方法、***和服务器 |
US20160073106A1 (en) * | 2014-09-08 | 2016-03-10 | Apple Inc. | Techniques for adaptive video streaming |
CN109495761A (zh) * | 2017-09-13 | 2019-03-19 | 杭州海康威视***技术有限公司 | 视频切换方法及装置 |
CN110460878B (zh) * | 2019-07-19 | 2022-01-11 | 视联动力信息技术股份有限公司 | 一种视频通信链路的切换方法和装置 |
-
2020
- 2020-04-17 CN CN202010304078.8A patent/CN111541916B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595199A (zh) * | 2011-01-11 | 2012-07-18 | 中兴通讯股份有限公司 | 一种流媒体数据包的封装、传输方法及流媒体处理装置 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和*** |
CN102572517A (zh) * | 2011-12-21 | 2012-07-11 | 深圳市同洲视讯传媒有限公司 | 一种码流切换的方法、装置、服务器和*** |
CN103188529A (zh) * | 2011-12-27 | 2013-07-03 | 北京朝歌数码科技股份有限公司 | 从第一频道切换至第二频道的多媒体播放方法和装置 |
CN102868930A (zh) * | 2012-09-06 | 2013-01-09 | 珠海全志科技股份有限公司 | 传输流数据包解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111541916A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2429144B1 (en) | Method and apparatus for transmitting hyper text transport protocol (http) media | |
CN109889543B (zh) | 视频传输的方法、根节点、子节点、p2p服务器和*** | |
EP3806416B1 (en) | Interactive information transmission method and device | |
CN101697504B (zh) | 一种提高数据传输质量的方法及装置 | |
US8745246B2 (en) | Method and device for selecting an SVC operation point, and method and device for providing information of SVC operation points | |
EP3515083B1 (en) | Method and apparatus for performing synchronization operation on contents | |
WO2014063297A1 (zh) | 一种播放流媒体文件的方法和装置 | |
US10820229B2 (en) | Method for providing streaming service and apparatus therefor | |
CN105828383B (zh) | 移动电子装置、服务器以及连线方法 | |
US10856015B2 (en) | Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache | |
JP2018507662A (ja) | 低遅延生放送コンテンツ提供のためのプログラムを記録した記録媒体及び装置 | |
KR102064284B1 (ko) | 실시간 통신을 수행하는 장치, 시스템, 및 방법 | |
CN111541916B (zh) | 码流传输方法及设备 | |
CN106791714B (zh) | 网络摄像头与服务端设备的匹配方法和设备 | |
US20080104267A1 (en) | Systems and methods for reducing display latency between streaming digital media | |
CN114070823A (zh) | 会话建立控制方法、电子设备和计算机可读存储介质 | |
CN108540273B (zh) | 一种数据包重传的方法和装置 | |
US10820025B2 (en) | Method and system of push-template and URL list for dash on full-duplex protocols | |
JPWO2004112420A1 (ja) | メディア信号の受信装置、送信装置及び送受信システム | |
CN117579679B (zh) | 信令交互方法和装置、电子设备及存储介质 | |
CN114710694B (zh) | 一种云游戏场景下的分布式推流方法 | |
CN114173151B (zh) | 直播推流***、方法、装置以及电子设备 | |
CN114513544B (zh) | 局域网无线投屏方法、设备及计算机可读存储介质 | |
WO2023095438A1 (ja) | 端末装置、無線通信システム、および、端末装置の処理方法 | |
JP2006041819A (ja) | ストリーム配信サーバ、移動端末、ストリーム配信システム、およびストリーム配信方法 |
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 |