CN107707933A - 发送、接收视频流的方法及装置 - Google Patents

发送、接收视频流的方法及装置 Download PDF

Info

Publication number
CN107707933A
CN107707933A CN201710971622.2A CN201710971622A CN107707933A CN 107707933 A CN107707933 A CN 107707933A CN 201710971622 A CN201710971622 A CN 201710971622A CN 107707933 A CN107707933 A CN 107707933A
Authority
CN
China
Prior art keywords
data packet
packet group
packet
module
group
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.)
Pending
Application number
CN201710971622.2A
Other languages
English (en)
Inventor
刘畅
杨艳松
何晓峰
王泽林
徐博华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201710971622.2A priority Critical patent/CN107707933A/zh
Publication of CN107707933A publication Critical patent/CN107707933A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开一种发送、接收视频流的方法及装置,涉及视频通信技术领域,用于提高视频在流式传输模式中的传输可靠性。所述发送视频流的方法包括:获取视频流的多个数据包;向各数据包分别分配顺序号,根据各所述数据包的优先级等级将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组,且第一数据包组的优先级等级高于所述第二数据包组;然后,利用TCP传输模块将第一数据包组发送至接收视频流的装置,利用UDP传输模块将第二数据包组发送至接收视频流的装置。本发明提供的发送、接收视频流的方法及装置用于视频的流式传输。

Description

