一种多媒体流传输系统、方法、电子设备及存储介质与流程

文档序号:37916215发布日期:2024-05-10 23:55阅读:14来源:国知局
一种多媒体流传输系统、方法、电子设备及存储介质与流程

本技术涉及数据传输,尤其是涉及一种多媒体流传输系统、方法、电子设备及存储介质。


背景技术:

1、实时传输协议(real-time transport protocol或简写rtp)是一个网络传输协议,用于实时传输音视频数据。该协议提供的信息包括:时间戳(用于同步)、序列号(用于丢包和重排序检测)、以及负载格式(用于说明数据的编码格式)。sip(sessioninitialization protocol,会话初始协议)是由ietf(internet engineering taskforce,因特网工程任务组)制定的多媒体通信协议。如图1所示的传输过程为终端和业务服务基于sip协议建立流信令会话,业务服务和流媒体基于sip协议建立流信令会话,终端和流媒体通过业务服务协商得到对方的地址和端口,流媒体开始向终端发送rtp流,终端发送info媒体控制命令给业务服务,业务服务转发给流媒体。

2、经研究发现,rtp协议中的时间戳采用相对时间,客户端无法得到音视频帧的绝对时间戳,只能根据本机或者视频流开始时间加上相对时间戳计算得到当前帧的实际时间,随着时间延长,使用相对时间计算帧的实际时间误差还会加大,有时候计算得到和时间和实际画面的时间可能相差超过10s。流控制信令需要通过业务服务中转导致流传输和控制通道分离,加大了控制延迟(每多增加一个中转节点大概增加20-50ms延迟),在录像流速较高的情况下控制延迟会对接收端缓冲区冲击比较大,可能会导致接收缓冲溢出。所以,如何对媒体流进行传输成为了不容小觑的技术问题。


技术实现思路

1、有鉴于此,本技术的目的在于提供一种多媒体流传输系统、方法、电子设备及存储介质,实现了解决长时间媒体流传输累计的绝对时间戳误差,请求指令直接从客户端到服务器,不在业务服务模块中转,业务服务模块不再保存媒体流的会话状态,降低业务复杂度和故障率,降低了控制时延。

2、本技术实施例提供了一种多媒体流传输系统,所述多媒体流传输系统包括客户端、业务服务模块以及服务器;其中,所述客户端与所述业务服务模块通信连接,所述业务服务模块与所述服务器通信连接;其中,

3、所述业务服务模块,用于接收所述客户端发送的目标媒体流的url地址获取请求,将所述url地址获取请求发送至所述服务器,将接收到的所述目标媒体流的url地址发送至所述客户端;

4、所述服务器,用于在接收到所述url地址获取请求后确定出所述目标媒体流的url地址,将所述目标媒体流的url地址发送至所述业务服务模块;

5、所述客户端,用于基于所述目标媒体流的url地址获取到服务器的媒体流传输协议,通过所述媒体流传输协议与所述服务器建立连接,连接成功后,基于所述媒体流传输协议的头部的负载类型向所述服务器发送请求指令,以使与所述服务器共同完成所述目标媒体流的信息交互以及所述目标媒体流的执行控制。

6、在一种可能的实施方式之中,所述客户端在用于基于所述媒体流传输协议的头部的负载类型向所述服务器发送请求指令,以使与所述服务器共同完成所述目标媒体流的信息交互以及所述目标媒体流的执行控制时,所述客户端具体用于:

7、若所述请求指令为控制指令时,则将所述媒体流传输协议之中的头部的负载标识更改为第一标识,基于所述媒体流传输协议向所述服务器发送对所述目标媒体流进行控制的命令;其中,所述控制的命令包括返回媒体描述信息命令、播放命令、暂停命令以及关闭命令。

8、在一种可能的实施方式之中,所述客户端在用于基于所述媒体流传输协议的头部的负载类型向所述服务器发送请求指令,以使与所述服务器共同完成所述目标媒体流的信息交互以及所述目标媒体流的执行控制时,所述客户端具体用于:

9、若所述请求指令为获取音频指令时,则将所述媒体流传输协议之中的头部的负载标识更改为第二标识,基于所述媒体流传输协议向所述服务器发送对所述目标媒体流进行获取的命令;其中,该指令下的所述目标媒体流为音频信息;

10、若所述请求指令为获取视频指令时,则将所述媒体流传输协议之中的头部的负载标识更改为第三标识,基于所述媒体流传输协议向所述服务器发送对媒体流进行获取的命令;其中,该指令下的所述目标媒体流为是视频信息。

11、在一种可能的实施方式之中,所述服务器还用于:

12、在接收到所述客户端发送的对所述目标媒体流进行控制的命令之后,控制所述目标媒体流基于所述控制的命令进行执行,确定出执行结果,并将所述执行结果发送至所述客户端。

13、在一种可能的实施方式之中,所述服务器还用于:

14、在接收到所述客户端发送的对所述目标媒体流进行获取的命令之后,将所述目标媒体流的数据封装到所述媒体流传输协议的负载内容中,将所述媒体流的帧类型以及绝对时间戳信息封装在所述媒体流传输协议的头部中,基于所述媒体流传输协议将所述目标媒体流进行分包发送至所述客户端。

15、在一种可能的实施方式之中,所述客户端还用于:

16、在接收到所述服务器发送的目标媒体流的分包数据后,基于分包数量和分包序号判断所述目标媒体流是否传输完成,若传输完成则对所述目标媒体流进行播放,若未传输完成则继续接收所述服务器发送所述目标媒体流的分包数据。

17、在一种可能的实施方式之中,通过以下方式确定出媒体流传输协议;

18、对头部标志、版本号、负载类型、通道号、分包数量、当前分包序号、编码类型、帧类型、绝对时间戳信息、流序号、负载长度以及负载内容按照预设组合规则进行组合,确定出所述媒体流传输协议。

19、本技术实施例还提供了一种多媒体流传输方法,所述多媒体流传输方法包括:控制服务器在接收到所述url地址获取请求后确定出所述目标媒体流的url地址,将所述目标媒体流的url地址发送至业务服务模块之后,控制所述业务服务模块将接收到的所述目标媒体流的url地址发送至客户端;基于所述目标媒体流的url地址获取到服务器的媒体流传输协议,通过所述媒体流传输协议与所述服务器建立连接;连接成功后,基于所述媒体流传输协议的头部的负载类型向所述服务器发送请求指令,以使与所述服务器共同完成所述目标媒体流的信息交互以及所述目标媒体流的执行控制。

20、本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的多媒体流传输方法的步骤。

21、本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的多媒体流传输方法的步骤。

22、本技术实施例提供的一种多媒体流传输系统、方法、电子设备及存储介质,所述多媒体流传输系统包括客户端、业务服务模块以及服务器;其中,所述客户端与所述业务服务模块通信连接,所述业务服务模块与所述服务器通信连接;其中,所述业务服务模块,用于接收所述客户端发送的目标媒体流的url地址获取请求,将所述url地址获取请求发送至所述服务器,将接收到的所述目标媒体流的url地址发送至所述客户端;所述服务器,用于在接收到所述url地址获取请求后确定出所述目标媒体流的url地址,将所述目标媒体流的url地址发送至所述业务服务模块;所述客户端,用于基于所述目标媒体流的url地址获取到服务器的媒体流传输协议,通过所述媒体流传输协议与所述服务器建立连接,连接成功后,基于所述媒体流传输协议的头部的负载类型向所述服务器发送请求指令,以使与所述服务器共同完成所述目标媒体流的信息交互以及所述目标媒体流的执行控制。实现了解决长时间媒体流传输累计的绝对时间戳误差,请求指令直接从客户端到服务器,不在业务服务模块中转,业务服务模块不再保存媒体流的会话状态,降低业务复杂度和故障率,降低了控制时延。

23、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1