vlc通过rtsp地址向ipc取流播放不了问题排查

lynsen lynsen     2023-05-03     626

关键词:

问题现象:现场hik ipc在vlc通过rtsp取流地址(rtsp://admin:xxxxxxxx@44.110.81.45:554/Streaming/Channels/101?transportmode=unicast)取流,发现vlc界面并没有画面,但是看编码统计却是有收到码流包的。而且换另一个ipc可以预览,仅仅这个可以而已。

分析:据我所了解,rtsp取流跟onvif是一致的,也就是根据报文交互来确定取流、发流的相关属性。思路:分别抓包,看报文,对比,猜测,验证。

首先抓了个能预览的:

技术图片

 

 来的码流包是RTP?纳尼,发现了些什么东西。熟悉的作案手法,RTP分析一波:

技术图片

 丢包率看起来还稍微能接收的样子。此时想起现场反馈过这个ipc能预览,但是有时会卡,猜测就是这1%+的丢包所致,继续看其他的:

技术图片

 另外一个是UDP,转RTP分析看看:

技术图片

 WC!这丢包率能播放就神奇了,再看另一个,

技术图片

 好吧,基本上能确定是网络丢包所导致的。但是平常见到hik rtsp取流不都是tcp吗,怎么这里是udp的?问了下,才知道原来vlc可以设置的。

技术图片

 默认是通过HTTP进行流传输,也就是udp,网络不太好的时候,要改成tcp才行。测试一发,果然没问题。

到这里问题是查出原因了,接下来继续了解下rtsp吧!抓一下tcp和udp的报文,compare对比一下看看有何差异:

技术图片

就是SETUP指令,这里默认是通过UDP进行流传输,指定TCP后才会通过tcp流传输。

 

然后看到这篇文章,讲解很详细!转载一下:RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比,好像链接不太稳定,贴一下以留着自己记录吧。

以下内容转载:

下面是我用VLC播放器获取海康NVR视频的截图(此次获取是基于TCP的):

技术图片

下面来看一下针对每一条消息的详细截图:

客户端发送的OPTION消息:

技术图片

服务器对OPTION回复的200OK消息:

技术图片

客户端发送的DESCRIBE不带鉴权的消息:

技术图片

服务器回复的401消息:

技术图片

客户端请求带鉴权的DESCRIBE消息:

技术图片

服务器回复200OK消息带SDP消息体:

技术图片

客户端请求的SETUP消息:

技术图片

服务器对SETUP回复的200OK消息:

技术图片

客户端发起PLAY消息:

技术图片

服务器针对PLAY回复的200OK消息:

技术图片

服务器发送完PLAY的200OK消息以后就开始发送数据,RTP基于TCP的数据传输截图如下:

技术图片

技术图片

客户端发送的TEARDOWN消息:

技术图片

VLC停止播放时没有收到服务器针对TEARDOWN消息发送的200OK消息,不知道是什么原因,初步怀疑是海康NVR没有发送这个消息。

以上是基于TCP的截图,下面是针对UDP的截图,只截取和TCP不同的部分,相同的部分不再截图,请参考TCP截图:

第一个不同点是SETUP消息及回复部分:

技术图片

技术图片

数据传输部分:

技术图片

总结:以上是RTP基于TCP和UDP传输数据不同的地方

onvif协议接入分析学习总结(设备取流)

...80/onvif/device_service),一般需要知道Devicemgmt的地址就可以通过这个协议地址往下操作。如果你不知道IPC的ip以及port等信息,那你就需要使用一些Onvif的测试工具如ONVIFDeviceTestTool和ONVIFDeviceManager通过Onvif的Discovery协议(广播发现)... 查看详情

海康威视rtsp取流问题?

海康威视摄像头通过VLC插件播放rtsp流视频,报错连接失败,求问摄像头需要做什么配置吗?参考技术A1、先确认rtsp协议是否正确,ip:port、user/pwd等还有相关拼写是否符合海康的标准;2、ping检查网络,ping对应ip是否通;检查对... 查看详情

mobilevlckit播放rtsp流时,设置tcp协议的问题

...leVLCKit.framework的vlc播放器时,因为没有设置TCP协议,一直取流失败,找了好久也没有在vlc库文件中发现设置TCP的接口。经过和小组成员一番摸索,最后找到了处理办法:如下:不足之处,还请多多指教。有需要ijkplayerdemo或者有... 查看详情

用vlc读取摄像头产生rtsp流,dss侦听并转发

...,DSS主动取流转发(一)》本文介绍另一种方法。摄像机地址是192.1.101.51,VLC运行在192.1.101.77上,DSS服务器架设在192.1.101.30上,二级DSS服务器(可选)架设在192.1.101.78上。 Step1:VLC从摄像机取流,产 查看详情

海康威视如何直接添加rtsp流?

...米摄像头hack后,开启了RTSP流服务,端口默认554,输出为地址rtsp://IP/unicast,没有用户名和密码登录,VLC可以直接访问。请问海康威视如何直接添加这个RTSP流为通道并且录像?请不要答非所问参考技术A如果是录像机添加的话,通... 查看详情

