i’ve been working on getting camera streams to display in perspective sessions. i have not been taking a fancy approach trying to do RTSP as that is a well discussed dead end for now.
what i’m confounded by is that i can have a video player component that works fine in a browser session but fails to work in perspective workstation.
is workstation missing the simple plugins to display the contents of a perspective component? surely this shouldn’t be?
if this is a known issue is there a resolution date associated?
Workstation uses Chromium, which supports a wide variety of video codecs. Unfortunately, support does not mean “for free”. There are various formats (MP4, H.264, AAC, and Widevine - according to our internal ticket) which require a license be purchased through MPEG LA in order for the Workstation browser to allow those formats. If you’re attempting to use those formats in Workstation, I expect you’ll need to contact your sales representative or our support team. You can reference our internal dev ticket which was recently completed in order to support use of these licenses: IGN-2658.
Once you have the license, you will need to supply an additional argument to the JVM and then restart the gateway to use this new JVM property.
This is all information I’ve gleaned from the internal ticket, but it’s not clear why a regular browser works while Chromium (Workstation) does not. It appears that the license we purchased in order to bundle Chromium as part of our own application did not include access to the aforementioned codecs.
thank you for the reply. i’m a bit surprised as i’m only using an Mjpeg stream, which you’d think would be the easiest of all to display, but perhaps not.
Like I said, it’s not about the ease with which something could be used - it’s the fact that the bundled browser is not licensed to do so.
In a way it’s like Workstation is bundled with basic cable, but if you want to watch ESPN you need the sport package. There’s nothing difficult about your television displaying ESPN, but until you pay the cable company for the premium channels your television can’t do it.
Can you please describe me where in the Gateway or Perspective Workstation config i need to supply the JVM arguments to activate additional codecs for Chromium? I'm hoping to get H.264 running in Perspective Workstation.
Hi, I well understand this is not a technical limitation but a licensing case, where i guess Chromium or Java did not pay to get those codecs enabled in the first case. But they gave the end user the ability to switch it on.
I need to use this for video monitoring, internally in our business only. We do not sell a product. We operate a control center for a fleet of remotely operated vessels.
Trying to understand the licensing fees, I there seem to be no cost unless you develop and sell a product.
I'm not sure if this was documented anywhere besides a release note, but:
These changes allow the user to enable the proprietary codecs and DRM technology (widevine) via system properties where JXBrowser is used. Three additional boolean properties were added to allow this:
ignition.jxBrowser.h264
ignition.jxBrowser.aac
ignition.jxBrowser.widevine
These properties are specified in the JVM arguments field for the Designer and Vision Client Launchers and via perspecitveworkstation.l4j.ini; mac app's Resources/{Launcher}.json file; and modification of the shell script for linux.
There wasn't much info on where or how to deal with the perspectiveworkstation.l4j.ini file, it only gave one single hit on google and i found it should be created along with the Perspective Workstation executable, see Perspective Workstation Scaling | Voters | Inductive Automation
The parameter suggested by this page works to add, but when adding the three parameters you gave, Perspective Workstation would not start - I understand the full syntax is a bit different to just "ignition.jxBrowser.h264". I tried to tweak to match the syntax of the working switch given on the link above, but no luck.
There is no automatic passthrough from system property (-Dwhatever) to the JXBrowser/chromium switches you found documentation for. The three I listed were explicitly added by us.