[go: up one dir, main page]

CN116582725B - 一种实时多媒体流传输方法 - Google Patents

一种实时多媒体流传输方法

Info

Publication number
CN116582725B
CN116582725B CN202310469033.XA CN202310469033A CN116582725B CN 116582725 B CN116582725 B CN 116582725B CN 202310469033 A CN202310469033 A CN 202310469033A CN 116582725 B CN116582725 B CN 116582725B
Authority
CN
China
Prior art keywords
frame
quic
data
real
datagram
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
Application number
CN202310469033.XA
Other languages
English (en)
Other versions
CN116582725A (zh
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.)
Fujian Newland Communication Science Technologies Co ltd
Original Assignee
Fujian Newland Communication Science Technologies 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 Fujian Newland Communication Science Technologies Co ltd filed Critical Fujian Newland Communication Science Technologies Co ltd
Priority to CN202310469033.XA priority Critical patent/CN116582725B/zh
Publication of CN116582725A publication Critical patent/CN116582725A/zh
Application granted granted Critical
Publication of CN116582725B publication Critical patent/CN116582725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明提供了多媒体流技术领域的一种实时多媒体流传输方法,包括:步骤S10、服务端计算实时多媒体的第一帧的帧数据到达客户端后的播放截止时间戳;步骤S20、服务端将实时多媒体的各帧数据依序通过QUIC数据报发送给客户端,将发送的QUIC数据报存储至重传缓冲区,并更新播放截止时间戳以及序列号,将播放截止时间戳同步给客户端;步骤S30、客户端基于接收的QUIC数据报向服务端反馈接收确认应答,服务端基于接收的接收确认应答删除重传缓冲区内对应的QUIC数据报;步骤S40、客户端基于所述播放截止时间戳,对接收的QUIC数据报中缺失的帧数据进行有效期校验后,播放对应的帧数据。本发明的优点在于:极大的提升了实时多媒体流传输的可靠性和实时性。

Description

