帮我看一下这个RTP的载荷类型是什么.怎么解RTP包.

xiao17174 2012-09-29 04:40:52
我得到远端RTSP源是Linux下的fenice-1.11作为流服务器.我收取它的视频流.得到如下SDP包
v=0
o=- 1 1 IN IP4 127.0.0.1
s=GM Live
i=ICL Streaming Media
c=IN IP4 0.0.0.0
t=0 0
m=video 0 RTP/AVP 99
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42A01E;packetization-mode=1;sprop-parameter-sets=Z0IAKOkCw/I=,aM44gA==
a=control:trackID=0

问题出在它不是96.却在rtpmap:99 H264/90000这里写着H264.VLC可以播放它的视频.可我抓到它的包.
0040 ... ... ... ... ... ... 10000000 01100011 .C$....c
0048 00011111 10010001 00000000 00001010 01101010 10111011 11110001 01001111 ....j..O
0050 10000001 01110001 01011100 00000001 01011111 11111001 10110101 10101111 .q\._...
0058 10111011 11011101 11111100 10010101 01011110 01111101 10111111 01111001 ....^}.y
0060 00111111 00010001 11001001 11000001 00001101 01101011 01111010 11101111 ?....kz.
的确是写着载荷99.但我用RFC2198定义的99格式去解却是错的.现在我想知道我应该怎么解这个包,得到NALU.
...全文
412 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
javamy003 2013-01-23
  • 打赏
  • 举报
回复
呵呵,有机会再来看看
xiao17174 2012-10-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你想问什么?因为rtsp如果是rtp也在tcp上的话,会有4字节头部的。sdp里面含参数集。想要提取码流也很简单,找到sdp获取参数集,然后解析出每个rtp包,写成raw格式的码流,很多播放器都可以播放的。99,96这些只是一个数字,只要在动态负载类型范围内都可以,毕竟是由MIME表示决定具体的码流类型的。
[/Quote]

我想手动解通过RTSP服务端获取的这个RTP的包(这是一个高清摄像头).得到H264的NALU.但是在解包的时候必须得根据RTP头说明的载荷类型来进行提取载荷数据.
用你的话就是"找到sdp获取参数集,然后解析出每个rtp包".
现在的情况是它的载荷类型是99,我就不知道怎么解析出每个RTP包了.
matlab2000 2012-10-28
  • 打赏
  • 举报
回复
你想问什么?因为rtsp如果是rtp也在tcp上的话,会有4字节头部的。sdp里面含参数集。想要提取码流也很简单,找到sdp获取参数集,然后解析出每个rtp包,写成raw格式的码流,很多播放器都可以播放的。99,96这些只是一个数字,只要在动态负载类型范围内都可以,毕竟是由MIME表示决定具体的码流类型的。
rightorwrong 2012-10-08
  • 打赏
  • 举报
回复
抓包的时候显示成16进制,2进制看不过来

2,542

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