FFmpeg和Monibuka拉取rtsp(大华摄像头)视频流时未进行URLCode编码导致提示404等报错

场景

Monibucav4(开源流媒体服务器)在Windows上搭建rtmp服务器并实现拉取rtsp视频流以及转换flv播放:

Monibucav4(开源流媒体服务器)在Windows上搭建rtmp服务器并实现拉取rtsp视频流以及转换flv播放_monibuca 搭建流媒体服务-CSDN博客

Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览:

Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览_nginx rtmp 海康摄像头-CSDN博客

上面拉取rtsp视频里地址一直是海康协议,如果是大华摄像头。

大华摄像头RTSP视频流地址格式:

rtsp://[username]:[password]@[ip]:[port]/cam/realmonitor?channel=1&subtype=0

username: 用户名。例如admin。

password: 密码。例如admin123。

ip: 为设备IP。例如 192.168.1.101。

port: 端口号默认为554,若为默认可不填写。

channel: 通道号,起始为1。例如通道2,则为channel=2。

subtype:码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。

如:

rtsp://admin:admin123@192.168.1.101/cam/realmonitor?channel=1&subtype=1

但是在使用上面的rtsp流地址进行拉流测试发现。

使用VLC播放rtsp流时无画面

使用FFmpeg的ffplay

ffplay -i rtsp的url时提示:

method DESCRIBE failed:404 Not Found

subtype 不是内部或外部命令,也不是可运行的程序。

并且在使用Monibuka进行拉流时提示:

RTSP 拉流“......”,"error":"bad status code:404(Not Found)"

注:

博客:
霸道流氓气质-CSDN博客

实现

这是因为特殊字符&未进行URLCode编码导致。

 

将&进行url编码之后

rtsp://admin:admin123@ip:554/cam/realmonitor?channel=1%26subtype=0

此时再进行拉流测试一切正常。

2、为什么使用urlcode编码

因为在把字符串用url方式传送给httpserver时,字符串中不能出现中文和特殊字符(空格、换行符);所以要对url 进行urlcode 。

每一个中文字符都有一个urlcode 编码

每一个特殊字符都有一个urlcode编码

可以在 urlcode 在线工具进行查看

 英文的urlcode 是本身,不会变化

3、如果确定urlcode编码没问题后,大华摄像头仍然无法拉取rtsp流地址可以排查如下

大华摄像头rtsp流地址端口默认是554,查看方式

设置-端口-RTSP端口

排查大华摄像头视频编码

设置-视频-视频编码-主子码流,这里是H265,将其修改为H264尝试。

排查大华摄像头RTSP流鉴权

设置-安全-RTSP鉴权-将其修改为None

排查554端口是否开放

telnet ip 554

如果提示telnet不识别,win10上程序和功能,打开telnet客户端。
 


 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-01 21:22:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 21:22:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 21:22:03       82 阅读
  4. Python语言-面向对象

    2024-02-01 21:22:03       91 阅读

热门阅读

  1. Mybatis批量增删改查

    2024-02-01 21:22:03       58 阅读
  2. SpringBoot实现动态数据源配置

    2024-02-01 21:22:03       48 阅读
  3. 017 正则表达式

    2024-02-01 21:22:03       50 阅读
  4. 行为型设计模式—访问者模式

    2024-02-01 21:22:03       56 阅读
  5. linux驱动之字符设备驱动框架

    2024-02-01 21:22:03       59 阅读
  6. tar解压之后属主和属组不是当前用户问题

    2024-02-01 21:22:03       54 阅读