为什么我得到 "method DESCRIBE failed: 401 Unauthorized "
Why do I get "method DESCRIBE failed: 401 Unauthorized "
让我解释一下我的问题,我正在尝试访问 DVR 系统中的不同频道。
我已经通过使用 opencv 成功地访问了单个摄像头(通道 1):
public_link = 'rtsp://test:test@192.168.1.48/cam/realmonitor'
cap = cv2.VideoCapture(public_link, cv2.CAP_FFMPEG)
问题是我无法使用这些参数访问其他频道:
public_link = 'rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0'
cap = cv2.VideoCapture(public_link, cv2.CAP_FFMPEG)
我试过以下链接:
- rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0
- rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=1
- rtsp://192.168.1.48/cam/realmonitor?channel=3&subtype=0&authbasic=dGVzdDp0ZXN0
我收到以下错误:
[rtsp @ 00000201ce582cc0] method DESCRIBE failed: 401 Unauthorized
我注意到,即使我用这个 URL (rtsp://test:test@192.168.1.48/blablabla) 进行测试,它也能正常工作! (仅频道 #1)但是当我将符号“=”插入 URL 字符串时,出现上述错误。
这真的很令人沮丧,我们将不胜感激任何形式的帮助。
PS:用户'test'在系统中拥有管理员权限。
我已经尝试 运行 使用普通的 ffmpeg 命令进行测试,如下所示:
ffmpeg -loglevel debug -i "rtsp://test:test@192.168.1.48/cam/monitor?channel=3&subtype=0" ./folder/output.m3u8
我收到以下错误:
PS C:\Users\cjhou> ffmpeg -loglevel debug -i "rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0" .\folder\output.m3u8
ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0'.
Reading option '.\folder\output.m3u8' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0.
Successfully parsed a group of options.
Opening an input file: rtsp://houssem:152400@192.168.1.48/cam/realmonitor?channel=3&subtype=0.
[tcp @ 000001882b592240] No default whitelist set
[tcp @ 000001882b592240] Original list of addresses:
[tcp @ 000001882b592240] Address 192.168.1.48 port 554
[tcp @ 000001882b592240] Interleaved list of addresses:
[tcp @ 000001882b592240] Address 192.168.1.48 port 554 [tcp @ 000001882b592240] Starting connection attempt to 192.168.1.48 port 554
[tcp @ 000001882b592240] Successfully connected to 192.168.1.48 port 554
[rtsp @ 000001882b58f080] method DESCRIBE failed: 401 Unauthorized
[rtsp @ 000001882b58f080] Cseq: 3 Server: Rtsp Server 960*576*30*4096
WWW-Authenticate: Digest realm="Surveillance Server", nonce="44976150"
rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0: Server returned 401 Unauthorized (authorization failed)
使用此命令 ffplay "rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0"
,我得到以下输出:
PS C:\Users\cjhou> ffplay "rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0"
ffplay version 4.4-full_build-www.gyan.dev Copyright (c) 2003-2021 the FFmpeg developers
built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[rtsp @ 000001d413d2f640] method DESCRIBE failed: 401 Unauthorized
rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0: Server returned 401 Unauthorized (authorization failed)
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
顺便说一句,我正在使用这个设备:
- 设备名称:数码录像机
- 型号:16-CHANNEL
- 软件版本:XVR_HI3521A_16_v6.1.52.1
- 日期:2016 年 12 月 19 日14:36:39
希望对您有所帮助!
嗯,在对我正在使用的 DVR 模型进行大量研究之后。原来我用的是龙视DVR机型。我真的不知道具体是什么型号,但至少我知道这是一台 Longse DVR。
原来是我用错了URL。 DVR/cameras URL 应采用以下格式:
rtsp://[username]:[password]@[IP_ADDRESS]:[PORT]/[channelID][SubTypeID]
最后,我可以访问连接到 DVR 的所有摄像机,例如(在子集 0 上查看频道 #3):
rtsp://test:test@192.168.1.48:554/30
或在子集 1) 上观看频道 #6
rtsp://test:test@192.168.1.48:554/61
“ISpyConnect Agent”软件为我提供了巨大的帮助,可以提取给定模型的所有可用 URL。 (我输入了型号:Longse: Unlisted)
让我解释一下我的问题,我正在尝试访问 DVR 系统中的不同频道。 我已经通过使用 opencv 成功地访问了单个摄像头(通道 1):
public_link = 'rtsp://test:test@192.168.1.48/cam/realmonitor'
cap = cv2.VideoCapture(public_link, cv2.CAP_FFMPEG)
问题是我无法使用这些参数访问其他频道:
public_link = 'rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0'
cap = cv2.VideoCapture(public_link, cv2.CAP_FFMPEG)
我试过以下链接:
- rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0
- rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=1
- rtsp://192.168.1.48/cam/realmonitor?channel=3&subtype=0&authbasic=dGVzdDp0ZXN0
我收到以下错误:
[rtsp @ 00000201ce582cc0] method DESCRIBE failed: 401 Unauthorized
我注意到,即使我用这个 URL (rtsp://test:test@192.168.1.48/blablabla) 进行测试,它也能正常工作! (仅频道 #1)但是当我将符号“=”插入 URL 字符串时,出现上述错误。
这真的很令人沮丧,我们将不胜感激任何形式的帮助。
PS:用户'test'在系统中拥有管理员权限。
我已经尝试 运行 使用普通的 ffmpeg 命令进行测试,如下所示:
ffmpeg -loglevel debug -i "rtsp://test:test@192.168.1.48/cam/monitor?channel=3&subtype=0" ./folder/output.m3u8
我收到以下错误:
PS C:\Users\cjhou> ffmpeg -loglevel debug -i "rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0" .\folder\output.m3u8
ffmpeg version 4.4-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0'.
Reading option '.\folder\output.m3u8' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0.
Successfully parsed a group of options.
Opening an input file: rtsp://houssem:152400@192.168.1.48/cam/realmonitor?channel=3&subtype=0.
[tcp @ 000001882b592240] No default whitelist set
[tcp @ 000001882b592240] Original list of addresses:
[tcp @ 000001882b592240] Address 192.168.1.48 port 554
[tcp @ 000001882b592240] Interleaved list of addresses:
[tcp @ 000001882b592240] Address 192.168.1.48 port 554 [tcp @ 000001882b592240] Starting connection attempt to 192.168.1.48 port 554
[tcp @ 000001882b592240] Successfully connected to 192.168.1.48 port 554
[rtsp @ 000001882b58f080] method DESCRIBE failed: 401 Unauthorized
[rtsp @ 000001882b58f080] Cseq: 3 Server: Rtsp Server 960*576*30*4096
WWW-Authenticate: Digest realm="Surveillance Server", nonce="44976150"
rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0: Server returned 401 Unauthorized (authorization failed)
使用此命令 ffplay "rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0"
,我得到以下输出:
PS C:\Users\cjhou> ffplay "rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0"
ffplay version 4.4-full_build-www.gyan.dev Copyright (c) 2003-2021 the FFmpeg developers
built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
[rtsp @ 000001d413d2f640] method DESCRIBE failed: 401 Unauthorized
rtsp://test:test@192.168.1.48/cam/realmonitor?channel=3&subtype=0: Server returned 401 Unauthorized (authorization failed)
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
顺便说一句,我正在使用这个设备:
- 设备名称:数码录像机
- 型号:16-CHANNEL
- 软件版本:XVR_HI3521A_16_v6.1.52.1
- 日期:2016 年 12 月 19 日14:36:39
希望对您有所帮助!
嗯,在对我正在使用的 DVR 模型进行大量研究之后。原来我用的是龙视DVR机型。我真的不知道具体是什么型号,但至少我知道这是一台 Longse DVR。
原来是我用错了URL。 DVR/cameras URL 应采用以下格式:
rtsp://[username]:[password]@[IP_ADDRESS]:[PORT]/[channelID][SubTypeID]
最后,我可以访问连接到 DVR 的所有摄像机,例如(在子集 0 上查看频道 #3):
rtsp://test:test@192.168.1.48:554/30
或在子集 1) 上观看频道 #6
rtsp://test:test@192.168.1.48:554/61
“ISpyConnect Agent”软件为我提供了巨大的帮助,可以提取给定模型的所有可用 URL。 (我输入了型号:Longse: Unlisted)