一种播放视频彩铃的方法与流程

文档序号:36628667发布日期:2024-01-06 23:19阅读:16来源:国知局
一种播放视频彩铃的方法与流程

本发明涉及一种视频彩铃,具体涉及一种播放视频彩铃的方法。


背景技术:

1、视频彩铃是一项由被叫用户定制,为主叫用户提供一段悦耳、多彩或有趣的视频媒体来替代普通彩铃的业务。在视频彩铃的播放过程中,解码器读入视频彩铃的视频文件,进行解码,之后转换为rtp报文,通过rtp服务器发送给主叫。其中,解码的流程最消耗cpu资源,导致彩铃服务器负载能力较差。

2、视频彩铃相对于音视频通话,有如下特点:内容相同,同一段彩铃,使用同一格式播放时,其rtp内容完全一样;单向,彩铃服务器向主叫发送rtp报文,主叫不需要回复rtcp(real-time transport control protocol,一种用于实时传输协议rtp的控制协议),进行tmmbr,nack等复杂回馈;允许丢失,作为辅助振铃手段,rtp报文丢失不需要重传等复杂操作;同时,在播放时如果丢失sps/pps报文,则手机端无法进行视频解码,从而导致彩铃播放失败。

3、因此,可根据视频彩铃的特点,提供一种播放视频彩铃的方法,来解决在视频彩铃的播放过程中,解码流程会消耗大量cpu资源,导致彩铃服务器负载能力差的问题。


技术实现思路

1、本发明针对现有技术中的不足,提供一种播放视频彩铃的方法,以解决在视频彩铃的播放过程中,解码流程会消耗大量cpu资源,导致彩铃服务器负载能力差的问题。

2、为实现上述目的,本发明采用以下技术方案:

3、一种播放视频彩铃的方法,其特征在于:将彩铃服务器分为预处理服务器和播放服务器,所述预处理服务器包括解码服务器和录制器,所述播放服务器包括彩铃音频文件、彩铃视频文件和播放器,所述解码服务器用于将视频文件进行解码,并输出为音频和视频的rtp流,解码服务器通过侦听录制器的固定ip和音视频端口,将输出的音频和视频的rtp流推流至录制器;通过录制器分别记录输入的音频和视频的rtp流,并存储至对应的彩铃音频文件和彩铃视频文件中;所述播放器根据音视频解码器选择对应需播放的彩铃音频文件和彩铃视频文件,从彩铃音频文件和彩铃视频文件中读取对应的rtp报文,并分为音频和视频的rtp流分别发送至主叫,以进行播放。

4、为优化上述技术方案,采取的具体措施还包括:

5、进一步地,所述解码服务器包括视频文件、解码器和rtp服务器,所述解码器用于读取视频文件进行解码,并推送至rtp服务器,通过rtp服务器输出为音频和视频的rtp流。

6、进一步地,在解码服务器侦听录制器前,解码服务器通过手工指定录制器的ip地址、录制器用于接收音频和视频的rtp流的音视频端口和音视频编解码器。

7、进一步地,所述彩铃音频文件和彩铃视频文件的底层都采用同样的lv格式进行存储,l为一个4字节unsigned int,存储包含rtp头的rtp报文的长度,v为记录的rtp报文内容,彩铃音频文件和彩铃视频文件分别由数个lv的数组组成。

8、进一步地,所述彩铃音频文件的文件名包括:不包含扩展名部分的原彩铃名称、音频解码器和音频采样率,所述彩铃视频文件的文件名包括:不包含扩展名部分的原彩铃名称、视频解码器和视频分辨率。

9、进一步地,在播放器从彩铃音频文件和彩铃视频文件中读取对应的rtp报文,并分为音频和视频的rtp流分别发送至主叫,以进行播放的过程中,允许定义发送sps/pps报文的次数。

10、进一步地,在播放器根据音视频解码器选择对应需播放的彩铃音频文件和彩铃视频文件,从彩铃音频文件和彩铃视频文件中读取对应的rtp报文,并分为音频和视频的rtp流分别发送至主叫,以进行播放的过程中,具体包括如下步骤:

11、步骤1,输入彩铃音频文件和彩铃视频文件的文件名、rtp的pt和待发送sps/pps报文的次数,通过音视频解码器打开彩铃音频文件和彩铃视频文件,记录对应的sps/pps报文,并初始化全局变量;

12、步骤2,按照配置发送多个sps/pps报文;

