Rtsp/rtp音视频流转换为ts流并通过asi接口输出的方法和装置的制造方法

文档序号:9730534阅读:732来源:国知局
Rtsp/rtp音视频流转换为ts流并通过asi接口输出的方法和装置的制造方法
【专利说明】RTSP/RTP音视频流转换为TS流并通过ASI接口输出的方法和装置
技术领域
[0001]本发明涉及发送和接收流传输数据的技术领域,具体来说,本发明涉及一种RTSP/RTP音视频流(内容)转换为TS流并通过ASI接口输出的方法和装置。
【背景技术】
[0002]一般地,实时流传输协议(RTSP)与实时传输协议(RTP) 一起被使用,其中RTSP用于发送端与接收端的会话,而RTP用于传输音视频内容。
[0003]在视频监控领域,IP摄像头大都是通过RTSP/RTP协议输出音视频内容,但是RTSP/RTP协议是一种基于TCP/IP的协议,所以只能在IP网络上使用,无法在有线数字电视网或者无线数字电视网中使用。而在数字电视领域,有线数字电视网或者无线数字电视网中音视频内容只能是传输流(TS流)格式的,而且有线数字电视网和无线数字电视网的局端设备的数字音视频接口基本都是如DVB异步接口等异步串行接口(Asynchronous SerialInterface,简称ASI接口)。

【发明内容】

