IP摄像头...VLC懂得进...

JeremyChenX 2013-12-15 08:23:56
情况是这样的:

单位分别购置了二个不同厂家的摄像头

厂家一:

摄像头可以直接访问Http:192.168.1.101/index.html就可以得到画面 如图:



然后我安装了个vlc播放器,镶嵌到网页中,得到如下画面:




问题:

现在把摄像头架设到外网,通过外网ip+端口 访问,在vlc地址输入rtsp://外网ip地址/index.html 则访问不到视频,说无法播放.但是输入http://外网ip地址/index.html得到的效果和图一 是一样的效果,可以看到视频画面。


厂家二:

该摄像头需要事先登录,才可以进行页面访问,登录成功后跳转 http://ip地址/index.html可以访问单个摄像头页面,而在vlc中,输入如上rtsp地址,根本都访问不到...

问题:如何能通过vlc直接读取rtsp视频流?

如果要进行二次开发,该如何开发?说下具体流程..

求大神指教,小弟叩谢....
...全文
6336 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdjnpro 2014-11-07
  • 打赏
  • 举报
回复
个人感觉 rtsp 格式如13# 所示 rtsp://ip//XXX 此地址代表一个 服务(个人理解,可能用词不准确) 不应该是 网页(xxx.html)的地址
钱国正 2014-02-07
  • 打赏
  • 举报
回复
呀,楼上的都是些啥啊,不就是不知道怎么访问ip camera嘛。 我就是做这个东西的。 在你的网页里面找有关rtsp字眼,看到后,输入下面的uri把后面xxxx的换成你发现的. rtsp://192.168.1.10/xxxx
xiao17174 2014-01-13
  • 打赏
  • 举报
回复
我又仔细看了下你的描述,你提到的外网访问设备问题.如果你把设备映射到外网,你要注意端口问题.你访问http的话你只需要设备开放80端口.而且使用RTSP协议的话.一般情况下,还需要设备开放554端口或者8557端口来进行信令交互,同时,一旦握手成功,设备和VLC之间的视频数据传输还需要打开另外的随机端口. 也就是说你如果是映射一个设备,那就要把设备的以上几个端口都映射出去.所以我认为你之所以VLC看不了是因为你端口没有映射全.至于为什么你在外网用网页可以看到设备的视频,我个人猜测你是映射了80端口,以及还有一个设备私有协议使用的端口.而他们的网页就是使用私有协议进行取流播放的. 总结一下,如果你是希望以外网的方式用RTSP协议去连接一个设备,那么需要设备开放的是554或8557端口,还需要映射随机的数据端口,所以说RTSP这样的方式不适合把设备映射到外网,还是需要自己做一个转发.
xiao17174 2014-01-13
  • 打赏
  • 举报
回复
更正一下,结尾不是.html
引用 10 楼 xiao17174 的回复:
哈哈.同行.你的问题我知道.第一个头子是潮流的吧.他的设备的RTSP地址格式如下:[主码流]rtsp://xxx.xxx.xxx.xxx/0;[次码流]rtsp://xxx.xxx.xxx.xxx/4;你把这个地址给VLC.他就能播了.结尾是.html.比如rtsp://192.168.1.1/0 另外给你科谱下,http协议和rtsp协议是完全不同的.VLC能解析的是rtsp格式的视频流. http开头的肯定不行的.这是网络报文.你用的Http:192.168.1.101/index.html这个地址只是访问了设备里的一个网页服务器.说白了你用IE访问的是一个网站.这个网站可以让你看视频.跟优酷一样. 但是RTSP协议是一种视频传输协议,它规定了一系列的握手信令.当VLC拿到你给的RTSP地址后,他先解析出IP地址,然后向目标IP发送试探信令OPTION.如果对方正确的回应了,它会继续发DESCRIBE,SETUP,PLAY的信令,当设备收到最后一个PALY信令后,开始把数据流发给VLC.这中间每一步都是有规范的.其中有一步不对,就认为对方不支持RTSP协议从而断开设备连接了.而在信令握手中,VLC会把你给的RTSP地址中IP后面的/0或者/4作为请求的具体内容发给设备,设备认为自己有这个内容就完成握手.如果没有.就断开了. 说白了,用VLC播放摄像头,一定要问厂商这个设备的RTSP地址格式.不然自己猜是猜不出来的.对了,也可以用ONVIF协议获取到.
xiao17174 2014-01-13
  • 打赏
  • 举报