一种实时多媒体流传输方法
技术领域
本发明涉及多媒体流技术领域,特别指一种实时多媒体流传输方法。
背景技术
多媒体应用通常使用RTP协议来传输实时多媒体流,RTP协议是一种运行在UDP协议上的不可靠传输协议,UDP协议不需要重传的特性使其广泛应用在各种低延迟应用中,但RTP协议可能因为丢包产生可察觉的卡顿。若使用TCP协议来传输实时多媒体流,虽然相比于RTP协议更加可靠,但也会带来高延迟问题。
QUIC协议是一种现代的、运行在用户空间中的可靠传输协议,基于UDP协议并运行在应用层中,因此相比内核级的TCP协议栈更容易被修改,使其适应于多媒体应用,作为TCP协议的替代方案被采用于各种环境中。但是,QUIC协议的可靠性与按需交付特性可能导致头部阻塞,进而在多媒体应用中带来高延迟。
因此,如何提供一种实时多媒体流传输方法,实现提升实时多媒体流传输的可靠性和实时性,成为一个亟待解决的技术问题。
发明内容
本发明要解决的技术问题,在于提供一种实时多媒体流传输方法,实现提升实时多媒体流传输的可靠性和实时性。
本发明是这样实现的:一种实时多媒体流传输方法,包括如下步骤:
步骤S10、服务端计算实时多媒体的第一帧的帧数据到达客户端后的播放截止时间戳;
步骤S20、服务端将所述实时多媒体的各帧数据依序通过QUIC数据报发送给客户端,将发送的所述QUIC数据报存储至重传缓冲区,并更新所述播放截止时间戳以及序列号,将所述播放截止时间戳同步给客户端;
步骤S30、客户端基于接收的所述QUIC数据报向服务端反馈接收确认应答,服务端基于接收的所述接收确认应答删除重传缓冲区内对应的QUIC数据报;
步骤S40、客户端基于所述播放截止时间戳,对接收的所述QUIC数据报中缺失的帧数据进行有效期校验后,播放对应的所述帧数据。
进一步地,所述步骤S10中,所述播放截止时间戳的计算公式为:
RT=((path_latency/a)*b)+c;
其中,RT表示播放截止时间戳;path_latency表示网络路径的延迟;a表示每秒60次的回调计时器之间的间隔;b表示每个I帧之间的时间间隔;c表示预留四帧的缓冲帧的播放缓冲时间。
进一步地,所述步骤S20中,所述帧数据的帧类型为I帧或者P帧;所述I帧为内部帧,用于提供整个图像的数据,第一帧的帧数据的帧类型为I帧,每十帧的帧数据只发送一帧的I帧。
进一步地,所述步骤S20中,所述将发送的所述QUIC数据报存储至重传缓冲区之后,还添加所述QUIC数据报中携带的P帧的依赖信息;所述依赖信息为P帧依赖的I帧。
进一步地,所述步骤S20中,所述更新所述播放截止时间戳以及序列号具体为:
服务器在所述播放截止时间戳回调时增加b,并以1为梯度对序列号进行累加;所述序列号表示已发送帧数据的总数。
进一步地,所述步骤S20中,服务器将所述播放截止时间戳同步给客户端前,在所述播放截止时间戳内添加四帧的缓冲帧。
进一步地,所述步骤S30中,所述服务端基于接收的所述接收确认应答删除重传缓冲区内对应的QUIC数据报具体为:
服务器接收所述接收确认应答后,基于所述依赖信息以及播放截止时间戳判断对应的QUIC数据报是否还有用,若是,则保留重传缓冲区内对应的所述QUIC数据报;若否,则删除重传缓冲区内对应的QUIC数据报。
进一步地,所述步骤S40具体为:
客户端基于所述数据帧携带的帧编号判断是否存在缺失的数据帧,若否,则播放所述QUIC数据报携带的帧数据;若是,则:
基于所述截止时间戳以及相邻的数据帧,对缺失的所述数据帧进行有效期校验,若过期,则跳过缺失的所述数据帧,播放下一帧的所述帧数据;若未过期,则通过缓冲帧接收服务器重传的所述数据帧进行播放。
本发明的优点在于:
通过服务端计算实时多媒体的第一帧的帧数据到达客户端后的播放截止时间戳,将各帧数据依序通过QUIC数据报发送给客户端并缓存至重传缓冲区,更新播放截止时间戳以及序列号,将播放截止时间戳同步给客户端,基于客户端发送的接收确认应答删除重传缓冲区内对应的QUIC数据报;客户端基于播放截止时间戳,对接收的QUIC数据报中缺失的帧数据进行有效期校验后,播放对应的帧数据;即通过播放截止时间戳来跳过过期的数据帧,避免标准QUIC协议因可靠传输而带来的积累延迟,通过在播放截止时间戳内添加四帧的缓冲帧用于接收服务器重传的数据帧,即丢失的数据帧在未到期时还可进行重传播放,进而提升有用数据的吞吐量,保障实时多媒体流的播放质量,最终极大的提升了实时多媒体流传输的可靠性和实时性。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种实时多媒体流传输方法的流程图。
具体实施方式
本申请实施例中的技术方案,总体思路如下:通过播放截止时间戳来跳过过期的数据帧,避免标准QUIC协议因可靠传输而带来的积累延迟,通过在播放截止时间戳内添加四帧的缓冲帧用于接收服务器重传的数据帧,即丢失的数据帧在未到期时还可进行重传播放,进而提升实时多媒体流传输的可靠性和实时性。
请参照图1所示,本发明一种实时多媒体流传输方法的较佳实施例,包括如下步骤:
步骤S10、服务端计算实时多媒体的第一帧的帧数据到达客户端后的播放截止时间戳;
步骤S20、服务端将所述实时多媒体的各帧数据依序通过QUIC数据报发送给客户端,将发送的所述QUIC数据报存储至重传缓冲区,并更新所述播放截止时间戳以及序列号,将所述播放截止时间戳同步给客户端;具体实施时,可将所述播放截止时间戳插入前四个QUIC数据报中;
所述播放截止时间戳以及序列号的长度均为32位,过发送函数调用传递给协议栈;无论哪种帧类型,序列号都会单调递增,对于同一I帧关联的P帧,播放截止时间戳均相同;
步骤S30、客户端基于接收的所述QUIC数据报向服务端反馈接收确认应答,服务端基于接收的所述接收确认应答删除重传缓冲区内对应的QUIC数据报;
步骤S40、客户端基于所述播放截止时间戳,对接收的所述QUIC数据报中缺失的帧数据进行有效期校验后,播放对应的所述帧数据。
本发明通过修改标准的QUIC协议,以对实时多媒体流的传输进行优化,标准的QUIC协议会因可靠传输而带来积累的延迟,本发明允许客户端在播放截止时间戳即将到达时掠过丢失的帧数据,通过部分可靠传输以解决延迟问题。
所述步骤S10中,所述播放截止时间戳的计算公式为:
RT=((path_latency/a)*b)+c;
其中,RT表示播放截止时间戳;path_latency表示网络路径的延迟;a表示每秒60次的回调计时器之间的间隔;b表示每个I帧之间的时间间隔;c表示预留四帧的缓冲帧的播放缓冲时间。a、b、c的取值分别优选为16.7S、3000S、12000S。
通过所述播放截止时间戳可计算一个QUIC数据报中是否包含一个完整的P帧或I帧片段。
所述步骤S20中,所述帧数据的帧类型为I帧或者P帧;所述I帧为内部帧,用于提供整个图像的数据,第一帧的帧数据的帧类型为I帧,每十帧的帧数据只发送一帧的I帧。
由于大多数图像的分辨率比较大,其包含的数据量超过了QUIC协议的有效载荷大小(1232字节),因此一个I帧必须使用多个QUIC数据报发送;P帧仅描述与I帧相关的一小部分变化数据,其足够小,可以完整地在一个QUIC数据报中传输;帧数据的帧类型还包括B帧(双向预测帧),B帧比P帧更加压缩,由于本发明更关注传输延迟而非压缩率,因此未包含B帧的内容。
所述步骤S20中,所述将发送的所述QUIC数据报存储至重传缓冲区之后,还添加所述QUIC数据报中携带的P帧的依赖信息;所述依赖信息为P帧依赖的I帧。
所述步骤S20中,所述更新所述播放截止时间戳以及序列号具体为:
服务器在所述播放截止时间戳回调时增加b,并以1为梯度对序列号进行累加;所述序列号表示已发送帧数据的总数。
所述步骤S20中,服务器将所述播放截止时间戳同步给客户端前,在所述播放截止时间戳内添加四帧的缓冲帧,用于允许客户端接收重传的所述帧数据:只有在所述播放截止时间戳临近时偏移量才会增加,因此客户端最多等待66ms以接收丢失的帧数据,然后增加所述播放截止时间戳并跳过它,这种等待行为旨在提高传输有用数据的吞吐量,而不会明显影响性能。
所述步骤S30中,所述服务端基于接收的所述接收确认应答删除重传缓冲区内对应的QUIC数据报具体为:
服务器接收所述接收确认应答后,基于所述依赖信息以及播放截止时间戳对重传缓冲区进行遍历,判断对应的QUIC数据报是否还有用,若是,则保留重传缓冲区内对应的所述QUIC数据报;若否,则删除重传缓冲区内对应的QUIC数据报。此过程可以防止旧的QUIC数据报在重传缓冲区滞留,即使客户端跳过它而没有发送接收确认应答,也可以通过确保仅重新传输有用的QUIC数据报来减少网络中冗余数据的数量。
客户端接收所述QUIC数据报的过程具体为:客户端以每秒60次的频率调用读取函数,每次将所述播放截止时间戳增加b,并从协议栈的缓冲区中读取所述QUIC数据报。
所述步骤S40具体为:
客户端基于所述数据帧携带的帧编号判断是否存在缺失的数据帧,若否,则播放所述QUIC数据报携带的帧数据;若是,则:
基于所述截止时间戳以及相邻的数据帧,对缺失的所述数据帧进行有效期校验,若过期,则跳过缺失的所述数据帧,播放下一帧的所述帧数据;若未过期,则通过缓冲帧接收服务器重传的所述数据帧进行播放。
综上所述,本发明的优点在于:
通过服务端计算实时多媒体的第一帧的帧数据到达客户端后的播放截止时间戳,将各帧数据依序通过QUIC数据报发送给客户端并缓存至重传缓冲区,更新播放截止时间戳以及序列号,将播放截止时间戳同步给客户端,基于客户端发送的接收确认应答删除重传缓冲区内对应的QUIC数据报;客户端基于播放截止时间戳,对接收的QUIC数据报中缺失的帧数据进行有效期校验后,播放对应的帧数据;即通过播放截止时间戳来跳过过期的数据帧,避免标准QUIC协议因可靠传输而带来的积累延迟,通过在播放截止时间戳内添加四帧的缓冲帧用于接收服务器重传的数据帧,即丢失的数据帧在未到期时还可进行重传播放,进而提升有用数据的吞吐量,保障实时多媒体流的播放质量,最终极大的提升了实时多媒体流传输的可靠性和实时性。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (8)

