Unable to acquire the live (streaming) video h264 over rtsp of my ip camera using the “IP camera acquisition” package on Matlab2020b

조회 수: 46 (최근 30일)
I am unable to acquire the live (streaming) video of my ip camera using the “IP camera acquisition” package.
Premise:
(1) Operating System: MacOS Big Sur (11.0.1)
(2) Matlab version: 2020b
(3) Installed package: IP camera acquisition packages
(4) Camera type: Dahua DH-IPC-HFW2431TP-ZAS
I would like to capture live video from my camera using the rtsp link with H264 codec. I did a lot of testing, but never managed to capture the video stream. The rtsp links I used are (7):
rtsp://admin:admin1993@192.168.0.108:554/cam/realmonitor?channel=1&subtype=0
rtsp: //192.168.0.108: 554/live
Both of these links placed on any browser open VLC correctly and the video stream is regularly captured.
Camera data:
IP address: 192.168.0.108
admin: admin
password: admin1993
RTSP port: 554
Resolution: 1080p (I also tried 720p and other formats)
Bit rate: 4096 kbit / s (I did different tests with different rate)
Below I have reported some of the tests carried out:
cam = ipcam('rtsp://admin:admin1993@192.168.0.108:554/cam/realmonitor?channel=1&subtype=0')
cam = ipcam('rtsp://admin:admin1993@192.168.0.108:554/cam/realmonitor?channel=1&subtype=0','admin','admin1993')
cam = ipcam('rtsp://192.168.0.108:554/live','admin','admin1993')
cam = ipcam('rtsp://192.168.0.108:554/live')
I also tried to do some tests by changing the 'Timeout' time but to no avail:
cam = ipcam('rtsp://192.168.0.108:554/live','admin','admin1993','Timeout',30)
The error generated is always the same:
Cannot connect to the IP Camera Stream URL. Make sure the URL is correct and authentication is provided if needed.
I have read the PDF guide on the MATLAB website several times and I believe I have made all the correct configurations: https://it.mathworks.com/help/pdf_doc/supportpkg/ipcamera/ipcamera_ug.pdf
Can anyone help me to solve this problem?
I thought it was a codec problem or camera settings everything seems fine. I also leave attached a photo of the characteristics of the video stream.
Many thanks in advance
  댓글 수: 4
Lorenzo Giannini
Lorenzo Giannini 2021년 2월 12일
이동: Dyuman Joshi 2024년 4월 22일
The problem is that, the cam requires “digest” authentication scheme, but the ipcam library (Matlab) can only provide “basic” authentication scheme.
Hope can help you

댓글을 달려면 로그인하십시오.

채택된 답변

Lorenzo Giannini
Lorenzo Giannini 2021년 2월 12일
편집: Lorenzo Giannini 2021년 2월 12일
After contacting support I was able to figure out what the problem was:
"Unfortunately, MATLAB do not support cameras having only digest authentication yet and currently there is no workaround available for this limitation. We sincerely apologize for the inconvenience this brought to you.
Our developers have plans to support this feature in one of the future releases. I have added you into our notify list, so you will get updates once this feature is published in one of the future releases."
Joey Wang from support
  댓글 수: 1
Yafei Wang
Yafei Wang 2021년 3월 26일
Hi, Lorenzo Giannini. I have also encountered this problem listed above, and tried every solution like you but failed. Fortunately, this sentence of "Unfortunately, MATLAB do not support cameras having only digest authentication yet " enlightens me. Such being the case, why not to change the RTSP Authentication of IP cameras to basic authentication. Take HIKVISION IP camera (DS-2CD4024F or DS-2CD3T25) for example, in the camera's web interface, we can set the RTSP Authentication to digest/basic, and ipcam() can work well. Thank you for your information posted above.

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

MathWorks MATLAB Hardware Team
MathWorks MATLAB Hardware Team 2022년 9월 20일
The MATLAB Support Package for IP Cameras now supports "digest authentication" from R2022b release.
  댓글 수: 2
rajasekar
rajasekar 2023년 10월 31일
This issue still exists in R2023a release; the bug is not yet fixed.
@MathWorks MATLAB Hardware Team, Can you suggest why the issue still exists in 23a release though you have mentioned that its fixed in R2022b release
Vineeth Nair
Vineeth Nair 2023년 10월 31일
Hi Rajasekar,
The issue that you are facing could be a different one, as digest authentication is supported in all releases from 22b. Please ensure you have installed the latest updates for 23a release and for the IP camera support package. You can follow the steps here for installing the updates.
If you are still facing an issue, please reach out to us at MathWorks Technical Support: https://www.mathworks.com/support/contact_us.html , and we can debug this issue further.
Thanks

