多媒体编程之rtp负载类型处理

在做sip、GB28181或者其他网络视频的业友们肯定会遇到这样的问题:rtp负载中的媒体数据会有多种类型,如负载为音视频数据PS包、音视频基本流包、MPEG-4视频流包、H.264视频流包、SVAC视频流包、音频流包(见GB28181-2001,附录C)等。我们该怎么得知负载为哪种封包格式,知道了具体的封包格式后又该如何解析为可以使用播放器播放的媒体数据?今天我们就一起来聊一聊这个话题,鉴于经验有限,本节我们只探讨负载媒体类型为视频的情况,对于负载类型为音频类型,待后续研究的有收获后再和大家分享。

开始我们的正题,首先我们的视频流是通过rtp包传输的,如果符合标准,发送方应该在rtp包的包头(见下图)的‘PT’域中说明rtp负载中的视频分包类型,如果负载为音视频数据PS包该值应该为96,如果负载为MPEG-4视频流包则该值为97,如果负载为H.264视频流包则该值为98,等。

通过上面的介绍,我们已经能知道负载的封包格式,知道了负载的封包格式后,我们改怎么样进行后续的解包操作呢?这个简单,如果负载为音视频数据PS包那么我们按照RFC2250中规定的封装格式去解析负载数据包,如果负载是H.264视频流包那么我们按照RFC3984的规定去解析负载数据包(这些规定详见GB28181-2001,附录C)

本文提到的相关资料获取:

RFC3984

RFC2250

 

 



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heibao111728

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值