1.一种实时多媒体流传输方法,其特征在于:包括如下步骤:
步骤S10、服务端计算实时多媒体的第一帧的帧数据到达客户端后的播放截止时间戳;
步骤S20、服务端将所述实时多媒体的各帧数据依序通过QUIC数据报发送给客户端,将发送的所述QUIC数据报存储至重传缓冲区,并更新所述播放截止时间戳以及序列号,将所述播放截止时间戳同步给客户端;
步骤S30、客户端基于接收的所述QUIC数据报向服务端反馈接收确认应答,服务端基于接收的所述接收确认应答删除重传缓冲区内对应的QUIC数据报;
步骤S40、客户端基于所述播放截止时间戳,对接收的所述QUIC数据报中缺失的帧数据进行有效期校验后,播放对应的所述帧数据。
2.如权利要求1所述的一种实时多媒体流传输方法,其特征在于:所述步骤S10中,所述播放截止时间戳的计算公式为:
RT=((path_latency/a)*b)+c;
其中,RT表示播放截止时间戳;path_latency表示网络路径的延迟;a表示每秒60次的回调计时器之间的间隔;b表示每个I帧之间的时间间隔;c表示预留四帧的缓冲帧的播放缓冲时间。
3.如权利要求1所述的一种实时多媒体流传输方法,其特征在于:所述步骤S20中,所述帧数据的帧类型为I帧或者P帧;所述I帧为内部帧,用于提供整个图像的数据,第一帧的帧数据的帧类型为I帧,每十帧的帧数据只发送一帧的I帧。
4.如权利要求3所述的一种实时多媒体流传输方法,其特征在于:所述步骤S20中,所述将发送的所述QUIC数据报存储至重传缓冲区之后,还添加所述QUIC数据报中携带的P帧的依赖信息;所述依赖信息为P帧依赖的I帧。
5.如权利要求1所述的一种实时多媒体流传输方法,其特征在于:所述步骤S20中,所述更新所述播放截止时间戳以及序列号具体为:
服务器在所述播放截止时间戳回调时增加b,并以1为梯度对序列号进行累加;所述序列号表示已发送帧数据的总数,b表示每个I帧之间的时间间隔。
6.如权利要求1所述的一种实时多媒体流传输方法,其特征在于:所述步骤S20中,服务器将所述播放截止时间戳同步给客户端前,在所述播放截止时间戳内添加四帧的缓冲帧。
7.如权利要求4所述的一种实时多媒体流传输方法,其特征在于:所述步骤S30中,所述服务端基于接收的所述接收确认应答删除重传缓冲区内对应的QUIC数据报具体为:
服务器接收所述接收确认应答后,基于所述依赖信息以及播放截止时间戳判断对应的QUIC数据报是否还有用,若是,则保留重传缓冲区内对应的所述QUIC数据报;若否,则删除重传缓冲区内对应的QUIC数据报。
8.如权利要求1所述的一种实时多媒体流传输方法,其特征在于:所述步骤S40具体为:
客户端基于数据帧携带的帧编号判断是否存在缺失的数据帧,若否,则播放所述QUIC数据报携带的帧数据;若是,则:
基于所述截止时间戳以及相邻的数据帧,对缺失的所述数据帧进行有效期校验,若过期,则跳过缺失的所述数据帧,播放下一帧的所述帧数据;若未过期,则通过缓冲帧接收服务器重传的所述数据帧进行播放。
CN202310469033.XA 2023-04-27 2023-04-27 一种实时多媒体流传输方法 Active CN116582725B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310469033.XA CN116582725B (zh) 2023-04-27 2023-04-27 一种实时多媒体流传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310469033.XA CN116582725B (zh) 2023-04-27 2023-04-27 一种实时多媒体流传输方法