댓글을 달려면 로그인하십시오.


Khalid
Khalid 2024년 4월 22일
편집: Khalid 2024년 4월 22일
Hey, I need to read the IP camera in MATLAB, but not working.
I tried most possible solutions but not working with me, I need help reading the IP or at least the correct way to find a working URL with matlab.
All the URLs I used worked with VLC but not with matlab. Is there a solution?
The problem I find is 'Cannot connect to the IP Camera Stream URL.' Make sure the URL is correct and authentication is provided if needed.' I test many of code but i find the same error.
cam = ipcam('http://192.168.147.147:8080/video'); %kheddam
cam = ipcam('http://192.168.1.108:80/stream','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:8080/video','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:8080//#/index/','admin','admin'); %kheddam
cam = ipcam('rtsp://192.168.1.108:554/cam/realmonitor?channel=1&subtype=0','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:80/..','admin','admin'); %kheddam
cam = ipcam('http://admin:admin@192.168.1.108:80/axis-cgi/mjpg/video.cgi'); %kheddam
cam = ipcam('rtsp://192.168.1.108:554/cam/realmonitor?channel=1&subtype=0','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:80/live','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:80/cam/realmonitor?channel=1&subtype=0','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:80/live','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:80/live','admin','admin'); %kheddam
cam = ipcam('http://192.168.1.108:80/live','admin','admin'); %kheddam
cam = ipcam('rtsp://192.168.1.108:554/Streaming/Channel/1','admin','admin'); %kheddam
czz=ipcam('http://192.168.1.108:80/cgi-bin/CGIStream.cgi?cmd=GetMJStream');%Foscam
czz=ipcam('http://192.168.1.108:80/channel=1&subtype=0');
eee=ipcam('rtsp://192.168.1.108:554/Streaming/Channels/101','admin','admin');
I test all of this codes but always I have tha same error.
Camera Dahua
Matlab R2017a

Manmeet
Manmeet 2024년 9월 18일
I got struck in same problem.
Camera is CP PLUS. Model: CP-UNC-DA41PL3-Y
I can access the stream using VLC. In VLC Iam using RTSP URL rtsp://admin:admin123@192.168.1.2:554/cam/realmonitor?channel=1&subtype=0
Codec as checked in VLC is H264.
MATLAB Version: 24.1.0.2689473 (R2024a) Update 6
Iam able to ping the camera from matlab.
Error everytime while using ipcam() is "Cannot connect to the IP Camera Stream URL. Make sure the URL is correct and authentication is provided if needed"
tried:
%%method-1
URL='rtsp://admin:admin123@192.168.1.2:554/cam/realmonitor?channel=1&subtype=0';
cam1=ipcam(URL,'admin','admin123');
  댓글 수: 4
Manmeet
Manmeet 2024년 9월 19일
Hi
I tried with Public firewall off in my Windows 10 Laptop and it worked to my amazement !
Thanks for your input @Vineeth Nair and @Yafei Wang.
I Also tried the hebicam as suggested by Yafel, but for some reasons it did not worked with firewall off. Was not able to fetch live stream of the camera. I will be giving a try again and will provide my feedback.Thanks for your time.
Yafei Wang
Yafei Wang 2024년 9월 28일
If you want to use Hebicam class to capture the RTSP streaming, you should do the following steps:
  1. Modify the file of HebiCam class "HebiCam.m" as I mentioned in the answer above;
  2. Put the file of hebicam class and the supporting JAR file of ''hebicam-1.1-all-x86_64.jar" in the same folder;
  3. In Matlab script, use the commands to create an HebiCam object and capture the real-time frames as follows:
  4. Note that when you create a HebiCam object, the HebiCam will generate a temporary file named like 'shared_****-**-**_**-**-**.***.tmp', don't delete it and it is used to map the data in memory, and allow us to get the real-time frame data in time.
camObj = HebiCam('rtsp://admin:123456@169.254.56.212:554/Streaming/Channels/101','timeout',15);
frameData = getsnapshot(camObj);
imshow(frameData);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 MATLAB Support Package for IP Cameras에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by