13、步骤3,按起始时发送一个视频帧,一个音频帧,等待20ms后,再发送一个音频帧,并等待20ms;如此的发送逻辑,进行重复发送,直至停止彩铃播放。

14、进一步地,所述步骤1包括:输入彩铃音频文件和彩铃视频文件的文件名、rtp的pt和待发送sps/pps报文的次数,通过音视频解码器打开彩铃音频文件和彩铃视频文件;之后,读取第一个彩铃视频报文的sps报文,并修改头部的pt为协商时的pt,并缓存修改后的sps报文,再读取第二个彩铃视频报文的pps报文,并修改头部的pt为协商时的pt,并缓存修改后的pps报文;初始化视频timestamp为-1,初始化视频seq为sps报文的seq,读取第三个彩铃视频报文的i帧作为视频缓存报文。

15、进一步地,所述步骤2包括:当待发送sps/pps报文的次数大于0,且视频缓存报文为i帧时,修改缓存sps报文的seq为视频seq,timestamp为i帧的timestamp,视频seq+1,再发送sps报文,修改缓存pps报文的seq为视频seq,timestamp为i帧的timestamp,视频seq+1,再发送pps报文,将待发送sps/pps报文的次数-1;否则,直接跳至步骤3。

16、进一步地,所述步骤3包括:修改步骤1中的视频缓存报文的seq和pt,视频seq+1,修改头部的pt为协商时的pt,发送修改后的视频缓存报文,并读取下一个视频缓存报文作为缓存;当下一个视频缓存报文读取失败或彩铃结束时,则停止彩铃,否则,进行两个视频缓存报文的timestamp比对;当两个视频缓存报文的timestamp相同时,说明两个视频缓存报文属于同一帧,则将作为缓存的视频缓存报文继续进行修改seq和pt,再发送,直至当两个视频缓存报文的timestamp不同时,说明当前作为缓存的视频缓存报文属于下一帧,此时属于上一帧的修改后的视频缓存报文已发送完成;之后,读取一个音频报文,修改音频报文头部的pt为协商时的pt并发送,并休眠20ms;之后,若彩铃结束,则停止彩铃,否则,继续读取一个音频报文,修改音频报文头部的pt为协商时的pt并发送,并休眠20ms;再重复步骤2至步骤3,直至停止彩铃。

17、本发明的有益效果是:

18、本发明通过将音视频解码流程从彩铃播放流程中剥离出来,单独作为预处理过程,将解码的rtp报文记录到对应的彩铃音频文件和彩铃视频文件中;在播放时,只需要取出记录的rtp报文,进行修改,直接发送,而不需要再进行音视频解码,从而大大减少彩铃播放过程中的cpu消耗。本发明通过允许定义发送关键信息sps/pps报文的次数,防止彩铃播放失败;并提供了rtp报文的修改方式和rtp报文的发送规律等技术方案,以保证彩铃播放顺利。



技术特征:

1.一种播放视频彩铃的方法,其特征在于:将彩铃服务器分为预处理服务器和播放服务器,所述预处理服务器包括解码服务器和录制器,所述播放服务器包括彩铃音频文件、彩铃视频文件和播放器,所述解码服务器用于将视频文件进行解码,并输出为音频和视频的rtp流,解码服务器通过侦听录制器的固定ip和音视频端口,将输出的音频和视频的rtp流推流至录制器;通过录制器分别记录输入的音频和视频的rtp流,并存储至对应的彩铃音频文件和彩铃视频文件中;所述播放器根据音视频解码器选择对应需播放的彩铃音频文件和彩铃视频文件,从彩铃音频文件和彩铃视频文件中读取对应的rtp报文,并分为音频和视频的rtp流分别发送至主叫,以进行播放。

2.根据权利要求1所述的一种播放视频彩铃的方法,其特征在于:所述解码服务器包括视频文件、解码器和rtp服务器,所述解码器用于读取视频文件进行解码,并推送至rtp服务器,通过rtp服务器输出为音频和视频的rtp流。

3.根据权利要求1所述的一种播放视频彩铃的方法,其特征在于:在解码服务器侦听录制器前,解码服务器通过手工指定录制器的ip地址、录制器用于接收音频和视频的rtp流的音视频端口和音视频编解码器。