在 VLC 播放器中播放 RTSP 流

】在VLC播放器中播放RTSP流【英文标题】:PlayingRTSPstreaminVLCplayer【发布时间】:2011-08-1808:29:37【问题描述】:我正在尝试用java制作一个简单的rtsp流服务器。服务器能够将视频正确地流式传输到自定义写入的播放器。我无法在vlc... 查看详情

使用移动 VLC 在 iOS 上播放 rtsp 流时出现绿屏

...iOS【发布时间】:2015-04-2803:24:55【问题描述】:我在iOS上通过mobileVLCKit.framework有一个基于VLC的播放器。在执行和播放h264rtsp流时,iPhone将正确显示视频。但是,在开始的几秒钟内,显示绿色屏幕。我想原因是I-Fra 查看详情

easycvr视频融合云服务平台rtsp格式拉流异常问题的排查与解决

进一步深入排查,发现在RTSP的地址栏中存在特殊符号,因此在双击复制的过程中将特殊符号也进行了复制,导致在EasyCVR的平台中无法识别,但使用VLC可以正常播放。所以我们提醒用户,在操作的过程中需要注意这种特殊符号的... 查看详情

海康rtsp取流url格式

参考技术A一、预览取流设备预览取流的RTSPURL有新老版本,2012年之前的设备(比如V2.0版本的Netra设备)支持老的取流格式,之后的设备新老取流格式都支持。RTSP.jpg1、老版本URL规定:rtsp://username:password@<ipaddress>/<videotype>... 查看详情

在网站上嵌入 VLC 插件以播放 RTSP 流

】在网站上嵌入VLC插件以播放RTSP流【英文标题】:EmbedingVLCpluginonwebsitetoplayRTSPstream【发布时间】:2013-12-2207:06:07【问题描述】:我需要打开rtsp流。我有以下适用于Firefox和Chrome的代码:<embedwmode="transparent"id="vlc_1"pluginspage="http:/... 查看详情

vlc-2.2.1播放rtsp流,画面不清与卡顿问题处理

参考技术Avlc-vvv启动vlc,看调试打印,有如下信息:vlcpictureistoolatetobedisplayed(missing30ms)Morethan4lateframes,droppingframe解决方法:升级vlc-2.2.1到vlc-3.0.8。 查看详情

easynvr无法对接新版海康平台rtsp取流机制怎么解决?

...c;获取视频播放需要调用海康的API获取到一个临时的RTSP流地址,这个流地址会在大约10分钟后不播的时候显示过期。而EasyNVR平台并没有根据这个情况去做个针对性的调整,目前 查看详情

vlc播放rtsp抓包分析

VLC播放RTSP视频抓包记录:vlc -vvv rtsp://172.16.66.22/nuc.sdpOPTIONS: OPTIONS rtsp://172.16.66.22/nuc.sdp RTSP/1.0 CSeq: 2 User-Agent: LibVLC/2.2.6 (LIVE555 Streaming&nb 查看详情

用vlc搭建rtsp流媒体服务器

...问题的。不选择的话根据视频原本编码方式发出去。 sdp地址默认ip不填,默认是本地电脑ip地址。rtsp://:8554/test实际上等价于rtsp://本地ip:8664/test  比如:rtsp://192.168.1.198:8554/testsdp这里不用填ip,除非是多网卡。点击流... 查看详情

cvlc 不能播放 rtsp(omxplayer 可以)

】cvlc不能播放rtsp(omxplayer可以)【英文标题】:cvlccannotplayrtsp(omxplayerinsteadcan)【发布时间】:2021-12-1409:40:23【问题描述】:得到这个大华vto流链接:与omxplayer一起使用,但vlc无法播放:rtsp://user:pass@ipadd:554/cam/realmonitor/channel=1&am... 查看详情

webrtc实现rtsp流在浏览器中播放(代码片段)

...;所以依赖IE和Flash的方法如使用IE浏览器配合VLC插件,通过video.js配合Flash实现网页播放此处不作介绍)通过Nginx+ffmpeg+nginx-http-flv-module模块将rtsp流转为flv格式使用flv.js直接播放通过webrtc-streamer将rtsp转为WebRTC流播放其... 查看详情

h.265播放器easyplayer使用electron打包后不能播放的问题排查与解决

...载的路径不对。  解决办法:将加载路径添加远程地址的wasm的支持,如图:  添加该远程地址参数的wasm后,视频已经能正常加载并可以正常播放了。  EasyPlayer属于高可靠、高可用、高稳定性的流媒体播放器... 查看详情

记:rtmp,rtsp,http视频流播放

...需要播放格式为mjpeg的视频流,所以,也无法直接播放。通过使用插件vlc可以使以上两类视频流直接播放,即在电脑上安装vlc插件,播放视频时打开该插件,并且播放时浏览器版本不可使用新版本的,我使用的是chrom30.0可以正常... 查看详情