我正在尝试根据Java实现RTSP协议http://www.csee.umbc.edu/~pmundur/courses/CMSC691C/lab5-kurose-ross.html http://www.csee.umbc.edu/~pmundur/courses/CMSC691C/lab5-kurose-ross.html例子;我已经成功通过 RTSP 请求和流 RTP 数据包与 VLC 成功通信; VLC 无法很好地识别带有 JPEG 负载的 RTP 数据包;这就是为什么我认为我发送了格式错误的 RTP。我用wireshark嗅探它们,并将它们与数据包进行比较,从gstreamer RTSP流媒体和VLc的成功RTSP通信中嗅探。让我惊讶的是,我的应用程序和 VLC 的 RTSP 和 RTP 请求在wireshark UI 中都被标记为简单的 TCP 和 UDP 数据包,而 gstreamer&VLC 的请求被标记为 RTSP、RTP、RTCP,甚至 RTSP/SDP。
我真的很困惑,我不明白为什么在某些情况下VLC的请求被wireshark解析为纯RTSP/RTP,而我的情况是纯TCP/UDP数据。至少,VLC 的请求没有格式错误,即使我的请求格式错误。
我怎样才能强制wireshark将该请求识别为某些特定协议?
右键单击数据包并选择“解码为...”。然后在“传输”协议列表中选择“RTP”。
如果你想解码一些定制的协议,你就必须获取或编译一个解析器,这可能会很麻烦......幸运的是,PCAP格式很简单,直接插入它很容易(我碰巧刚刚做了上周,如果我的老板同意,我可能会将其开源)。
感谢 @GuyHarris,他指出,当检测到启动 RTP 会话的 SDP 数据包时,会执行自动 RTP 解码。里面还有一个选项“编辑 > 首选项“菜单,选择”RTP“ 在下面 ”协议“ 树: ”尝试在对话之外解码 RTP".
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)