发送、接收视频流的方法及装置
技术领域
本发明涉及视频通信技术领域,尤其涉及一种发送、接收视频流的方法及装置。
背景技术
目前,在主流的视频编码和压缩技术中,通常将视频按照图片帧的属性分别划分为I帧、P帧和B帧,且将多个图片帧视为一个图片组(Group of Pictures,简称GOP)。其中,I帧是关键帧,I帧解码时仅需要本帧数据;P帧是前向差分编码帧,P帧解码时需要本帧与前一I帧或P帧的差分内容;B帧是双向差分编码帧,B帧解码时需要本帧与前后双向I帧或前后双向P帧的差分内容。
采用上述方式对视频进行编码压缩后,常用的视频传输模式包括下载传输模式和流式传输模式。通常,互联网视频采用下载传输模式,对应的传输层协议为传输控制协议(Transmission Control Protocol,简称TCP);交互式网络电视IPTV或网络直播采用流式传输模式,对应的传输层协议为实时传输协议(Real-time Transport Protocol,简称RTP)加上用户数据报协议(User Datagram Protocol,简称UDP)。
在视频的流式传输模式中,由于RTP协议自身不具备服务质量保证,使得在使用RTP协议和UDP协议实现视频的流式传输时,视频的可靠传输依赖于UDP协议。然而,现有的UDP协议并不存在对视频数据包丢包的检测机制,且对应发送端的数据发送不受限于接收端的回应,使得视频部分重要的图片帧在其传输过程中容易丢失,导致视频在解码显示时出现花屏现象,难以实现视频在流式传输模式中的可靠传输。
发明内容
本发明的目的在于提供一种发送、接收视频流的方法及装置,用于提高视频在流式传输模式中的传输可靠性。
为了实现上述目的,本发明提供如下技术方案:
本发明第一方面提供了一种发送视频流的方法,包括:
获取视频流的多个数据包;
向各数据包分别分配顺序号,根据各数据包的优先级等级将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组,且第一数据包组的优先级等级高于第二数据包组;
利用TCP传输模块将第一数据包组发送至接收视频流的装置,利用UDP传输模块将第二数据包组发送至接收视频流的装置。
与现有技术相比,本发明提供的发送视频流的方法具有以下有益效果:
本发明所提供的发送视频流的方法,在获取视频流的多个数据包后,向各数据包分别分配顺序号,使得各数据包分别具有独立的可识别的顺序号;然后,根据各数据包的优先级等级,将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组两类,此处优先级等级的设定可以根据数据包的重要程度确定。当第一数据包组和第二数据包组的分类完成后,第一数据包组和第二数据包组可以分别独立传输至接收视频流的装置。由于各数据包分别具有独立的可识别的顺序号,在将第一数据包组和第二数据包组分别独立传输至接收视频流的装置后,利用第一数据包组和第二数据包组中各数据包对应的顺序号,可以对第一数据包组和第二数据包组中的各数据包进行排序,从而获得准确有序的数据包解码以及视频图像显示,以便于提高视频在流式传输模式中的传输可靠性。
而且,本发明所提供的发送视频流的方法,将优先级较高的第一数据包组利用TCP传输模块发送至接收视频流的装置,由于TCP传输模块的传输可靠性较高,因此利用TCP传输模块能够对第一数据包组的传输进行重点保障,从而避免第一数据包组在传输过程中丢包,确保第一数据包组的数据完整;而将优先级较低的第二数据包组利用UDP传输模块发送至接收视频流的装置,由于UDP传输模块传输数据包的速度较快,因此利用UDP传输模块能够有效缩减数据包的传输用时;并且,由于第二数据包组的优先级低于第一数据包组,这样即使第二数据包组在UDP传输模块的传输过程中出现丢包的情形,也可以降低数据丢失对视频流解码显示的影响。因此,本发明所提供的发送视频流的方法,能够提高视频在流式传输过程中的可靠性。
本发明第二方面提供了一种发送视频流的装置,用于实施上述技术方案提供的发送视频流的方法。
所述发送视频流的装置包括获取单元以及与获取单元连接的发送侧排序模块,发送侧排序模块分别与TCP传输模块和UDP传输模块连接;其中,
获取单元用于获取视频流的多个数据包;
发送侧排序模块用于向各数据包分别分配顺序号,以及用于根据各数据包的优先级等级将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组;第一数据包组的优先级等级高于第二数据包组;
TCP传输模块用于将第一数据包组发送至接收视频流的装置;
UDP传输模块用于将第二数据包组发送至接收视频流的装置。
与现有技术相比,本发明提供的发送视频流的装置所能实现的有益效果,与上述技术方案提供的发送视频流的方法所能达到的有益效果相同,在此不做赘述。
本发明第三方面提供了一种接收视频流的方法,包括:
接收TCP传输模块发送的第一数据包组以及UDP传输模块发送的第二数据包组;其中,第一数据包组的优先级等级高于第二数据包组;
根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序;
对已排序的各数据包进行解码还原,得到由第一数据包组和第二数据包组形成的视频。
与现有技术相比,本发明提供的接收视频流的方法具有以下有益效果:
本发明所提供的接收视频流的方法,从TCP传输模块接收优先级较高的第一数据包组,由于TCP传输模块传输可靠性的较高,因此,利用TCP传输模块能够对第一数据包组的传输进行重点保障,从而避免第一数据包组在传输过程中丢包,确保第一数据包组被可靠接收。而从UDP传输模块接收优先级较低的第二数据包组,由于UDP传输模块传输数据包的速度较快,因此利用UDP传输模块能够有效缩减数据包的传输用时;而且,由于第二数据包组的优先级低于第一数据包组,这样即使第二数据包组在UDP传输模块的传输过程中出现丢包的情形,也可以降低数据丢失对视频流解码显示的影响。在接收第一数据包组和第二数据包组后,根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序,然后,对已排序的各数据包进行解码还原,便可获得准确有序的数据包解码以及视频图像显示,从而提高视频在流式传输模式中的传输可靠性。
本发明第四方面提供了一种接收视频流的装置,用于实施上述技术方案提供的接收视频流的方法。
所述接收视频流的装置包括分别与TCP传输模块和UDP传输模块连接的接收侧排序模块,以及与接收侧排序模块连接的解码还原模块;其中,
接收侧排序模块用于接收TCP传输模块发送的第一数据包组和UDP传输模块发送的第二数据包组,以及用于根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序;其中,第一数据包组的优先级等级高于第二数据包组;
解码还原模块用于对已排序的各数据包进行解码还原,以得到由第一数据包组和第二数据包组形成的视频。
与现有技术相比,本发明提供的接收视频流的装置所能实现的有益效果,与上述技术方案提供的接收视频流的方法所能达到的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的发送、接收视频流的方法的总逻辑图;
图2为本发明实施例提供的发送视频流的方法的流程图一;
图3为本发明实施例提供的发送视频流的方法的流程图二;
图4为本发明实施例提供的发送视频流的装置的结构示意图一;
图5为本发明实施例提供的发送视频流的装置的结构示意图二;
图6为本发明实施例提供的接收视频流的方法的流程图;
图7为本发明实施例提供的接收视频流的装置的结构示意图一;
图8为本发明实施例提供的接收视频流的装置的结构示意图二。
附图标记:
1-获取单元, 11-图片帧划分模块,
12-编码压缩模块, 21-传输层排序模块,
22-应用层排序模块, 3-RTP处理模块,
4-TCP传输模块, 5-UDP传输模块,
6-解码还原模块。
具体实施方式
为便于理解,下面结合说明书附图,对本发明实施例提供的发送、接收视频流的方法及装置进行详细描述。
请参阅图1-图3,本发明实施例提供的发送视频流的方法包括:
步骤S1,获取视频流的多个数据包。
步骤S2,向各数据包分别分配顺序号,根据各数据包的优先级等级,将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组,且第一数据包组的优先级等级高于第二数据包组;
上述数据包的优先级等级是根据数据包的重要程度确定的,第一数据包组的优先级等级高于第二数据包组时,第一数据包组的传输需要重点保障。
步骤S3,利用TCP传输模块将第一数据包组发送至接收视频流的装置,利用UDP传输模块将第二数据包组发送至接收视频流的装置。
本发明实施例所提供的发送视频流的方法,在获取视频流的多个数据包后,向各数据包分别分配顺序号,使得各数据包分别具有独立的可识别的顺序号;然后,根据各数据包的优先级等级,将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组两类,此处优先级等级的设定可以根据数据包的重要程度确定。当第一数据包组和第二数据包组的分类完成后,第一数据包组和第二数据包组可以分别独立传输至接收视频流的装置。由于各数据包分别具有独立的可识别的顺序号,在将第一数据包组和第二数据包组分别独立传输至接收视频流的装置后,利用第一数据包组和第二数据包组中各数据包对应的顺序号,可以对第一数据包组和第二数据包组中的各数据包进行排序,从而获得准确有序的数据包解码以及视频图像显示,以便于提高视频在流式传输模式中的传输可靠性。
而且,本发明实施例所提供的发送视频流的方法,将优先级较高的第一数据包组利用TCP传输模块发送至接收视频流的装置,由于TCP传输模块的传输可靠性较高,因此利用TCP传输模块能够对第一数据包组的传输进行重点保障,从而避免第一数据包组在传输过程中丢包,确保第一数据包组的数据完整;而将优先级较低的第二数据包组利用UDP传输模块发送至接收视频流的装置,由于UDP传输模块传输数据包的速度较快,因此利用UDP传输模块能够有效缩减数据包的传输用时;并且,由于第二数据包组的优先级低于第一数据包组,这样即使第二数据包组在UDP传输模块的传输过程中出现丢包的情形,也可以降低数据丢失对视频流解码显示的影响。因此,本发明实施例所提供的发送视频流的方法,能够提高视频在流式传输过程中的可靠性。
需要说明的是,上述实施例中,视频流的多个数据包通过如下方法获取:
将视频划分为多个图片帧;
将每个图片帧编码压缩为至少一个数据包,在数据包中标记对应图片帧的属性,得到视频流的多个数据包。
视频根据图片帧的属性可分别划分为I帧、P帧和B帧,其中,I帧、P帧和B帧各自对应的数据包丢失时,其对视频图像显示中产生花屏的影响各不相同,例如,I帧会影响整个图片组的显示,P帧会影响一个图片组中的多个画面的显示,B帧会影响当前显示的画面;因此,I帧、P帧和B帧的重要程度不同,其编码压缩后对应数据包的优先级等级也不同。根据图片帧不同的属性,在将每个图片帧编码压缩为至少一个数据包后,需要在数据包中标记对应图片帧的属性,以方便后续对各数据包根据其优先级等级的不同进行分类。此外,将每个图片帧编码压缩为至少一个数据包,还能够确保每个数据包分别对应一种图片帧属性,从而避免出现数据包无法被准确分类的情况,有利于进一步提高视频在流式传输过程中的可靠性。
示例性的,I帧编码压缩后的数据包应划分为第一数据包组,P帧和B帧对应编码压缩后的数据包应划分为第二数据包组。或,I帧和P帧对应编码压缩后的数据包应划分为第一数据包组,B帧编码压缩后的数据包应划分为第二数据包组。
值得一提的是,在本发明实施例提供的发送视频流的方法中,各数据包的顺序号分配可以在传输层进行,也可以在应用层进行。
示例性的,请参阅图2,利用传输层排序模块向各数据包分别分配RTP顺序号,并在已分配RTP顺序号的各数据包中,根据各数据包中标记的对应图片帧的属性,将各数据包分别划分为第一数据包组和第二数据包组。
具体实施时,本实施例在传输层采用RTP+TCP/UDP的实现方式。将获取的各数据包发送至传输层的RTP层面后,利用传输层排序模块向各数据包分别分配RTP顺序号,且根据各数据包中标记的对应图片帧的属性,利用传输层排序模块将各数据包分别划分为第一数据包组和第二数据包组。由于传输层中的RTP处理模块也具备向数据包分配RTP顺序号的功能,因此,传输层排序模块与RTP处理模块可以集成为同一模块。当第一数据包组采用TCP传输模块传输,第二数据包组采用UDP传输模块传输后,第一数据包组和第二数据包组在IP层和物理层等的传输,根据现有技术中的标准流程执行即可。
或者,请参阅图3,利用应用层排序模块向各数据包分别分配编码顺序号,并在已分配编码顺序号的各数据包中,根据各数据包中标记的对应图片帧的属性,将各数据包分别划分为第一数据包组和第二数据包组。
具体实施时,本实施例利用应用层排序模块向各数据包分别分配编码顺序号,且在已分配编码顺序号的各数据包中,根据各数据包中标记的对应图片帧的属性,将各数据包分别划分为第一数据包组和第二数据包组。针对第一数据包组,本实施例在传输层采用RTP+TCP的实现方式;针对第二数据包组,本实施例在传输层采用RTP+UDP的实现方式;这也就是说,第一数据包组和第二数据包组在进入TCP传输模块和UDP传输模块之前,还需要经过RTP处理,其数据包的RTP处理根据现有技术中的标准流程执行即可。此外,第一数据包组和第二数据包组在IP层和物理层等的传输,也根据现有技术中的标准流程进行即可,本实施例不再详述。
本发明实施例还提供了一种发送视频流的装置,用于实施上述实施例提供的发送视频流的方法。请参阅图4和图5,该发送视频流的装置包括获取单元1以及与获取单元1连接的发送侧排序模块,发送侧排序模块分别与TCP传输模块4和UDP传输模块5连接;其中,
获取单元1用于获取视频流的多个数据包;
发送侧排序模块用于向各数据包分别分配顺序号,以及用于根据各数据包的优先级等级,将已分配顺序号的各数据包分别划分为第一数据包组和第二数据包组;第一数据包组的优先级等级高于第二数据包组;
TCP传输模块4用于将第一数据包组发送至接收视频流的装置;
UDP传输模块5用于将第二数据包组发送至接收视频流的装置。
本发明实施例提供的发送视频流的装置所能实现的有益效果,与上述实施例提供的发送视频流的方法所能达到的有益效果相同,在此不做赘述。
需要说明的是,请继续参阅图4和图5,在本实施例提供的发送视频流的装置中,获取单元1包括图片帧划分模块11以及分别与图片帧划分模块11和发送侧排序模块连接的编码压缩模块12;其中,
图片帧划分模块11用于将视频流划分为多个图片帧;
编码压缩模块12用于将每个图片帧编码压缩为至少一个数据包,并在各数据包中标记对应图片帧的属性。
视频根据图片帧的属性可分别划分为I帧、P帧和B帧,其中,I帧、P帧和B帧各自对应的数据包丢失时,其对视频图像显示中产生花屏的影响各不相同,例如,I帧会影响整个图片组的显示,P帧会影响一个图片组中的多个画面的显示,B帧会影响当前显示的画面;因此,I帧、P帧和B帧的重要程度不同,其编码压缩后对应数据包的优先级等级也不同。根据图片帧不同的属性,编码压缩模块12在将每个图片帧编码压缩为至少一个数据包后,需要在数据包中标记对应图片帧的属性,以方便后续对各数据包根据其优先级等级的不同进行分类。此外,编码压缩模块12将每个图片帧编码压缩为至少一个数据包,还能够确保每个数据包分别对应一种图片帧属性,从而避免出现数据包无法被准确分类的情况,有利于进一步提高视频在流式传输过程中的可靠性。
值得一提的是,由于视频流的各数据包的顺序号分配可以在传输层进行,也可以在应用层进行,因此,在上述实施例提供的发送视频流的装置中,发送侧排序模块可以为传输层排序模块,也可以为应用层排序模块。
示例性的,请参阅图4,发送侧排序模块为传输层排序模块21;传输层排序模块21用于向各数据包分别分配RTP顺序号,以及用于在已分配RTP顺序号的各数据包中,根据各数据包中标记的对应图片帧的属性,将各数据包分别划分为第一数据包组和第二数据包组。
具体实施时,本实施例在传输层采用RTP+TCP/UDP的实现方式。将获取的各数据包发送至传输层的RTP层面后,利用传输层排序模块21向各数据包分别分配RTP顺序号,且根据应用层中编码压缩模块12在各数据包中标记的对应图片帧的属性,利用传输层排序模块21将各数据包分别划分为第一数据包组和第二数据包组。由于传输层中的RTP处理模块3也具备向数据包分配RTP顺序号的功能,因此,传输层排序模块21与RTP处理模块3可以集成为同一模块。当第一数据包组采用TCP传输模块4传输,第二数据包组采用UDP传输模块5传输后,第一数据包组和第二数据包组在IP层和物理层等的传输,根据现有技术中的标准流程执行即可。
或者,请参阅图5,发送侧排序模块为应用层排序模块22;应用层排序模块22用于向各数据包分别分配编码顺序号,以及用于在已分配编码顺序号的各数据包中,根据各数据包中标记的对应图片帧的属性,将各数据包分别划分为第一数据包组和第二数据包组。
具体实施时,本实施例利用应用层排序模块22向各数据包分别分配编码顺序号,且在已分配编码顺序号的各数据包中,根据各数据包中标记的对应图片帧的属性,将各数据包分别划分为第一数据包组和第二数据包组;由于应用层中的编码压缩模块12具备数据处理功能,因此,应用层排序模块22与编码压缩模块12可以集成为同一模块。此外,针对第一数据包组,本实施例在传输层采用RTP+TCP的实现方式;针对第二数据包组,本实施例在传输层采用RTP+UDP的实现方式;这样在本实施例提供的发送视频流的装置中,应用层排序模块22通过RTP处理模块3分别与TCP传输模块4和UDP传输模块5连接。第一数据包组和第二数据包组在IP层和物理层等的传输,根据现有技术中的标准流程进行即可。
本发明实施例还提供了一种接收视频流的方法,请参阅图6,该接收视频流的方法包括:
步骤S1’,接收TCP传输模块发送的第一数据包组以及UDP传输模块发送的第二数据包组;其中,第一数据包组的优先级高于第二数据包组;
步骤S2’,根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序;
步骤S3’,对已排序的各数据包进行解码还原,得到由第一数据包组和第二数据包组形成的视频。
本发明实施例所提供的接收视频流的方法,从TCP传输模块接收优先级较高的第一数据包组,由于TCP传输模块传输可靠性的较高,因此,利用TCP传输模块能够对第一数据包组的传输进行重点保障,从而避免第一数据包组在传输过程中丢包,确保第一数据包组被可靠接收。而从UDP传输模块接收优先级较低的第二数据包组,由于UDP传输模块传输数据包的速度较快,因此利用UDP传输模块能够有效缩减数据包的传输用时;而且,由于第二数据包组的优先级低于第一数据包组,这样即使第二数据包组在UDP传输模块的传输过程中出现丢包的情形,也可以降低数据丢失对视频流解码显示的影响。在接收第一数据包组和第二数据包组后,根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序,然后,对已排序的各数据包进行解码还原,便可获得准确有序的数据包解码以及视频图像显示,从而提高视频在流式传输模式中的传输可靠性。
值得一提的是,由于视频流中各数据包的顺序号分配可以在传输层进行,也可以在应用层进行,因此,在上述实施例提供的接收视频流的方法中,根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序时,相应的,也可以在传输层或应用层进行。
示例性的,根据第一数据包组和第二数据包组中各数据包对应分配的RTP排序号,利用传输层排序模块对接收的各数据包进行排序;或
根据第一数据包组和第二数据包组中各数据包对应分配的编码排序号,利用应用层排序模块对接收的各数据包进行排序。
本发明实施例还提供了一种接收视频流的装置,用于实施上述实施例提供的接收视频流的方法。请参阅图7和图8,该接收视频流的装置包括分别与TCP传输模块4和UDP传输模块5连接的接收侧排序模块,以及与接收侧排序模块连接的解码还原模块6;其中,
接收侧排序模块用于接收TCP传输模块4发送的第一数据包组和UDP传输模块5发送的第二数据包组,以及用于根据第一数据包组和第二数据包组中各数据包对应分配的顺序号,对接收的各数据包进行排序;其中,第一数据包组的优先级等级高于第二数据包组;
解码还原模块6用于对已排序的各数据包进行解码还原,以得到由第一数据包组和第二数据包组形成的视频。
本发明实施例提供的接收视频流的装置所能实现的有益效果,与上述实施例提供的接收视频流的方法所能达到的有益效果相同,在此不做赘述。
值得一提的是,由于第一数据包组和第二数据包组中各数据包在接收后的排序,可以在传输层进行,也可以在应用层进行,因此,在上述实施例提供的接收视频流的装置中,接收侧排序模块可以为传输层排序模块,也可以为应用层排序模块。
示例性的,请参阅图7,接收侧排序模块为传输层排序模块21;传输层排序模块21用于根据第一数据包组和第二数据包组中各数据包对应分配的RTP排序号,对接收的各数据包进行排序。
具体实施时,本实施例在传输层采用TCP/UDP+RTP的实现方式。本实施例提供的接收视频流的装置在从TCP传输模块4接收第一数据包组,从UDP传输模块5接收第二数据包组后,利用传输层排序模块21对第一数据包组和第二数据包组中的各数据包进行排序,然后通过RTP处理模块3对已排序的各数据包进行RTP处理。由于传输层中的RTP处理模块3具备对数据包进行排序的功能,因此,传输层排序模块21与RTP处理模块3可以集成为同一模块。之后,利用解码还原模块6对已排序的各数据包进行解码还原,便可得到由第一数据包组和第二数据包组形成的视频。
或者,请参阅图8,接收侧排序模块为应用层排序模块22;应用层排序模块22用于根据第一数据包组和第二数据包组中各数据包对应分配的编码排序号,对接收的各数据包进行排序。
具体实施时,本实施例在传输层采用TCP/UDP+RTP的实现方式。本实施例提供的接收视频流的装置在从TCP传输模块4接收第一数据包组,从UDP传输模块5接收第二数据包组后,通过RTP处理模块3分别对第一数据包组和第二数据包组中的各数据包进行RTP处理;然后,利用应用层排序模块22对第一数据包组和第二数据包组中的各数据包进行排序,利用解码还原模块6对已排序的各数据包进行解码还原,便可获得由第一数据包组和第二数据包组形成的视频。由于应用层中的解码还原模块6具备数据处理功能,因此,应用层排序模块22与解码还原模块6可以集成为同一模块。
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种发送视频流的方法,其特征在于,包括:
获取视频流的多个数据包;
向各所述数据包分别分配顺序号,根据各所述数据包的优先级等级将已分配顺序号的各所述数据包分别划分为第一数据包组和第二数据包组,且所述第一数据包组的优先级等级高于所述第二数据包组;
利用传输控制协议TCP传输模块将所述第一数据包组发送至接收视频流的装置,利用用户数据报协议UDP传输模块将所述第二数据包组发送至接收视频流的装置。
2.根据权利要求1所述的发送视频流的方法,其特征在于,所述视频流的多个数据包通过如下方法获取:
将视频划分为多个图片帧;
将每个所述图片帧编码压缩为至少一个数据包,且在所述数据包中标记对应所述图片帧的属性。
3.根据权利要求1或2所述的发送视频流的方法,其特征在于,向各所述数据包分别分配顺序号,根据各所述数据包的优先级等级将已分配顺序号的各所述数据包分别划分为第一数据包组和第二数据包组,包括:
利用传输层排序模块向各所述数据包分别分配实时传输协议RTP顺序号,并在已分配所述RTP顺序号的各所述数据包中,根据各所述数据包中标记的对应图片帧的属性,将各所述数据包分别划分为第一数据包组和第二数据包组;或
利用应用层排序模块向各所述数据包分别分配编码顺序号,并在已分配所述编码顺序号的各数据包中,根据各所述数据包中标记的对应图片帧的属性,将各所述数据包分别划分为第一数据包组和第二数据包组。
4.一种发送视频流的装置,其特征在于,包括获取单元以及与所述获取单元连接的发送侧排序模块,所述发送侧排序模块分别与TCP传输模块和UDP传输模块连接;其中,
所述获取单元用于获取视频流的多个数据包;
所述发送侧排序模块用于向各所述数据包分别分配顺序号,以及用于根据各所述数据包的优先级等级将已分配所述顺序号的各所述数据包分别划分为第一数据包组和第二数据包组,所述第一数据包组的优先级等级高于所述第二数据包组;
所述TCP传输模块用于将所述第一数据包组发送至接收视频流的装置;
所述UDP传输模块用于将所述第二数据包组发送至接收视频流的装置。
5.根据权利要求4所述的发送视频流的装置,其特征在于,所述获取单元包括图片帧划分模块以及分别与所述图片帧划分模块和所述发送侧排序模块连接的编码压缩模块;其中,
所述图片帧划分模块用于将视频流划分为多个图片帧;
所述编码压缩模块用于将每个所述图片帧编码压缩为至少一个数据包,并在各所述数据包中标记对应所述图片帧的属性。
6.根据权利要求4或5所述的发送视频流的装置,其特征在于,
所述发送侧排序模块为传输层排序模块;所述传输层排序模块用于向各所述数据包分别分配RTP顺序号,以及用于在已分配所述RTP顺序号的各数据包中,根据各所述数据包中标记的对应图片帧的属性,将各所述数据包分别划分为第一数据包组和第二数据包组;或
所述发送侧排序模块为应用层排序模块;所述应用层排序模块用于向各所述数据包分别分配编码顺序号,以及用于在已分配所述编码顺序号的各数据包中,根据各所述数据包中标记的对应图片帧的属性,将各所述数据包分别划分为第一数据包组和第二数据包组。
7.一种接收视频流的方法,其特征在于,包括:
接收TCP传输模块发送的第一数据包组以及UDP传输模块发送的第二数据包组;其中,所述第一数据包组的优先级等级高于所述第二数据包组;
根据所述第一数据包组和所述第二数据包组中各数据包对应分配的顺序号,对接收的各所述数据包进行排序;
对已排序的各所述数据包进行解码还原,得到由所述第一数据包组和所述第二数据包组形成的视频。
8.根据权利要求7所述的接收视频流的方法,其特征在于,根据所述第一数据包组和所述第二数据包组中各数据包对应分配的顺序号,对接收的各所述数据包进行排序,包括:
根据所述第一数据包组和所述第二数据包组中各数据包对应分配的RTP顺序号,利用传输层排序模块对接收的各所述数据包进行排序;或
根据所述第一数据包组和所述第二数据包组中各数据包对应分配的编码顺序号,利用应用层排序模块对接收的各所述数据包进行排序。
9.一种接收视频流的装置,其特征在于,包括分别与TCP传输模块和UDP传输模块连接的接收侧排序模块,以及与所述接收侧排序模块连接的解码还原模块;其中,
所述接收侧排序模块用于接收所述TCP传输模块发送的第一数据包组和所述UDP传输模块发送的第二数据包组,以及用于根据所述第一数据包组和所述第二数据包组中各数据包对应分配的顺序号,对接收的各所述数据包进行排序;其中,所述第一数据包组的优先级等级高于所述第二数据包组;
所述解码还原模块用于对已排序的各所述数据包进行解码还原,以得到由所述第一数据包组和所述第二数据包组形成的视频。
10.根据权利要求9所述的接收视频流的装置,其特征在于,
所述接收侧排序模块为传输层排序模块;所述传输层排序模块用于根据所述第一数据包组和所述第二数据包组中各数据包对应分配的RTP顺序号,对接收的各所述数据包进行排序;或
所述接收侧排序模块为应用层排序模块;所述应用层排序模块用于根据所述第一数据包组和所述第二数据包组中各数据包对应分配的编码顺序号,对接收的各所述数据包进行排序。
CN201710971622.2A 2017-10-18 2017-10-18 发送、接收视频流的方法及装置 Pending CN107707933A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710971622.2A CN107707933A (zh) 2017-10-18 2017-10-18 发送、接收视频流的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710971622.2A CN107707933A (zh) 2017-10-18 2017-10-18 发送、接收视频流的方法及装置