Publications (2)

Publication Number Publication Date
CN116582725A CN116582725A (zh) 2023-08-11
CN116582725B true CN116582725B (zh) 2025-08-29

Family

ID=87533264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310469033.XA Active CN116582725B (zh) 2023-04-27 2023-04-27 一种实时多媒体流传输方法

Country Status (1)

Country Link
CN (1) CN116582725B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179362A (zh) * 2006-11-07 2008-05-14 中兴通讯股份有限公司 适宜移动流媒体应用的自动重传请求机制
CN101945427A (zh) * 2009-07-03 2011-01-12 深圳市融创天下科技发展有限公司 一种高效的流媒体传输方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713193B1 (en) * 2007-11-12 2014-04-29 Sprint Communications Company L.P. Pausing multimedia data streams
CN102550020B (zh) * 2009-10-02 2017-10-24 瑞典爱立信有限公司 使用用于识别已丢失数据分组的校验和的重传的方法
CN102752669B (zh) * 2011-04-19 2015-09-16 中国电信股份有限公司 多通道实时流媒体文件的传送处理方法与系统、接收装置
JP2019169750A (ja) * 2016-08-10 2019-10-03 株式会社Nttドコモ ユーザ装置、及び再送制御方法
CN106850595A (zh) * 2017-01-17 2017-06-13 烽火通信科技股份有限公司 一种流媒体传输优化方法及装置
US10638192B2 (en) * 2017-06-19 2020-04-28 Wangsu Science & Technology Co., Ltd. Live streaming quick start method and system
FR3067550A1 (fr) * 2017-06-27 2018-12-14 Orange Procede de communication quic via des chemins multiples
US11757965B2 (en) * 2019-02-19 2023-09-12 Apple Inc. Low latency streaming media
CN111368103B (zh) * 2020-04-16 2023-09-19 腾讯科技(深圳)有限公司 多媒体数据播放方法、装置、设备及存储介质
CN114172948B (zh) * 2022-02-09 2022-06-17 北京数码视讯技术有限公司 基于udp的ip透传网关传输系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179362A (zh) * 2006-11-07 2008-05-14 中兴通讯股份有限公司 适宜移动流媒体应用的自动重传请求机制
CN101945427A (zh) * 2009-07-03 2011-01-12 深圳市融创天下科技发展有限公司 一种高效的流媒体传输方法

