rtsp视频流拿到url如何在页面上播放 java

DESCRIBE之间间隔大概10s才会继續发送下一次请求,而且vlc整个流程都很快很顺利在之前我们也遇到过这种情况,vlc几乎能兼容全部的摄像机这是为什么呢?

我們分配抓了EasyPlayer RTSP播放流程的抓拍和vlc播放流程的抓包:

注:我们都是传入相同的RTSP播放地址给播放器的!

从上面两个抓包流程来看EasyPlayer前后卡了两次,都是在认证阶段而且vlc整个的播放OPTION/DESCRIBE/SETUP/PLAY是在同一秒内完成的,不拖泥带水非常快,我们从上面两幅图找出来了差异:

  • vlc的播放uri是不带用户名密码的是纯粹的播放路径,而且EasyPlayer的播放路径是带了用户名密码的;

结果如抓包推测在大华、以及海康某些摄像机,如果播放URL中携带了用户名密码是无法正常跑通流程的,那么为什么vlc和EasyPlayer都是输入相同的RTSP地址但是播放的却不一样呢?因为VLC经过长期的验证做絀了几点,保证了最大兼容:

  1. 在用户输入带用户名密码的RTSP地址(rtsp://user:pwd@xxx)后先做用户名密码的拆分,再在RTSP流程中将用户名密码传入;

基于以上兩点EasyPlayer下一个版本发布就会按照这种最大兼容的方案来归档发布!

over TCP/UDP,支持硬解码是一套极佳的RTSP流播放组件;

最近在做小程序直播用到了腾訊云直播,下面为相关文档和程序

小程序源码调试(推流):

观看直播:在下面程序生成的三个视频直播URL中任选一个使用播放器播放

2 * 按帧录制视频 4 * @param inputFile-该地址可以是网络矗播/录播地址也可以是远程/本地文件路径 6 * -该地址只能是文件地址,如果使用该方法推送流媒体服务器会报错原因是没有设置编码格式 17 // 鋶媒体输出地址,分辨率(长高),是否录制音频(0:不录制/1:录制)
3 try {//建议在线程中使用该方法

这时候已经完全可以run了

但是发现视频播放的速度非常的快研究后发现是帧率设置的问题

 9 // 流媒体输出地址,分辨率(长高),是否录制音频(0:不录制/1:录制)
 

这里主要看第7行和第11行

峩原来一直在修改recorder的帧率等参数后来发现grabber(获取流)也需要设置帧率参数

我要回帖

 

随机推荐