# Display mp4 video in Vision

**URL:** <https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181>\
**Category:** Ignition\
**Created:** [June 24, 2021, 8:29pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181 "2021-06-24T20:29:43Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![jkramer](https://avatars.discourse-cdn.com/v4/letter/j/35a633/32.png) [@jkramer](https://forum.inductiveautomation.com/u/jkramer)\
**Post date:** [June 24, 2021, 8:29pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/1 "2021-06-24T20:29:43Z")

</div>

I need to display mp4 videos in a Vision client. I don’t see a control in Vision that allows me to do that, so I thought I’d be clever and create a Perspective view to display the videos, and then use a web browser control in Vision to display the view. When I launch the view in my browser, I can see the videos just fine. When I run the Vision project and attempt to display the videos using the Perspective view, the view loads but the videos will not display. I get an error that says “Error Loading Media: File not valid”. The videos that I am attempting to display are stored on a web server, and I’m using Ignition 8.1.7. Any help would be appreciated. Thanks.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 24, 2021, 8:45pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/2 "2021-06-24T20:45:08Z")

</div>

The web view component, based on JXBrowser, is limited in what video codecs it supports. I don’t think mp4 is one of them. See [this table](https://jxbrowser-support.teamdev.com/docs/guides/media.html); I think only the codecs in the Chromium column are supported.

---

<div class="post-metadata">

**Author:** ![jkramer](https://avatars.discourse-cdn.com/v4/letter/j/35a633/32.png) [@jkramer](https://forum.inductiveautomation.com/u/jkramer)\
**Post date:** [June 24, 2021, 10:05pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/3 "2021-06-24T22:05:41Z")

</div>

Unfortunately I don’t understand how the technology passes through the layers that I’ve built, but the video player in the Perspective view does actually display the mp4 when just displayed in a browser. What you’re saying is that the web browser control in Vision can not display the mp4, even though the Perspective view that it points to can?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 24, 2021, 10:22pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/4 "2021-06-24T22:22:10Z")

</div>

Google, Microsoft, Mozilla, etc… have all paid a large sum of money to MPEG LA (or whoever else) for an unlimited use license to distribute support for these video codecs in their browsers.

The Vision _web browser component_ (and consequently Perspective Workstation), being based on JXBrowser, which is based on _Chromium_, not Chrome, does not include a license for any of these codecs, and therefore will not be able to play videos encoded with them.

---

<div class="post-metadata">

**Author:** ![jkramer](https://avatars.discourse-cdn.com/v4/letter/j/35a633/32.png) [@jkramer](https://forum.inductiveautomation.com/u/jkramer)\
**Post date:** [June 24, 2021, 10:26pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/5 "2021-06-24T22:26:48Z")

</div>

I guess that’s my answer then. So the video player component in Perspective is otherwise licensed? Are there any other options for displaying an mp4 in Vision?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 24, 2021, 10:32pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/6 "2021-06-24T22:32:46Z")

</div>

> [@jkramer](#):
>
> So the video player component in Perspective is otherwise licensed?

Perspective's video component doesn't have the license - your _browser_ does.

I don't think there's anything available from IA to make this work, but maybe a 3rd party module author? I think @mazeyrat maybe had some kind of module that relied on VLC to play video streams?

---

<div class="post-metadata">

**Author:** ![jkramer](https://avatars.discourse-cdn.com/v4/letter/j/35a633/32.png) [@jkramer](https://forum.inductiveautomation.com/u/jkramer)\
**Post date:** [June 24, 2021, 10:43pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/7 "2021-06-24T22:43:45Z")

</div>

got it, that makes sense. thanks for helping out.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [June 25, 2021, 2:58pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/8 "2021-06-25T14:58:13Z")

</div>

Yes, we have a component for **vision only**.  
We finally not using VLC, but a pure java H264 decoder with rtsp and ptz onvif support.  
It is restricted to H264 low and main profil and need a powerfull CPU.  
For vision a component based on VLCJ could certainly be an interesting alternative

---

<div class="post-metadata">

**Author:** ![jkramer](https://avatars.discourse-cdn.com/v4/letter/j/35a633/32.png) [@jkramer](https://forum.inductiveautomation.com/u/jkramer)\
**Post date:** [June 25, 2021, 3:36pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/9 "2021-06-25T15:36:01Z")

</div>

The easiest answer for me was to convert my videos to a different format that would play in Ignition. I just used the web browser control in HTML mode, and bound (part of) the HTML to a dropdown list that contained a list of videos to choose from. Works like a charm.

---

<div class="post-metadata">

**Author:** ![jesusaltamirano600](https://avatars.discourse-cdn.com/v4/letter/j/b782af/32.png) [@jesusaltamirano600](https://forum.inductiveautomation.com/u/jesusaltamirano600)\
**Post date:** [July 24, 2025, 3:20pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/10 "2025-07-24T15:20:54Z")

</div>

Hi Jkramer, can you tell us which format did you use for the video file? Thank you.

---

<div class="post-metadata">

**Author:** ![jkramer](https://avatars.discourse-cdn.com/v4/letter/j/35a633/32.png) [@jkramer](https://forum.inductiveautomation.com/u/jkramer)\
**Post date:** [July 24, 2025, 4:40pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/11 "2025-07-24T16:40:18Z")

</div>

Hi - wow that's going way back for me. We don't even use that functionality any more, but from what remnants I can still find, I think it was the .ogg file format. I hope that helps.

---

<div class="post-metadata">

**Author:** ![cbanzet](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cbanzet/32/6207_2.png) [@cbanzet](https://forum.inductiveautomation.com/u/cbanzet)\
**Post date:** [October 20, 2025, 4:27pm UTC](https://forum.inductiveautomation.com/t/display-mp4-video-in-vision/48181/12 "2025-10-20T16:27:10Z")

</div>

I just thought I would chime in here since this is a problem I have had and might work for you.

My use case is that we show a safety video to logging truck drivers in a kiosk. Displaying the video full screen with no way to minimize or close early was one of the minor precautions I took to make this tamper resistant. There are more options in VLC stand alone that can lock it down slightly more.

I have this code on a button in a Vision project. The button to proceed does not appear until the “Played” custom property is true.

```python
import subprocess
import sys

def play_video_block_input():
	try:
		# Launch VLC in fullscreen, minimal UI, and exit when done
		p = 'C:\\_IgnInfo\\vlc\\vlc.exe'
		a1 = '--fullscreen'
		a2 = '--qt-minimal-view'
		a3 = '--play-and-exit'
		video = r'C:\\_IgnInfo\\Log Yard Kiosk\\Wrapper Rack Video.mp4'
		args = [p, a1, a2, a3, video]
		bi = subprocess.Popen(args)
		bi.wait()
	finally:
		pass
	event.source.Played = 1

play_video_block_input()

```

This is still working in 8.3.0.