Publications (1)

Publication Number Publication Date
CN107707933A true CN107707933A (zh) 2018-02-16

Family

ID=61181401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710971622.2A Pending CN107707933A (zh) 2017-10-18 2017-10-18 发送、接收视频流的方法及装置

Country Status (1)

Country Link
CN (1) CN107707933A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958187A (zh) * 2019-12-17 2020-04-03 电子科技大学 一种面向分布式机器学习参数同步差异化数据传输方法
CN116320641A (zh) * 2023-05-19 2023-06-23 河北网新科技集团股份有限公司 一种视频数据传输方法及***
WO2023115283A1 (zh) * 2021-12-20 2023-06-29 Oppo广东移动通信有限公司 一种通信方法、装置、网元、通信设备及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616316A (zh) * 2009-06-10 2009-12-30 中兴通讯股份有限公司 一种视频数据的发送、接收装置及发送、接收方法
CN102045768A (zh) * 2009-10-26 2011-05-04 宏碁股份有限公司 数据传输方法及其用户装置与数据传输***
CN102130886A (zh) * 2010-01-18 2011-07-20 中国电信股份有限公司 网络视频流媒体***及传输处理方法、发送端和接收端
CN103166974A (zh) * 2013-03-28 2013-06-19 浙江理工大学 一种基于tcp/udp混合协议的流媒体无线传输方法
CN104618337A (zh) * 2014-12-31 2015-05-13 浙江理工大学 一种基于tcp/udp混合协议的流媒体无线自适应传输方法
CN105471860A (zh) * 2015-11-19 2016-04-06 浙江宇视科技有限公司 一种视频数据传输方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616316A (zh) * 2009-06-10 2009-12-30 中兴通讯股份有限公司 一种视频数据的发送、接收装置及发送、接收方法
CN102045768A (zh) * 2009-10-26 2011-05-04 宏碁股份有限公司 数据传输方法及其用户装置与数据传输***
CN102130886A (zh) * 2010-01-18 2011-07-20 中国电信股份有限公司 网络视频流媒体***及传输处理方法、发送端和接收端
CN103166974A (zh) * 2013-03-28 2013-06-19 浙江理工大学 一种基于tcp/udp混合协议的流媒体无线传输方法
CN104618337A (zh) * 2014-12-31 2015-05-13 浙江理工大学 一种基于tcp/udp混合协议的流媒体无线自适应传输方法
CN105471860A (zh) * 2015-11-19 2016-04-06 浙江宇视科技有限公司 一种视频数据传输方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958187A (zh) * 2019-12-17 2020-04-03 电子科技大学 一种面向分布式机器学习参数同步差异化数据传输方法
CN110958187B (zh) * 2019-12-17 2021-05-18 电子科技大学 一种面向分布式机器学习参数同步差异化数据传输方法
WO2023115283A1 (zh) * 2021-12-20 2023-06-29 Oppo广东移动通信有限公司 一种通信方法、装置、网元、通信设备及计算机存储介质
CN116320641A (zh) * 2023-05-19 2023-06-23 河北网新科技集团股份有限公司 一种视频数据传输方法及***
CN116320641B (zh) * 2023-05-19 2023-08-04 河北网新科技集团股份有限公司 一种视频数据传输方法及***