[0004]本发明所要解决的技术问题是在视频监控领域和数字电视领域之间建立一个数据桥梁,提供一种将视频监控领域的RTSP/RTP音视频流转换为TS流并通过ASI接口输出的方法和装置,以用于数字电视领域。
[0005]为解决上述技术问题,本发明提供一种RTSP/RTP音视频流转换为TS流并通过ASI接口输出的方法,包括如下步骤:
[0006]A.通过RTSP协议建立与一网络视频发送端的RTSP连接,获取所述网络视频发送端发送的音视频流的音频解码信息和视频解码信息;
[0007]B.建立所述音视频流发送的RTP通道和接收端口,通知所述网络视频发送端发送所述音视频流的RTP包;
[0008]C.在不同的所述接收端口接收所述音视频流的音频RTP包和视频RTP包,通过所述音频RTP包和所述视频RTP包上携带的时间信息分别分割音频帧和视频帧,并将所述时间信息暂存起来;
[0009]D.将所述音频帧和所述视频帧的所有RTP包头分别去掉,然后将其余数据分别组合成一个完整的原始音频帧和一个完整的原始视频帧;
[0010]E.在所述原始音频帧的头部加上所述音频解码信息,在所述原始视频帧的I帧头部加上所述视频解码信息;
[0011 ] F.根据每一个音频帧的第一个所述音频RTP包和每一个视频帧的第一个所述视频RTP包暂存的所述时间信息,结合所述音频解码信息和所述视频解码信息中的采样率信息,分别计算出每一个所述原始音频帧和每一个所述原始视频帧的PTS值;
[0012]G.根据所述原始音频帧的DTS = PTS,所述原始视频帧中I帧的DTS = PTS-帧间隔,所述原始视频帧中其余帧的DTS =上一帧的DTS+帧间隔的方法,分别计算出所述原始音频帧和所述原始视频帧的DTS值;
[0013]H.按照DTS递增原则,统一重新排序所述原始音频帧和所述原始视频帧;
[0014]1.将所述原始音频帧和其PTS值以及所述原始视频帧和其PTS值、DTS值分别打包成一个或多个PES包,所述原始音频帧的所述PTS值和所述原始视频帧的所述PTS值、所述DTS值只分别出现在各自的第一个所述PES包中,每个所述PES包最大为65541字节,再将所述PES包按照TS格式,分割成一个或多个188字节或者204字节的TS包;
[0015]J.按照PCR = DTS-经验值的方法,计算出所述TS流的PCR值,并且在所述视频帧和所述音频帧的所述DTS值间隔超过一小于100ms的值的时候插入一 PCR包;
[0016]K.将所述音频帧的所述TS包、所述视频帧的所述TS包和所述PCR包,一起写入一先入先出的缓冲存储器中;以及
[0017]L.按照设定的所述ASI接口的输出码率,读取存储有所述音频帧的TS包、所述视频帧的TS包和所述PCR包的所述缓冲存储器,其中每隔一不超过100ms的时间间隔,插入所述TS流所必须的一个188字节或者204字节的PAT包和一个188字节或者204字节的PMT包输出到所述ASI接口;其中,设定的所述ASI接口的所述输出码率必须大于所述RTSP/RTP音视频流的码率。
[0018]可选地,在上述步骤L中,通过在所述缓冲存储器中适时插入空TS包以适配所述ASI接口的所述输出码率,实现所述ASI接口的恒定码率输出;其中,如果所述缓冲存储器中的数据量大于等于188字节或者204字节,那么就直接读取188字节或者204字节的数据输出到所述ASI接口;如果所述缓冲存储器中的数据量小于188字节或者204字节,那么就插入一个188字节或者204字节的所述空TS包输出到所述ASI接口,实现所述ASI接口的恒定码率输出。
[0019]可选地,在上述步骤C中,对于发送到同一个所述接收端口的所述音频RTP包或者所述视频RTP包,如果所述时间信息完全相同,那么这些所述音频RTP包或者所述视频RTP包都属于同一个所述音频帧或者同一个所述视频帧。
[0020]可选地,在上述步骤F中,PTS =时间信息*90000/采样率;由于原始的所述时间信息为32位,所以在计算之前,需要将所述时间信息扩展为64位,然后再进行计算;其中,扩展所述时间信息的方法为:64位的所述时间信息低32位等于原始的所述时间信息,当原始的所述时间信息出现翻转,那么64位的所述时间信息高32位累加1。
[0021]可选地,在上述步骤G中,所述帧间隔指的是所述原始视频帧的连续两帧之间的时间间隔值,其时间单位为1 /90000秒。
[0022]为解决上述技术问题,本发明还提供一种RTSP/RTP音视频流转换为TS流并通过ASI接口输出的装置,包括:
[0023]解码信息获取模块,通过RTSP协议建立与一网络视频发送端的RTSP连接,获取所述网络视频发送端发送的音视频流的音频解码信息和视频解码信息;
[0024]通道和端口建立模块,建立所述音视频流发送的RTP通道和接收端口,通知所述网络视频发送端发送所述音视频流的RTP包;
[0025]音视频帧分割模块,在不同的所述接收端口接收所述音视频流的音频RTP包和视频RTP包,通过所述音频RTP包和所述视频RTP包上携带的时间信息分别分割音频帧和视频帧,并将所述时间信息暂存起来;
[0026]包头去除和音视频帧组合模块,将所述音频帧和所述视频帧的所有RTP包头分别去掉,然后将其余数据分别组合成一个完整的原始音频帧和一个完整的原始视频帧;
[0027]解码信息添加模块,在所述原始音频帧的头部加上所述音频解码信息,在所述原始视频帧的I帧头部加上所述视频解码信息;
[0028]PTS值计算模块,根据每一个音频帧的第一个所述音频RTP包和每一个视频帧的第一个所述视频RTP包暂存的所述时间信息,结合所述音频解码信息和所述视频解码信息中的采样率信息,分别计算出每一个所述原始音频帧和每一个所述原始视频帧的PTS值;
[0029]DTS值计算模块,根据所述原始音频帧的DTS = PTS,所述原始视频帧中I帧的DTS =PTS-帧间隔,所述原始视频帧中其余帧的DTS =上一帧的DTS+帧间隔的方法,分别计算出所述原始音频帧和所述原始视频帧的DTS值;
[0030]音视频帧排序模块,按照DTS递增原则,统一重新排序所述原始音频帧和所述原始视频帧;
[0031]打包和分割模块,将所述原始音频帧和其PTS值以及所述原始视频帧和其PTS值、DTS值分别打包成一个或多个PES包,所述原始音频帧的所述PTS值和所述原始视频帧的所述PTS值、所述DTS值只分别出现在各自的第一个所述PES包中,每个所述PES包最大为65541字节,再将所述PES包按照TS格式,分割成一个或多个188字节或者204字节的TS包;
[0032]PCR值计算和PCR包插入模块,按照PCR = DTS_经验值的方法,计算出所述TS流的PCR值,并且在所述视频帧和所述音频帧的所述DTS值间隔超过一小于100ms的值的时候插入一 PCR包;
[0033]
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1