# Embed stream of IP camera requiring Digest Authentication Scheme

**URL:** <https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [April 6, 2022, 3:40pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118 "2022-04-06T15:40:44Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [April 6, 2022, 3:40pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/1 "2022-04-06T15:40:44Z")

</div>

I would like to embed the video of an IP camera in a Perspective view. If I navigate to `http://<cameraIpAddress>/mjpg/video.mjpg` and sign in I can view the stream in the web browser. If I put the same string in the VideoPlayer component (and check the liveFeed property), I can view the stream in a perspective project **as long as I’ve already signed into the stream directly in the web browser.**

If I open the perspective project in another web browser (eg. Edge), this error message comes up in the developer console:

`video.mjpg:1 GET http://10.40.30.100/mjpg/video.mjpg 401 (Unauthorized)`

and the component shows `Error Loading Media: File Not Valid`.

If I navigate directly to `http://<cameraIpAddress>/mjpg/video.mjpg` and sign in, then go back to the perspective project, the stream works with no error message.

It seems like a lack of authentication is my problem. Is there any way to provide this authentication either through the VideoPlayer component or through a third-party module component?  
  
  
  
  
  
  
Further Information:  
Out of curiousity, I sent a get request through `system.net.httpClient` to `http://<cameraIpAddress>/mjpg/video.mjpg` using this script:

```auto
client = system.net.httpClient()
response = client.get('http://10.40.30.100/mjpg/video.mjpg')
print response.getHeaders()['www-authenticate']

```

It returns (formatting mine for readability):

```auto
[
    Digest realm="AXIS_ACCC8EB6906D",
    nonce="HoZDFv7bBQA=a8380a34fc54dcb09a6aa64272921dd4cde20552",
    algorithm=MD5,
    qop="auth"
]

```

This leads me to believe that the authentication scheme may be ‘Digest,’ but at this point I’m far past my area of expertise.

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [April 6, 2022, 4:28pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/2 "2022-04-06T16:28:50Z")

</div>

It is going to depend entirely on what camera you are using, but typically the user name and password can be included in the URL.  
This is just an example:

```auto
http://user:pass@192.168.1.20/videostream.cgi?user=user&pwd=pass&resolution=32

```

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [April 6, 2022, 5:05pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/3 "2022-04-06T17:05:38Z")

</div>

The camera is an AXIS M3046-V.

Interestingly, `http://<user>:<password>@<cameraIP>/mjpg/video.mjpg` does correctly authenticate me directly in the browser (Chrome and Edge), but it does not work in a Perspective Client. I don’t get the  
`video.mjpg:1 GET http://10.40.30.100/mjpg/video.mjpg 401 (Unauthorized)`  
error anymore, but it still doesn’t display anything in the component. There’s also no error message in the gateway logs or the browser developer tools console.

The same results for all the permutations I tried of your URL above.

Does anyone know why the browser and the VideoPlayer component work differently in this case?

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [April 6, 2022, 5:10pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/4 "2022-04-06T17:10:19Z")

</div>

Honestly ive struggled with this quite a bit. If you have ssl/tls enabled, it wont work at all due to chromium blocking mixed content. I have used a batch file to run a VLC command that re-streamed the RTSP stream from a camera, then used that URL in the video player component.

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [April 6, 2022, 5:32pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/5 "2022-04-06T17:32:55Z")

</div>

Good to know. Sounds like I may have to resort to some interesting work-arounds.

Thanks for the help.

---

<div class="post-metadata">

**Author:** ![josborn](https://avatars.discourse-cdn.com/v4/letter/j/4bbf92/32.png) [@josborn](https://forum.inductiveautomation.com/u/josborn)\
**Post date:** [April 6, 2022, 5:47pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/6 "2022-04-06T17:47:16Z")

</div>

You may want to check out Phil's module.

> [@Automation Professionals' Image Streamer Driver Module](https://forum.inductiveautomation.com/t/automation-professionals-image-streamer-driver-module/29371/62):
>
> I’ve had a spell of time on the sponsor’s hardware finding bugs and cleaning up this leaky module. This version just fixes bugs: For Ignition v8.1.x: [v0.5.2.220801908](https://www.automation-pros.com/ignition/Image%20and%20Video%20Streaming%20Driver-0.5.2.220801908-v81.modl) For Ignition v7.9.x: [v0.5.2.220801922](https://www.automation-pros.com/ignition/Image%20and%20Video%20Streaming%20Driver-0.5.2.220801922.modl) The improvement in stability is substantial. All users should upgrade. Prior versions removed.

---

<div class="post-metadata">

**Author:** ![louagejasper](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/louagejasper/32/86311_2.png) [@louagejasper](https://forum.inductiveautomation.com/u/louagejasper)\
**Post date:** [November 4, 2022, 2:57pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/7 "2022-11-04T14:57:59Z")

</div>

@zacht, how did you tackle it?

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [November 4, 2022, 3:03pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/8 "2022-11-04T15:03:09Z")

</div>

I modified the project requirements so I didn't have to deal with this. In my case, no one asked for these features, I was just trying to be extra nice to the operators. Since it was going to be a challenge I put it on the perpetually growing list of "things I'd like to get back to someday."

---

<div class="post-metadata">

**Author:** ![louagejasper](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/louagejasper/32/86311_2.png) [@louagejasper](https://forum.inductiveautomation.com/u/louagejasper)\
**Post date:** [November 4, 2022, 3:48pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/9 "2022-11-04T15:48:17Z")

</div>

Haha, ok, that sounds like a great soution.

---

<div class="post-metadata">

**Author:** ![dhiraj.pawar](https://avatars.discourse-cdn.com/v4/letter/d/3ec8ea/32.png) [@dhiraj.pawar](https://forum.inductiveautomation.com/u/dhiraj.pawar)\
**Post date:** [September 5, 2023, 7:02am UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/10 "2023-09-05T07:02:12Z")

</div>

Hello Team,  
I have same issue, when pass Camera URL with or without user, password in web browser it works correctly but in case of perspective session (Video player component) it does not work & getting below error.  
Error loading media. File not valid  
URL without authentication: [http://10.XX.XX.XX/axis-cgi/mjpg/video.cgi](http://10.XX.XX.XX/axis-cgi/mjpg/video.cgi)

```
URL with Authentication: http://root:pass@10.XXX.XX.XX/axis-cgi/mjpg/video.cgi

```

Only one different observation, when pass URL without Username, password in perspective session (video camera component) & separately access URL in different tab of web browser & authenticate with username & password it works in perspective session also. I checked console but didn't get any error.  
Please suggest the solution to authenticate URL?

Thanks ,  
Dhiraj pawar

---

<div class="post-metadata">

**Author:** ![Chris\_W](https://avatars.discourse-cdn.com/v4/letter/c/c0e974/32.png) [@Chris\_W](https://forum.inductiveautomation.com/u/Chris_W)\
**Post date:** [October 24, 2024, 4:52pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/11 "2024-10-24T16:52:43Z")

</div>

Anyone ever solve this?

---

<div class="post-metadata">

**Author:** ![jeffrey.boey](https://avatars.discourse-cdn.com/v4/letter/j/6a8cbe/32.png) [@jeffrey.boey](https://forum.inductiveautomation.com/u/jeffrey.boey)\
**Post date:** [September 16, 2026, 11:49am UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/12 "2026-09-16T11:49:20Z")

</div>

Apologies for necroing this thread, but has basic auth been implemented in videoplayer? We upgrader our streaming server and now authentication is mandatory, and we have no way around it other than downgrading our version, which might not make the regulators happy....

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [September 16, 2026, 2:24pm UTC](https://forum.inductiveautomation.com/t/embed-stream-of-ip-camera-requiring-digest-authentication-scheme/58118/13 "2026-09-16T14:24:10Z")

</div>

This new RTSP IP camera module might work for you.  
[RTSP Camera Module - 3rd Party Modules - Inductive Automation Forum](https://forum.inductiveautomation.com/t/rtsp-camera-module/116642)
