CN112565224A - 一种视频处理方法及装置 - Google Patents
一种视频处理方法及装置 Download PDFInfo
- Publication number
- CN112565224A CN112565224A CN202011355802.6A CN202011355802A CN112565224A CN 112565224 A CN112565224 A CN 112565224A CN 202011355802 A CN202011355802 A CN 202011355802A CN 112565224 A CN112565224 A CN 112565224A
- Authority
- CN
- China
- Prior art keywords
- time
- video
- frame image
- video frame
- rtp packet
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Abstract
本发明公开了一种视频处理方法及装置,能够在编码器接收到第一视频帧图像时记录第一时间;在输出编码后的第一视频帧图像时记录第二时间;将第一时间和第二时间嵌入编码后的第一视频帧图像,然后对其进行RTP分包,在首个RTP包头嵌入对应当前系统时间的第三时间并发往视频接收侧,以使视频接收侧能够根据接收编码后的第一视频帧图像的RTP分包的情况,结合前述嵌入第一视频帧图像的时间信息确定第一视频帧图像的链路传输时间。该视频处理方法及装置能够在视频数据传输过程中记录并传送各个处理节点的时戳信息,实现对视频传输各个环节延时的测试,能够在视频数据发生阻塞时方便的定位链路问题,便于后续控制决策的确定。满足实际应用需要。
Description
技术领域
本发明涉及通信技术领域,更具体的说,是涉及一种视频处理方法及装置。
背景技术
随着智能和远程驾驶技术的迅速发展,车载嵌入式系统功能愈发丰富,支持摄像头等设备实时对汽车周围环境进行感知;同时,5G等网络技术的发展,也为视频实时传输和远程驾驶提供了支持。在此背景下,如何提供稳定、低延时视频流的传输和闭环控制来保证车辆的远程驾驶的安全性,成为领域内技术人员研究的热点。
目前普遍采用的视频传输步骤主要有摄像头采集、视频压缩、网络传输、视频解码和播放显示等步骤。从摄像头采集的视频RAW图像较大,一般需要使用压缩算法来减小视频文件大小,以满足网络实时传输的需求,常用的视频压缩算法主要为H264压缩算法。视频压缩后的H264码流经过RTP(Real-time Transport Protocol,实时传输协议)打包,进一步通过UDP(User Datagram Protocol,用户数据报协议)方式进行网络传输。在接收侧,视频播放设备首先解析UDP和RTP头,获得H264码流,为了降低延迟,对H264码流使用硬件解码得到视频RAW图像并进行实时显示。
实际情况中,视频流在传输过程中可能会发生阻塞,然而上述基于H264码流传输视频数据的实现,并不能够在链路阻塞时定位链路问题,从而无法满足实际应用需要。
发明内容
有鉴于此,本发明提供如下技术方案:
一种视频处理方法,应用于视频发送侧,包括:
在编码器接收到图像采集设备采集的第一视频帧图像时记录系统时间为第一时间,所述第一视频帧图像是所述图像采集设备采集的任一视频帧图像;
在所述编码器完成对所述第一视频帧图像的编码并输出编码后的第一视频帧图像时,记录系统时间为第二时间;
将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像;
在对所述编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收所述编码后的第一视频帧图像的RTP分包的情况,结合所述第一时间、所述第二时间和/或所述第三时间确定所述第一视频帧图像的链路传输时间。
可选的,所述编码后的第一视频帧图像为H264码流,所述将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像,包括:
将所述第一时间和所述第二时间嵌入所述H264码流中的补充增强信息帧。
可选的,所述将所述第一时间和所述第二时间嵌入所述H264码流中的补充增强信息帧,包括:
对所述H264码流中的补充增强信息帧中0x05类型的报文进行改造,将所述第一时间和所述第二时间嵌入所述0x05类型的报文中的uuid部分。
可选的,所述第一时间和所述第二时间分别包括第一部分和第二部分,所述第一部分包含时间的秒信息,占四个字节,所述第二部分包含时间的微秒信息,占四个字节,则所述将所述第一时间和所述第二时间嵌入所述0x05类型的报文中的uuid部分,包括:
分别提取所述第一时间和所述第二时间的所述第一部分和所述第二部分的低位3个字节,并将提取的12个字节嵌入所述0x05类型的报文中的uuid部分。
可选的,所述第三时间包括第一部分和第二部分,所述第一部分包含时间的秒信息,占四个字节,所述第二部分包含时间的微秒信息,占四个字节,则所述在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,包括:
提取所述第一部分的最低位一个字节和所述第二部分的低位3个字节,并将提取的4个字节嵌入首个RTP包头部的第4-7个字节;
将嵌入所述第三时间的首个RTP包发往视频接收侧。
一种视频处理方法,应用于视频接收侧,包括:
接收视频发送侧发送的第二视频帧图像的多个RTP包,所述第二视频帧图像为所述视频发送侧发送的任一视频帧图像;
对所述第二视频帧图像进行RTP解析,得到所述第二视频帧图像的首个RTP包中嵌入的第三时间,所述第三时间为所述视频发送侧发送所述第二视频帧图像的首个RTP包时对应的系统时间;
记录所述第二视频帧图像的最后一个RTP包接收完成时的系统时间为第四时间;
将经过所述RTP解析后的第二视频帧图像进行视频解码,得到嵌入在所述第二视频帧图像中的第一时间和第二时间,所述第一时间为所述视频发送侧的编码器在获取所述第二视频帧图像的原始数据时的系统时间,所述第二时间为所述编码器对所述原始数据编码后输出所述第二视频帧图像时的系统时间;
记录所述第二视频帧图像视频解码完成时的系统时间为第五时间;
基于所述第一时间、所述第二时间、所述第三时间、所述第四时间和所述第五时间确定所述第二视频帧图像对应的所述原始数据的链路传输时间。
可选的,所述第二视频帧图像为H264码流,所述第一时间和所述第二时间位于所述H264码流的补充增强信息帧中的0x05类型的报文中。
可选的,还包括:
预先将所述视频接收侧的处理系统与所述视频发送侧的处理系统做时间同步处理。
一种视频处理装置,应用于视频发送侧,包括:
第一时间记录模块,用于在编码器接收到图像采集设备采集的第一视频帧图像时记录系统时间为第一时间,所述第一视频帧图像是所述图像采集设备采集的任一视频帧图像;
第二时间记录模块,用于在所述编码器完成对所述第一视频帧图像的编码并输出编码后的第一视频帧图像时,记录系统时间为第二时间;
第一嵌入模块,用于将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像;
第二嵌入模块,用于在对所述编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收所述编码后的第一视频帧图像的RTP分包的情况,结合所述第一时间、所述第二时间和/或所述第三时间确定所述第一视频帧图像的链路传输时间。
一种视频处理装置,应用于视频接收侧,包括:
数据接收模块,用于接收视频发送侧发送的第二视频帧图像的多个RTP包,所述第二视频帧图像为所述视频发送侧发送的任一视频帧图像;
RTP解析模块,用于对所述第二视频帧图像进行RTP解析,得到所述第二视频帧图像的首个RTP包中包含的第三时间,所述第三时间为所述视频发送侧发送所述第二视频帧图像的首个RTP包时对应的系统时间;
第四时间记录模块,用于记录所述第二视频帧图像的最后一个RTP包接收完成时的系统时间为第四时间;
视频解码模块,用于将经过所述RTP解析后的第二视频帧图像进行视频解码,得到第一时间和第二时间,所述第一时间为所述视频发送侧的编码器在获取所述第二视频帧图像的原始数据时的系统时间,所述第二时间为所述编码器对所述原始数据编码后输出所述第二视频帧图像时的系统时间;
第五时间记录模块,用于记录所述第二视频帧图像视频解码完成时的系统时间为第五时间;
时间确定模块,用于基于所述第一时间、所述第二时间、所述第三时间、所述第四时间和所述第五时间确定所述第二视频帧图像对应的所述原始数据的链路传输时间。
经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种视频处理方法及装置,能够在编码器接收到第一视频帧图像时记录系统时间为第一时间;在输出编码后的第一视频帧图像时记录系统时间为第二时间;将第一时间和所述第二时间嵌入编码后的第一视频帧图像;对编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收编码后的第一视频帧图像的RTP分包的情况,结合前述嵌入第一视频帧图像的时间信息确定所述第一视频帧图像的链路传输时间。该视频处理方法及装置能够在视频数据传输过程中记录并传送各个处理节点的时戳信息,从而实现对视频传输各个环节延时的测试,能够在视频数据发生阻塞时方便的定位链路问题,便于后续控制决策的确定。满足实际应用需要。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种视频处理方法的流程图;
图2为本发明实施例公开的另一种视频处理方法的流程图;
图3为本发明实施例公开的一种视频处理系统的视频传输设计架构图;
图4为本发明实施例公开的一种视频处理装置的结构示意图;
图5为本发明实施例公开的另一种视频处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例公开的一种视频处理方法的流程图,图1所示方法应用于视频发送侧,参见图1所示,视频处理方法可以包括:
步骤101:在编码器接收到图像采集设备采集的第一视频帧图像时记录系统时间为第一时间,所述第一视频帧图像是所述图像采集设备采集的任一视频帧图像。
一般地,图像采集设备采集的原始视频RAW图像较大,需要对其进行压缩编码,以满足网络实时传输的需求。本申请实施例中,对于视频编码采用的压缩算法并不做固定限制,例如,其可以为H264压缩算法。上述编码器即对原始视频RAW图像进行编码压缩的装置。
本实施例中,将编码器接收完到图像采集设备发送的第一视频帧图像对应的系统时间记为第一时间,该时间可以理解为第一视频帧图像处理传输的开启节点。
步骤102:在所述编码器完成对所述第一视频帧图像的编码并输出编码后的第一视频帧图像时,记录系统时间为第二时间。
在编码器将第一视频帧图像进行编码后,会将其输出,以便于进行后续相关处理。需要注意的是,在输出编码后的第一视频帧图像的同时,即编码后的第一视频帧图像开始输出的时刻对应的系统时间,记为第二时间。通过第二时间可以将第一视频帧图像的编码处理和后续的处理操作在时间维度上进行划分。
步骤103:将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像。
由于后续在视频接收侧需要依据各个节点时间来确定不同环节的时长,因此需要将第一时间和第二时间嵌入编码后的第一视频帧图像。具体如何将时间信息嵌入编码后的第一视频帧图像,将在后面的实施例中详细介绍,在此不再过多赘述。
步骤104:在对所述编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收所述编码后的第一视频帧图像的RTP分包的情况,结合所述第一时间、所述第二时间和/或所述第三时间确定所述第一视频帧图像的链路传输时间。
其中RTP包向视频接收侧的传输可基于UDP协议实现。
由于网络传输中的最大传输单元的限制,本实施例中每一个编码后的视频帧图像,如H264码流,需要且分为若干个RTP包进行传输。因此,在将编码后的第一视频帧图像发往视频接收侧之前,还需要对其进行RTP分包处理,实现中需要在RTP分包完成后,在将首个RTP包发往视频接收侧时在其头部嵌入对应当前系统时间的第三时间。通过第三时间可以将RTP分包处理和后续的RTP包传输过程在时间维度上进行划分。
本实施例所述视频处理方法,能够在视频数据传输过程中记录并传送各个处理节点的时戳信息,从而实现对视频传输各个环节延时的测试,能够在视频数据发生阻塞时方便的定位链路问题,便于后续控制决策的确定。满足实际应用需要。
上述实施例中,所述编码后的第一视频帧图像可以为H264码流,则将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像,可以包括:将所述第一时间和所述第二时间嵌入所述H264码流中的补充增强信息帧。
具体的,将所述第一时间和所述第二时间嵌入所述H264码流中的补充增强信息帧,可以包括:对所述H264码流中的补充增强信息帧((提供了向视频码流中加入信息的办法,在视频内容的生成端、传输过程中,都可以插入SEI信息,插入的信息和其他视频内容一起经过传输链路到达了播放端))中0x05类型((用户注册信息,是SEI帧中的一类报文))的报文进行改造,将所述第一时间和所述第二时间嵌入所述0x05类型的报文中的uuid部分(uuid部分是硬件编码时固定生成的硬件信息,通过对于H264的编码方式分析,可以验证截取该部分不会对于视频传输质量产生影响)。
其中,第一时间和第二时间分别包括第一部分和第二部分,第一部分包含时间的秒信息,占四个字节,第二部分包含时间的微秒信息,占四个字节。由于0x05类型的报文中uuid部分的可用空间有限,因此在实现中,可以只将第一时间和第二时间中的关键时间信息嵌入有限的存储空间中。则将所述第一时间和所述第二时间嵌入所述0x05类型的报文中的uuid部分,可以包括:分别提取所述第一时间和所述第二时间的所述第一部分和所述第二部分的低位3个字节,并将提取的12个字节嵌入所述0x05类型的报文中的uuid部分。
同样的,第三时间包括第一部分和第二部分,所述第一部分包含时间的秒信息,占四个字节,所述第二部分包含时间的微秒信息,占四个字节,则上述实施例中在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,可以包括:提取所述第一部分的最低位一个字节和所述第二部分的低位3个字节,并将提取的4个字节嵌入首个RTP包头部的第4-7个字节;将嵌入所述第三时间的首个RTP包发往视频接收侧。在能够传输的时间信息有限的前提下,选取有价值的时间信息进行传输,使其能够满足相关处理节点的时间即可。
图2为本发明实施例公开的另一种视频处理方法的流程图,参见图2所示方法应用于视频接收侧,参见图2所示,视频处理方法可以包括:
步骤201:接收视频发送侧发送的第二视频帧图像的多个RTP包,所述第二视频帧图像为所述视频发送侧发送的任一视频帧图像。
其中的第二视频帧图像对应的可以理解为前面实施例中编码后的第一视频帧图像。由于第一视频帧图像表征的是原始的视频RAW图像,而第二视频帧图像表征的为编码后的视频帧图像,因此本申请实施例中将两者以“第一”和“第二”区分,但可以理解的,实际应用中,第一视频帧图像和第二视频帧图像可以用于表征同一视频帧的不同状态。
步骤202:对所述第二视频帧图像进行RTP解析,得到所述第二视频帧图像的首个RTP包中嵌入的第三时间,所述第三时间为所述视频发送侧发送所述第二视频帧图像的首个RTP包时对应的系统时间。
在接收到第二视频帧图像的所有RTP包后,可以对所有的RTP包进行RTP解析,以恢复完整的第二视频帧图像。
所述第二视频帧图像的首个RTP包中内嵌有第三时间,进行RTP解析操作后,可以获取该第三时间。
步骤203:记录所述第二视频帧图像的最后一个RTP包接收完成时的系统时间为第四时间。
最后一个RTP包接收完成,即完整的第二视频帧图像接收完成,将完整的第二视频帧图像接收完成时的系统时间记为第四时间。通过第四时间可以将第二视频帧图像的网络传输和后续的视频解码操作在时间维度上进行划分。
步骤204:将经过所述RTP解析后的第二视频帧图像进行视频解码,得到嵌入在所述第二视频帧图像中的第一时间和第二时间,所述第一时间为所述视频发送侧的编码器在获取所述第二视频帧图像的原始数据时的系统时间,所述第二时间为所述编码器对所述原始数据编码后输出所述第二视频帧图像时的系统时间。
为了得到原始的视频RAW图像,还需要进一步对第二视频帧图像进行解码处理,以得到前述实施例中所述第一视频帧图像。由于第一时间和第二时间内嵌在第二视频帧图像中,因此,对第二视频帧图像解码后会得到第一时间和第二时间。
步骤205:记录所述第二视频帧图像视频解码完成时的系统时间为第五时间。
通过第五时间可以将第二视频帧图像的解码和后续的视频存储和展示在时间维度上进行划分。
步骤206:基于所述第一时间、所述第二时间、所述第三时间、所述第四时间和所述第五时间确定所述第二视频帧图像对应的所述原始数据的链路传输时间。
由于视频帧图像在整个链路中的处理节点的时间都被记录或获取,因此,基于这些处理节点对应的时间信息,就能够确定不同处理环节之间的时长。例如,一根绳子上不同位置依次被标注了节点A、节点B、节点C、节点D四个节点,则基于各个节点的位置,可以确定任意两个节点间的距离。
该视频处理方法能够在视频数据传输过程中记录并传送各个处理节点的时戳信息,从而实现对视频传输各个环节延时的测试,能够在视频数据发生阻塞时方便的定位链路问题,便于后续控制决策的确定。满足实际应用需要。
上述实施例中,第二视频帧图像可以为H264码流,第一时间和第二时间位于H264码流的补充增强信息帧中的0x05类型的报文中。
在其他实现中,视频处理方法还可以包括:预先将所述视频接收侧的处理系统与所述视频发送侧的处理系统做时间同步处理。
视频发送侧的设备和视频接收侧的设备均在一个局域网中,需要对两者进行时间同步。本申请实施例采用NTPD(Network Time Protocol(NTP),NTPD是在NTP基础上用于本地和服务器端时间同步的操作系统Daemon进程)服务器的方法进行时间同步。NTPD方式是一种常用的时间同步手段,一般的使用方法是板端(客户端侧)通过公网连接国家标准的NTPD授时站点,但是也可以结合实际应用场景对其进行适用,例如,在主要用于港口车的场景中,使用环境是封闭园区,视频传输延时只考虑相对时间即可,因此采用一侧设备(如视频发送侧设备)做授时,另一侧设备(如视频接收侧设备)查询同步,即,以其中一个设备作为NTPD服务器,另一个设备作为NTPD客户端,定时对两者进行时间同步,精度可以精确到微秒。
图3为本发明实施例公开的一种视频处理系统的视频传输设计架构图,其中的TS为时间戳timestamp的简写。结合图3所示,在一个具体的实现中,视频传出的整体逻辑包括:
1、摄像头对视频进行采集后,RAW图像传到H264编码器进行视频硬件压缩,并在编码器收到图像信息时记录系统时间为TS1;
2、使用编码器对视频进行解码,并在编码器输出每帧视频时,记录系统时间TS2,在得到码流后,对H264码流进行改造,嵌入TS1和TS2(前边只是对系统时间进行记录,在此环节进行嵌入);
3、对每帧视频进行RTP分包,并在每帧视频的第一包数据的RTP头中打入当前系统时间TS3,进一步使用UDP协议进行网络传输;
4、在解码侧设备中,接收UDP包,并进一步进行RTP解析,得到每帧开头的时间戳TS3,并在每帧最后一包接收后,记录当前系统时间TS4,进而可以算出每帧视频的网络传输时间;
5、将第4步中解析的H264码流传到视频解码器,解析H264码流,得到TS1和TS2,待每帧视频解码完记录系统时间TS5,对比TS5和TS1,可以计算每帧视频全链路的传输时间。通常情况下,TS5和TS1的比较结果使用的更广泛,而TS5和TS2作比较,可以得到的是编码后到解码后的时间,测试时如果已确定编码部分没有问题,并希望实时显示打印编码后到解码后的时间,就可以使用这两个时间(TS5和TS2)进行对比。当然,前述内容仅为实际使用时的一种情景,本申请对此不做限制。
本申请实施例只在H264码流和RTP头进行了时戳的嵌入,其他时刻都是只做记录,时戳传递的的核心问题是将编码侧的时间戳传递到解码侧,因此解码侧时间戳仅进行记录即可,通过和编码侧的时间戳对比,即可以算出每个环节的时间延时,并进行控制。
实现中,需要对于H264码流进行改造才能够实现TS1和TS2的嵌入。由于H264码流在视频传输管道内,信息的储存具有很强的连续性和耦合性,直接插入或覆盖时间戳(直接将时间戳放到H264的码流中覆盖原来的数据),均会影响视频传输性能。在此情况下,本申请利用H264码流中补充增强信息帧,在此帧中对于0x05类型的报文进行改造,对于其中的uuid部分数据中,截取12Byte数据(如表1中的7~18byte)用于视频时间戳(TS1和TS2)的嵌入,可以满足视频传输需求,同时不影响图像质量。
每个时间戳均由一个tv_sec和tv_usec组成,其中tv_sec包含时间的秒信息,tv_usec包含时间的微秒信息,C语言中时间结构体timeval中两个成员tv_sec和tv_usec分别占了四个字节(通用的时间戳格式),共64个bit,这样两个时间戳信息(TS1和TS2)就需要128bit,而从uuid部分截取的12Byte共96bit的数据存入TS1和TS2仍然不足。因此,本申请基于tv_sec和tv_use物理意义的考虑,其中tv_sec在一帧传输过程中变化较小,tv_usec最大值仅为99999,因此可以仅取tv_sec和tv_use的低位三个字节,依然可以达到时戳嵌入的目的。
表1改造后的H264码流中补充增强信息帧头
此外,本申请对每个视频帧图像的首个RTP包发送时记录系统时间TS3,并嵌入到RTP头中,在解码侧(对应视频接收侧)直至收到此帧的最后一包数据,记录系统时间TS5,即可算出网络传输时间。
TS3的嵌入可利用RTP头中的第4~7字节,共32个bit,因为实际传输中一个RTP包的传输速度在ms级(延迟一般在毫秒级),因此使用了tv_sec最低一个字节和tv_usec的最低三个字节,最大可以计算延时为256秒,可以满足视频延时控制的需求。
表2加入时戳后典型的RTP头:
本申请实施例记载了一套完整的基于视频H264压缩低延时时戳传输方案,包括了软硬件系统搭建,时戳传递逻辑,数据传输协议改造等技术内容。通过本申请记载的时戳传递机制,可以测试视频传输各个环节的延时,进而可以对视频链路进行闭环控制。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
图4为本发明实施例公开的一种视频处理装置的结构示意图,图4所述装置应用于视频发送侧,参见图4所示,视频处理装置40可以包括:
第一时间记录模块401,用于在编码器接收到图像采集设备采集的第一视频帧图像时记录系统时间为第一时间,所述第一视频帧图像是所述图像采集设备采集的任一视频帧图像。
第二时间记录模块402,用于在所述编码器完成对所述第一视频帧图像的编码并输出编码后的第一视频帧图像时,记录系统时间为第二时间。
第一嵌入模块403,用于将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像。
第二嵌入模块404,用于在对所述编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收所述编码后的第一视频帧图像的RTP分包的情况,结合所述第一时间、所述第二时间和/或所述第三时间确定所述第一视频帧图像的链路传输时间。
该视频处理装置能够在视频数据传输过程中记录并传送各个处理节点的时戳信息,从而实现对视频传输各个环节延时的测试,能够在视频数据发生阻塞时方便的定位链路问题,便于后续控制决策的确定。满足实际应用需要。
图5为本发明实施例公开的另一种视频处理装置的结构示意图,图5所示装置应用于视频接收侧,结合图5所示,视频处理装置50可以包括:
数据接收模块501,用于接收视频发送侧发送的第二视频帧图像的多个RTP包,所述第二视频帧图像为所述视频发送侧发送的任一视频帧图像。
RTP解析模块502,用于对所述第二视频帧图像进行RTP解析,得到所述第二视频帧图像的首个RTP包中包含的第三时间,所述第三时间为所述视频发送侧发送所述第二视频帧图像的首个RTP包时对应的系统时间。
第四时间记录模块503,用于记录所述第二视频帧图像的最后一个RTP包接收完成时的系统时间为第四时间。
视频解码模块504,用于将经过所述RTP解析后的第二视频帧图像进行视频解码,得到第一时间和第二时间,所述第一时间为所述视频发送侧的编码器在获取所述第二视频帧图像的原始数据时的系统时间,所述第二时间为所述编码器对所述原始数据编码后输出所述第二视频帧图像时的系统时间。
第五时间记录模块505,用于记录所述第二视频帧图像视频解码完成时的系统时间为第五时间。
时间确定模块506,用于基于所述第一时间、所述第二时间、所述第三时间、所述第四时间和所述第五时间确定所述第二视频帧图像对应的所述原始数据的链路传输时间。
该视频处理装置能够在视频数据传输过程中记录并传送各个处理节点的时戳信息,从而实现对视频传输各个环节延时的测试,能够在视频数据发生阻塞时方便的定位链路问题,便于后续控制决策的确定。满足实际应用需要。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种视频处理方法,应用于视频发送侧,其特征在于,包括:
在编码器接收到图像采集设备采集的第一视频帧图像时记录系统时间为第一时间,所述第一视频帧图像是所述图像采集设备采集的任一视频帧图像;
在所述编码器完成对所述第一视频帧图像的编码并输出编码后的第一视频帧图像时,记录系统时间为第二时间;
将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像;
在对所述编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收所述编码后的第一视频帧图像的RTP分包的情况,结合所述第一时间、所述第二时间和/或所述第三时间确定所述第一视频帧图像的链路传输时间。
2.根据权利要求1所述的视频处理方法,其特征在于,所述编码后的第一视频帧图像为H264码流,所述将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像,包括:
将所述第一时间和所述第二时间嵌入所述H264码流中的补充增强信息帧。
3.根据权利要求2所述的视频处理方法,其特征在于,所述将所述第一时间和所述第二时间嵌入所述H264码流中的补充增强信息帧,包括:
对所述H264码流中的补充增强信息帧中0x05类型的报文进行改造,将所述第一时间和所述第二时间嵌入所述0x05类型的报文中的uuid部分。
4.根据权利要求3所述的视频处理方法,其特征在于,所述第一时间和所述第二时间分别包括第一部分和第二部分,所述第一部分包含时间的秒信息,占四个字节,所述第二部分包含时间的微秒信息,占四个字节,则所述将所述第一时间和所述第二时间嵌入所述0x05类型的报文中的uuid部分,包括:
分别提取所述第一时间和所述第二时间的所述第一部分和所述第二部分的低位3个字节,并将提取的12个字节嵌入所述0x05类型的报文中的uuid部分。
5.根据权利要求1所述的视频处理方法,其特征在于,所述第三时间包括第一部分和第二部分,所述第一部分包含时间的秒信息,占四个字节,所述第二部分包含时间的微秒信息,占四个字节,则所述在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,包括:
提取所述第一部分的最低位一个字节和所述第二部分的低位3个字节,并将提取的4个字节嵌入首个RTP包头部的第4-7个字节;
将嵌入所述第三时间的首个RTP包发往视频接收侧。
6.一种视频处理方法,应用于视频接收侧,其特征在于,包括:
接收视频发送侧发送的第二视频帧图像的多个RTP包,所述第二视频帧图像为所述视频发送侧发送的任一视频帧图像;
对所述第二视频帧图像进行RTP解析,得到所述第二视频帧图像的首个RTP包中嵌入的第三时间,所述第三时间为所述视频发送侧发送所述第二视频帧图像的首个RTP包时对应的系统时间;
记录所述第二视频帧图像的最后一个RTP包接收完成时的系统时间为第四时间;
将经过所述RTP解析后的第二视频帧图像进行视频解码,得到嵌入在所述第二视频帧图像中的第一时间和第二时间,所述第一时间为所述视频发送侧的编码器在获取所述第二视频帧图像的原始数据时的系统时间,所述第二时间为所述编码器对所述原始数据编码后输出所述第二视频帧图像时的系统时间;
记录所述第二视频帧图像视频解码完成时的系统时间为第五时间;
基于所述第一时间、所述第二时间、所述第三时间、所述第四时间和所述第五时间确定所述第二视频帧图像对应的所述原始数据的链路传输时间。
7.根据权利要求6所述的视频处理方法,其特征在于,所述第二视频帧图像为H264码流,所述第一时间和所述第二时间位于所述H264码流的补充增强信息帧中的0x05类型的报文中。
8.根据权利要求6所述的视频处理方法,其特征在于,还包括:
预先将所述视频接收侧的处理系统与所述视频发送侧的处理系统做时间同步处理。
9.一种视频处理装置,应用于视频发送侧,其特征在于,包括:
第一时间记录模块,用于在编码器接收到图像采集设备采集的第一视频帧图像时记录系统时间为第一时间,所述第一视频帧图像是所述图像采集设备采集的任一视频帧图像;
第二时间记录模块,用于在所述编码器完成对所述第一视频帧图像的编码并输出编码后的第一视频帧图像时,记录系统时间为第二时间;
第一嵌入模块,用于将所述第一时间和所述第二时间嵌入所述编码后的第一视频帧图像;
第二嵌入模块,用于在对所述编码后的第一视频帧图像进行RTP分包后,在首个RTP包头部嵌入对应当前系统时间的第三时间并发往视频接收侧,以使得视频接收侧能够根据接收所述编码后的第一视频帧图像的RTP分包的情况,结合所述第一时间、所述第二时间和/或所述第三时间确定所述第一视频帧图像的链路传输时间。
10.一种视频处理装置,应用于视频接收侧,其特征在于,包括:
数据接收模块,用于接收视频发送侧发送的第二视频帧图像的多个RTP包,所述第二视频帧图像为所述视频发送侧发送的任一视频帧图像;
RTP解析模块,用于对所述第二视频帧图像进行RTP解析,得到所述第二视频帧图像的首个RTP包中包含的第三时间,所述第三时间为所述视频发送侧发送所述第二视频帧图像的首个RTP包时对应的系统时间;
第四时间记录模块,用于记录所述第二视频帧图像的最后一个RTP包接收完成时的系统时间为第四时间;
视频解码模块,用于将经过所述RTP解析后的第二视频帧图像进行视频解码,得到第一时间和第二时间,所述第一时间为所述视频发送侧的编码器在获取所述第二视频帧图像的原始数据时的系统时间,所述第二时间为所述编码器对所述原始数据编码后输出所述第二视频帧图像时的系统时间;
第五时间记录模块,用于记录所述第二视频帧图像视频解码完成时的系统时间为第五时间;
时间确定模块,用于基于所述第一时间、所述第二时间、所述第三时间、所述第四时间和所述第五时间确定所述第二视频帧图像对应的所述原始数据的链路传输时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011355802.6A CN112565224B (zh) | 2020-11-26 | 2020-11-26 | 一种视频处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011355802.6A CN112565224B (zh) | 2020-11-26 | 2020-11-26 | 一种视频处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565224A true CN112565224A (zh) | 2021-03-26 |
CN112565224B CN112565224B (zh) | 2022-08-19 |
Family
ID=75046217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011355802.6A Active CN112565224B (zh) | 2020-11-26 | 2020-11-26 | 一种视频处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565224B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676783A (zh) * | 2021-08-18 | 2021-11-19 | 上海哔哩哔哩科技有限公司 | 链路节点评估方法及装置 |
CN113891065A (zh) * | 2021-09-09 | 2022-01-04 | 武汉中海庭数据技术有限公司 | 一种单帧图像传输延时测量方法和系统 |
CN113965242A (zh) * | 2021-08-27 | 2022-01-21 | 天津七所精密机电技术有限公司 | 一种基于北斗卫星的大数据报文传输方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260827A1 (en) * | 2003-06-19 | 2004-12-23 | Nokia Corporation | Stream switching based on gradual decoder refresh |
JP2008017230A (ja) * | 2006-07-06 | 2008-01-24 | Toshiba Corp | 情報通信端末 |
KR20140137251A (ko) * | 2013-05-22 | 2014-12-02 | 삼성테크윈 주식회사 | Rtp 패킷을 이용한 재생 영상의 시간 표시 방법 |
CN104918133A (zh) * | 2014-03-12 | 2015-09-16 | 北京视联动力国际信息技术有限公司 | 一种视联网中视频流的播放方法和装置 |
CN105681342A (zh) * | 2016-03-08 | 2016-06-15 | 随锐科技股份有限公司 | 一种基于h264的多路视频会议系统的抗误码方法及系统 |
CN106576081A (zh) * | 2014-07-29 | 2017-04-19 | 高通股份有限公司 | 视频电话中由接收器驱动的向上切换 |
CN106851259A (zh) * | 2017-01-17 | 2017-06-13 | 中国科学院上海高等研究院 | 监控系统中的视频延时测试装置 |
CN107566794A (zh) * | 2017-08-31 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
-
2020
- 2020-11-26 CN CN202011355802.6A patent/CN112565224B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040260827A1 (en) * | 2003-06-19 | 2004-12-23 | Nokia Corporation | Stream switching based on gradual decoder refresh |
JP2008017230A (ja) * | 2006-07-06 | 2008-01-24 | Toshiba Corp | 情報通信端末 |
KR20140137251A (ko) * | 2013-05-22 | 2014-12-02 | 삼성테크윈 주식회사 | Rtp 패킷을 이용한 재생 영상의 시간 표시 방법 |
CN104918133A (zh) * | 2014-03-12 | 2015-09-16 | 北京视联动力国际信息技术有限公司 | 一种视联网中视频流的播放方法和装置 |
CN106576081A (zh) * | 2014-07-29 | 2017-04-19 | 高通股份有限公司 | 视频电话中由接收器驱动的向上切换 |
CN105681342A (zh) * | 2016-03-08 | 2016-06-15 | 随锐科技股份有限公司 | 一种基于h264的多路视频会议系统的抗误码方法及系统 |
CN106851259A (zh) * | 2017-01-17 | 2017-06-13 | 中国科学院上海高等研究院 | 监控系统中的视频延时测试装置 |
CN107566794A (zh) * | 2017-08-31 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种视频数据的处理方法、系统及终端设备 |
Non-Patent Citations (1)
Title |
---|
朱耀麟等: "基于时间信息的快速检索方法探究", 《电子设计工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676783A (zh) * | 2021-08-18 | 2021-11-19 | 上海哔哩哔哩科技有限公司 | 链路节点评估方法及装置 |
CN113965242A (zh) * | 2021-08-27 | 2022-01-21 | 天津七所精密机电技术有限公司 | 一种基于北斗卫星的大数据报文传输方法 |
CN113891065A (zh) * | 2021-09-09 | 2022-01-04 | 武汉中海庭数据技术有限公司 | 一种单帧图像传输延时测量方法和系统 |
CN113891065B (zh) * | 2021-09-09 | 2023-11-28 | 武汉中海庭数据技术有限公司 | 一种单帧图像传输延时测量方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112565224B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112565224B (zh) | 一种视频处理方法及装置 | |
CN110868600B (zh) | 目标跟踪视频推流方法、显示方法、装置和存储介质 | |
WO2019205872A1 (zh) | 视频流处理方法、装置、计算机设备及存储介质 | |
CN109547786B (zh) | 视频编码、以及视频解码的方法、装置 | |
CN112203106B (zh) | 直播教学方法、装置、计算机设备和存储介质 | |
US20130091528A1 (en) | Video reproduction system, receive terminal, home gateway device, and quality control system | |
CN105429983B (zh) | 采集媒体数据的方法、媒体终端及音乐教学系统 | |
JP6743192B2 (ja) | ビデオサービス品質の評価方法及び装置 | |
CN112954433B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN112073543B (zh) | 一种云视频录制方法、系统和可读存储介质 | |
CN110691238A (zh) | 一种视频重建质量测试方法、装置、设备及可读存储介质 | |
CN114040255A (zh) | 直播字幕生成方法、系统、设备及存储介质 | |
CN109756744B (zh) | 数据处理方法、电子设备及计算机存储介质 | |
CN109040818B (zh) | 直播时的音视频同步方法、存储介质、电子设备及系统 | |
KR101171389B1 (ko) | Sdi를 이용한 압축 영상 전달 시스템 및 그 방법 | |
CN110139128B (zh) | 一种信息处理方法、拦截器、电子设备及存储介质 | |
CN112235600B (zh) | 视频数据及视频业务请求的处理方法、装置及系统 | |
CN104904170B (zh) | 有效地对用于低带宽传送的视频流中的要素进行优先化的方法和装置 | |
CN110602524B (zh) | 一种多路数字流同步方法、装置、系统及存储介质 | |
CN105187688A (zh) | 一种对手机采集的实时视频和音频进行同步的方法及系统 | |
CN110545447B (zh) | 一种音视频同步的方法及装置 | |
CN112565799B (zh) | 视频数据处理方法和装置 | |
CN115904281A (zh) | 云桌面会议共享方法、服务器和计算机可读存储介质 | |
CN113950825A (zh) | 数据传输、处理方法、可移动平台、终端设备及芯片 | |
CN117119223B (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 |