Similar Documents

Publication Publication Date Title
US10911763B2 (en) System and method for electronic data communication
CN100493189C (zh) 用于传输视频信号的装置及其方法
TWI766883B (zh) 用於傳送視訊之方法及資料傳送器
CN105704580B (zh) 一种视频传输方法
US10594977B2 (en) System and method for electronic data communication
CN107707933A (zh) 发送、接收视频流的方法及装置
CN107872296B (zh) 用于传输视频的方法和数据发射机
CN104253996B (zh) 视频数据的发送、接收方法及其装置以及传输***
CN101389036B (zh) 一种适用于视频会议的纠错装置及其方法
CN106303539B (zh) 一种基于h.264视频报文类型的不等差错传输保护方法
CN106330713B (zh) 一种报文传输方法及装置
CN103686055B (zh) 电视会议***中丢包补偿的处理方法及装置
CN108429921A (zh) 一种视频编解码方法及装置
CN104702880A (zh) 一种处理视频数据的方法和***
CN105409151B (zh) 信息处理装置和信息处理方法
CN101232617B (zh) 一种视频流业务数据的处理方法、***和装置
CN104125479B (zh) 视频截图***及方法
CN101401373A (zh) 经编码流传输器
CN114584847B (zh) 一种数据传输方法
CN103856741B (zh) 视频会议流控方法及视频会议多点控制装置
CN101094408A (zh) 一种通过分片场编码实现编码的方法
CN104486637A (zh) 一种单asi传输多路ts流的方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180216

RJ01 Rejection of invention patent application after publication