Also Published As

Publication number Publication date
CN116582725A (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
US8023533B2 (en) Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
JP4623616B2 (ja) データ伝送方法および装置
CN102684833B (zh) 分组传输装置、通信系统
EP2421190B1 (en) Medium streaming distribution system
US7315898B2 (en) Data communication system, data transmission apparatus, data reception apparatus, data communication method, and computer program
EP2061174B1 (en) Data communication system, data transmitting device and method, using probe packets and having a transmission buffer control
US7380014B2 (en) Reliable real-time transport protocol
US8532194B2 (en) Picture decoding method
US20020181506A1 (en) Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
CN101552660B (zh) 对流媒体数据进行重传、播放的方法、装置及通信系统
KR20060114080A (ko) 멀티미디어 스트리밍 서비스 시스템 및 방법
CN116582725B (zh) 一种实时多媒体流传输方法
JP2005051299A (ja) パケット送信装置、パケット受信装置、パケット送信方法及びパケット受信方法
JP2005033556A (ja) データ送信装置、データ送信方法、データ受信装置、データ受信方法
Argyriou Real-time and rate–distortion optimized video streaming with TCP
EP2337257B1 (en) Method and apparatus of sending encoded multimedia digital data taking into account sending deadlines
Huszák et al. Selective retransmission of MPEG video streams over IP networks

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