回复
哈哈.同行.你的问题我知道.第一个头子是潮流的吧.他的设备的RTSP地址格式如下:[主码流]rtsp://xxx.xxx.xxx.xxx/0;[次码流]rtsp://xxx.xxx.xxx.xxx/4;你把这个地址给VLC.他就能播了.结尾是.html.比如rtsp://192.168.1.1/0 另外给你科谱下,http协议和rtsp协议是完全不同的.VLC能解析的是rtsp格式的视频流. http开头的肯定不行的.这是网络报文.你用的Http:192.168.1.101/index.html这个地址只是访问了设备里的一个网页服务器.说白了你用IE访问的是一个网站.这个网站可以让你看视频.跟优酷一样. 但是RTSP协议是一种视频传输协议,它规定了一系列的握手信令.当VLC拿到你给的RTSP地址后,他先解析出IP地址,然后向目标IP发送试探信令OPTION.如果对方正确的回应了,它会继续发DESCRIBE,SETUP,PLAY的信令,当设备收到最后一个PALY信令后,开始把数据流发给VLC.这中间每一步都是有规范的.其中有一步不对,就认为对方不支持RTSP协议从而断开设备连接了.而在信令握手中,VLC会把你给的RTSP地址中IP后面的/0或者/4作为请求的具体内容发给设备,设备认为自己有这个内容就完成握手.如果没有.就断开了. 说白了,用VLC播放摄像头,一定要问厂商这个设备的RTSP地址格式.不然自己猜是猜不出来的.对了,也可以用ONVIF协议获取到.
smilestone322 2014-01-06
  • 打赏
  • 举报
回复
是不是端口映射问题
ayuppie 2013-12-23
  • 打赏
  • 举报
回复
这两个ipc,确认支持RTSP输出没有?
pcvvv 2013-12-19
  • 打赏
  • 举报
回复
rtsp地址通常不会是rtsp://外网ip地址/index.html 。这个地址要从网页上分析获取,也可以抓包分析。如果是rtsp的话,拿到实际rtsp地址后,vlc可以直接播放,不需要转发什么的。 个人经验,摄像头不会对请求地址做过滤的。
JeremyChenX 2013-12-17
  • 打赏
  • 举报
回复
引用 4 楼 sunny7862632 的回复:
[quote=引用 3 楼 NobodyCanHelpMe 的回复:] [quote=引用 2 楼 sunny7862632 的回复:] 二次开放就做个流媒体转发服务器
厂家那边给了一对dll文件...然后我自己写个流媒体转发服务器? vlc也可以当流媒体服务器的,根本就读不了 如何转发?[/quote] 在内网做转发啊,内网是可以接收到的吧,然后转发出去[/quote] 嗯,我尝试性的内网转发一下 看看
sunny7862632 2013-12-16
  • 打赏
  • 举报
回复
二次开放就做个流媒体转发服务器
JeremyChenX 2013-12-16
  • 打赏
  • 举报
回复
...就这样沉了吗?
sunny7862632 2013-12-16
  • 打赏
  • 举报
回复
引用 3 楼 NobodyCanHelpMe 的回复:
[quote=引用 2 楼 sunny7862632 的回复:] 二次开放就做个流媒体转发服务器
厂家那边给了一对dll文件...然后我自己写个流媒体转发服务器? vlc也可以当流媒体服务器的,根本就读不了 如何转发?[/quote] 在内网做转发啊,内网是可以接收到的吧,然后转发出去
JeremyChenX 2013-12-16
  • 打赏
  • 举报
回复
引用 2 楼 sunny7862632 的回复:
二次开放就做个流媒体转发服务器
厂家那边给了一对dll文件...然后我自己写个流媒体转发服务器? vlc也可以当流媒体服务器的,根本就读不了 如何转发?

2,543

社区成员

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

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