4.根据权利要求1所述的一种播放视频彩铃的方法,其特征在于:所述彩铃音频文件和彩铃视频文件的底层都采用同样的lv格式进行存储,l为一个4字节unsigned int,存储包含rtp头的rtp报文的长度,v为记录的rtp报文内容,彩铃音频文件和彩铃视频文件分别由数个lv的数组组成。

5.根据权利要求1所述的一种播放视频彩铃的方法,其特征在于:所述彩铃音频文件的文件名包括:不包含扩展名部分的原彩铃名称、音频解码器和音频采样率,所述彩铃视频文件的文件名包括:不包含扩展名部分的原彩铃名称、视频解码器和视频分辨率。

6.根据权利要求1所述的一种播放视频彩铃的方法,其特征在于:在播放器从彩铃音频文件和彩铃视频文件中读取对应的rtp报文,并分为音频和视频的rtp流分别发送至主叫,以进行播放的过程中,允许定义发送sps/pps报文的次数。

7.根据权利要求1所述的一种播放视频彩铃的方法,其特征在于:在播放器根据音视频解码器选择对应需播放的彩铃音频文件和彩铃视频文件,从彩铃音频文件和彩铃视频文件中读取对应的rtp报文,并分为音频和视频的rtp流分别发送至主叫,以进行播放的过程中,具体包括如下步骤:

8.根据权利要求7所述的一种播放视频彩铃的方法,其特征在于:所述步骤1包括:输入彩铃音频文件和彩铃视频文件的文件名、rtp的pt和待发送sps/pps报文的次数,通过音视频解码器打开彩铃音频文件和彩铃视频文件;之后,读取第一个彩铃视频报文的sps报文,并修改头部的pt为协商时的pt,并缓存修改后的sps报文,再读取第二个彩铃视频报文的pps报文,并修改头部的pt为协商时的pt,并缓存修改后的pps报文;初始化视频timestamp为-1,初始化视频seq为sps报文的seq,读取第三个彩铃视频报文的i帧作为视频缓存报文。

9.根据权利要求8所述的一种播放视频彩铃的方法,其特征在于:所述步骤2包括:当待发送sps/pps报文的次数大于0,且视频缓存报文为i帧时,修改缓存sps报文的seq为视频seq,timestamp为i帧的timestamp,视频seq+1,再发送sps报文,修改缓存pps报文的seq为视频seq,timestamp为i帧的timestamp,视频seq+1,再发送pps报文,将待发送sps/pps报文的次数-1;否则,直接跳至步骤3。

10.根据权利要求9所述的一种播放视频彩铃的方法,其特征在于:所述步骤3包括:修改步骤1中的视频缓存报文的seq和pt,视频seq+1,修改头部的pt为协商时的pt,发送修改后的视频缓存报文,并读取下一个视频缓存报文作为缓存;当下一个视频缓存报文读取失败或彩铃结束时,则停止彩铃,否则,进行两个视频缓存报文的timestamp比对;当两个视频缓存报文的timestamp相同时,说明两个视频缓存报文属于同一帧,则将作为缓存的视频缓存报文继续进行修改seq和pt,再发送,直至当两个视频缓存报文的timestamp不同时,说明当前作为缓存的视频缓存报文属于下一帧,此时属于上一帧的修改后的视频缓存报文已发送完成;之后,读取一个音频报文,修改音频报文头部的pt为协商时的pt并发送,并休眠20ms;之后,若彩铃结束,则停止彩铃,否则,继续读取一个音频报文,修改音频报文头部的pt为协商时的pt并发送,并休眠20ms;再重复步骤2至步骤3,直至停止彩铃。


技术总结
本发明公开了一种播放视频彩铃的方法:将彩铃服务器分为预处理服务器和播放服务器,预处理服务器包括解码服务器和录制器,播放服务器包括彩铃音频文件、彩铃视频文件和播放器,解码服务器将视频文件进行解码,并输出为音频和视频的RTP流,解码服务器将输出的音频和视频的RTP流推流至录制器;录制器分别记录输入的音频和视频的RTP流并存储;播放器从彩铃音频文件和彩铃视频文件中读取RTP报文,分为音频和视频的RTP流发送至主叫。本发明通过将音视频解码流程从彩铃播放流程中剥离,单独作为预处理过程,将解码的RTP报文记录到对应的彩铃音频文件和彩铃视频文件中;在播放时,只不需要再进行音视频解码,从而减少CPU消耗。

技术研发人员:王斌,雷震,李滨,樊嘉琛,牟乐,王雪莹
受保护的技术使用者:中电信数智科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1