RTSP转RTMP协议的媒体资源处理方法及装置制造方法及图纸

技术编号:33192822 阅读:10 留言:0更新日期:2022-04-24 00:21
本发明专利技术公开了一种RTSP转RTMP协议的媒体资源处理方法及装置,涉及视频处理技术领域,优化RTSP转RTMP协议处理过程,所述方法包括:在通过RTSP协议获取流视频数据时,按照持续接收到的至少两个数据帧的先后顺序,对至少两个数据帧分别添加解码时间戳;将至少两个数据帧存储到预置数据帧缓存链表,在预置数据帧缓存链表中至少两个数据帧是按照其对应的原始时间戳的先后顺序进行排序的;根据至少两个数据帧对应的排序位置,确定至少两个数据帧各自对应的显示时间戳;根据数据帧对应的解码时间戳和显示时间戳,计算数据帧对应的偏移量并将偏移量添加至所述数据帧的报文头信息内;逐次从预置数据帧缓存链表中提取头指针指向的数据帧,推送至支持RTMP协议的服务器。推送至支持RTMP协议的服务器。推送至支持RTMP协议的服务器。

【技术实现步骤摘要】
RTSP转RTMP协议的媒体资源处理方法及装置


[0001]本专利技术涉及视频处理
,尤其涉及一种RTSP转RTMP协议的媒体资源处理方法及装置。

技术介绍

[0002]在视频处理
中,存在实时流传输协议(Real Time Streaming Protocol,RTSP)格式视频流、实时消息传输协议(Real Time Messaging Protocol,RTMP)格式视频流。在流媒体的开发中,常常会遇到协议转换的问题,如摄像机常常支持RTSP协议,而实际上RTMP协议是播放端服务器支持的协议,这样的话就需要做协议之间的转换以达到更好的兼容性和后续业务流程的一致性。
[0003]目前,不同的流媒体协议转换也是实际需要的。然而,现有RTSP转RTMP协议过程繁琐、复杂,导致处理效率低,如何找到简单、高效完成转换过程的具体实施方法,是亟待进一步研究开发的。

技术实现思路

