Video player component woes (perspective workstation inadequacy?)

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?

thanks for any info!

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.

1 Like

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.

totally fair. i just figured MJPEG would be a basic cable functionality.

Thank you

1 Like

Hi @cmallonee,

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.

According to the jxBrowser documentation:

Engine engine = Engine.newInstance(
        EngineOptions.newBuilder(renderingMode)
                .enableProprietaryFeature(ProprietaryFeature.AAC)
                .enableProprietaryFeature(ProprietaryFeature.H_264)
                .build());

JxBrowser 7.4

It looks like my installation uses JxBrowser 7.12.1 which is the same branch and sligtly later than 7.4 when the switches for codecs was implemented.

Many thanks :hugs:

It isn't a technical limitation, but this:

Use a regular browser.

Or, have your contacted IA sales to prove to them you have the required licenses?

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.

AVC/H.264 License Fees - ViaLa

I'm still curious on what can be achieved here. Using browsers in the control centers is not an option.

I might have to contact my local IA dealer to see if they can give any help.

Thanks
Anton

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.

2 Likes

Hi @Kevin.Herron, this sounds very promising.

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.

Is there an explanation somewhere?

Many thanks

I think the ini file should just have something like this on a single line:

-Dignition.jxBrowser.h264=true

and perhaps multiple lines if you need multiple properties.

Still no luck unfortunately. The Workstation starts without problems but now freezes when trying to decode the video - So something changed...

There must be some full list of all available parameters for jxBrowser and chromium switches?

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.