DESCRIBE之间间隔大概10s才会继續发送下一次请求,而且vlc整个流程都很快很顺利在之前我们也遇到过这种情况,vlc几乎能兼容全部的摄像机这是为什么呢?
我們分配抓了EasyPlayer RTSP播放流程的抓拍和vlc播放流程的抓包:
注:我们都是传入相同的RTSP播放地址给播放器的!
从上面两个抓包流程来看EasyPlayer前后卡了两次,都是在认证阶段而且vlc整个的播放OPTION/DESCRIBE/SETUP/PLAY是在同一秒内完成的,不拖泥带水非常快,我们从上面两幅图找出来了差异:
-
vlc的播放uri是不带用户名密码的是纯粹的播放路径,而且EasyPlayer的播放路径是带了用户名密码的;
结果如抓包推测在大华、以及海康某些摄像机,如果播放URL中携带了用户名密码是无法正常跑通流程的,那么为什么vlc和EasyPlayer都是输入相同的RTSP地址但是播放的却不一样呢?因为VLC经过长期的验证做絀了几点,保证了最大兼容:
- 在用户输入带用户名密码的RTSP地址(rtsp://user:pwd@xxx)后先做用户名密码的拆分,再在RTSP流程中将用户名密码传入;
基于以上兩点EasyPlayer下一个版本发布就会按照这种最大兼容的方案来归档发布!
over TCP/UDP,支持硬解码是一套极佳的RTSP流播放组件;