[0004]有鉴于此,本专利技术提供一种RTSP转RTMP协议的媒体资源处理方法及装置,主要目的在于优化在RTSP转RTMP协议过程,能够操作简单、处理高效地获取到流视频数据内每个数据帧对应的偏移量,从而当逐个将流视频数据包含的数据帧推送到支持RTMP协议的服务器时,确保播放端播放流视频数据的正确性。
[0005]为了达到上述目的,本专利技术主要提供如下技术方案:
[0006]一方面,本专利技术提供了一种RTSP转RTMP协议的媒体资源处理方法,该方法包括:
[0007]在通过RTSP协议获取流视频数据时,按照持续接收到的至少两个数据帧的先后顺序,对所述至少两个数据帧分别添加解码时间戳;
[0008]将所述至少两个数据帧存储到预置数据帧缓存链表,在所述预置数据帧缓存链表中所述至少两个数据帧是按照其对应的原始时间戳的先后顺序进行排序的;
[0009]根据所述至少两个数据帧对应的排序位置,确定所述至少两个数据帧各自对应的显示时间戳;
[0010]根据所述数据帧对应的解码时间戳和显示时间戳,计算所述数据帧对应的偏移量并将所述偏移量添加至所述数据帧的报文头信息内;
[0011]逐次从所述预置数据帧缓存链表中提取头指针指向的数据帧,推送至支持RTMP协议的服务器。
[0012]可选的,在所述通过RTSP协议获取流视频数据之后,所述方法还包括:
[0013]通过解析所述流视频数据对应的图像参数组报文,获取所述流视频数据对应的帧率;
[0014]根据所述帧率,计算接收每两个相邻数据帧之间的时间间隔。
[0015]可选的,所述按照持续接收到的至少两个数据帧的先后顺序,对所述至少两个数
据帧分别添加解码时间戳,包括:
[0016]根据接收到至少两个数据帧的先后顺序,逐个对所述至少两个数据帧分别添加序号N,所述序号N起始值为0且为整数;
[0017]获取所述每两个相邻数据帧之间的时间间隔;
[0018]利用所述时间间隔与所述序号N的乘积,作为所述序号N对应的数据帧的解码时间;
[0019]根据所述解码时间,对所述序号N对应的数据帧添加解码时间戳。
[0020]可选的,所述将所述至少两个数据帧存储到预置数据帧缓存链表,包括:
[0021]通过解析所述至少两个各自的数据帧的报文头信息,获取所述至少两个各自的对应的原始时间戳;
[0022]将所述至少两个数据帧添加到预置数据帧缓存链表;
[0023]确定所述预置数据帧缓存链表存在的数据帧数目是否达到预设阈值;
[0024]响应于所述存在的数据帧数目是达到预设阈值,通过比较所述至少两个数据帧对应的原始时间戳,触发所述至少两个数据帧按照其对应原始时间戳的先后顺序进行排序。
[0025]可选的,所述通过比较所述至少两个数据帧对应的原始时间戳,触发所述至少两个数据帧按照其对应原始时间戳的先后顺序进行排序,包括:
[0026]按照所述至少两个数据帧对应原始时间戳的先后顺序,利用二分排序对所述预置数据帧缓存链表内的所述至少两个数据帧执行排序,其中,所述预置数据帧缓存链表内头指针指向数据帧的原始时间戳早于其他数据帧对应的原始时间戳。
[0027]可选的,所述根据所述至少两个数据帧对应的排序位置,确定所述至少两个数据帧各自对应的显示时间戳,包括:
[0028]在预置数据帧缓存链表内以头指针指向数据帧为起始,逐个对所述至少两个数据帧分别添加序号M,所述序号M起始值为0且为整数;
[0029]获取所述每两个相邻数据帧之间的时间间隔;
[0030]利用所述时间间隔与所述序号M的乘积,作为所述序号M对应的数据帧的解码时间;
[0031]根据所述显示时间,对所述序号M对应的数据帧添加显示时间戳。
[0032]另一方面,本专利技术还提供了一种RTSP转RTMP协议的媒体资源处理装置,该装置包括:
[0033]添加单元,用于在通过RTSP协议获取流视频数据时,按照持续接收到的至少两个数据帧的先后顺序,对所述至少两个数据帧分别添加解码时间戳;
[0034]存储单元,用于将所述至少两个数据帧存储到预置数据帧缓存链表,在所述预置数据帧缓存链表中所述至少两个数据帧是按照其对应的原始时间戳的先后顺序进行排序的;
[0035]确定单元,用于根据所述存储单元存储的至少两个数据帧对应的排序位置,确定所述至少两个数据帧各自对应的显示时间戳;
[0036]计算单元,用于根据所述数据帧对应的所述添加单元添加的解码时间戳和所述确定单元确定的显示时间戳,计算所述数据帧对应的偏移量;
[0037]所述添加单元,还用于将所述计算单元得到的偏移量添加至数据帧的报文头信息
内;
[0038]提取单元,用于逐次从所述预置数据帧缓存链表中提取头指针指向的数据帧;
[0039]推送单元,用于推送所述提取单元提取的数据帧至支持RTMP协议的服务器。
[0040]可选的,所述装置还包括:
[0041]获取单元,用于通过解析所述流视频数据对应的图像参数组报文,获取所述流视频数据对应的帧率;
[0042]所述计算单元,还用于根据所述获取单元获取到的帧率,计算接收每两个相邻数据帧之间的时间间隔。
[0043]可选的,所述添加单元包括:
[0044]第一添加模块,用于根据接收到至少两个数据帧的先后顺序,逐个对所述至少两个数据帧分别添加序号N,所述序号N起始值为0且为整数;
[0045]获取模块,用于获取所述每两个相邻数据帧之间的时间间隔;
[0046]执行模块,用于利用所述获取模块获取到的时间间隔与所述第一添加模块添加的序号N的乘积,作为所述序号N对应的数据帧的解码时间;
[0047]第二添加模块,用于根据所述执行模块得到的解码时间,对所述序号N对应的数据帧添加解码时间戳。
[0048]可选的,所述存储单元包括:
[0049]获取模块,用于通过解析所述至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种RTSP转RTMP协议的媒体资源处理方法,其特征在于,所述方法包括:在通过RTSP协议获取流视频数据时,按照持续接收到的至少两个数据帧的先后顺序,对所述至少两个数据帧分别添加解码时间戳;将所述至少两个数据帧存储到预置数据帧缓存链表,在所述预置数据帧缓存链表中所述至少两个数据帧是按照其对应的原始时间戳的先后顺序进行排序的;根据所述至少两个数据帧对应的排序位置,确定所述至少两个数据帧各自对应的显示时间戳;根据所述数据帧对应的解码时间戳和显示时间戳,计算所述数据帧对应的偏移量并将所述偏移量添加至所述数据帧的报文头信息内;逐次从所述预置数据帧缓存链表中提取头指针指向的数据帧,推送至支持RTMP协议的服务器。2.根据权利要求1所述的方法,其特征在于,在所述通过RTSP协议获取流视频数据之后,所述方法还包括:通过解析所述流视频数据对应的图像参数组报文,获取所述流视频数据对应的帧率;根据所述帧率,计算接收每两个相邻数据帧之间的时间间隔。3.根据权利要求2所述的方法,其特征在于,所述按照持续接收到的至少两个数据帧的先后顺序,对所述至少两个数据帧分别添加解码时间戳,包括:根据接收到至少两个数据帧的先后顺序,逐个对所述至少两个数据帧分别添加序号N,所述序号N起始值为0且为整数;获取所述每两个相邻数据帧之间的时间间隔;利用所述时间间隔与所述序号N的乘积,作为所述序号N对应的数据帧的解码时间;根据所述解码时间,对所述序号N对应的数据帧添加解码时间戳。4.根据权利要求1所述的方法,其特征在于,所述将所述至少两个数据帧存储到预置数据帧缓存链表,包括:通过解析所述至少两个各自的数据帧的报文头信息,获取所述至少两个各自的对应的原始时间戳;将所述至少两个数据帧添加到预置数据帧缓存链表;确定所述预置数据帧缓存链表存在的数据帧数目是否达到预设阈值;响应于所述存在的数据帧数目是达到预设阈值,通过比较所述至少两个数据帧对应的原始时间戳,触发所述至少两个数据帧按照其对应原始时间戳的先后顺序进行排序。5.根据权利要求4所述的方法,其特征在于,所述通过比较所述至少两个数据帧对应的原始时间戳,触发所述至少两个数据帧按照其对应原始时间戳的先后顺序进行排序,包括:按照所述至少两个数据帧对应原始时间戳的先后顺序,利用二分排序对所述预置数据帧缓存链表内的所述至少两个数据帧执行排序,其中,所述预置数据帧缓存链表内头指针指向数据帧的原始时间戳早于其他数据帧对应的原始时间戳。6.根据权利要求2所述的方法,其特征在于,所述根据所述至少两个数据帧对应的排序位置...

【专利技术属性】
技术研发人员:董超峰
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1