Has Anyone Enabled H.264 Support in the WP400 Qt Browser Engine?

Has anyone successfully enabled H.264 encoding support in the WP400 Qt browser engine?

I am currently trying to receive and display a web camera video stream via RTSP on a WP400 display.

I have confirmed that the RTSP stream works correctly and the video is displayed in a browser on a PC. I have also verified that the video can be displayed on the WP400 when using the MJPEG format. However, I have been struggling to get it to display when the stream is encoded with H.264.

If anyone has experience with this or can offer any advice, I would greatly appreciate it.

Thank you.

The WP400 browser cannot decode H.264 in the standard firmware. WAGO builds Qt WebEngine with proprietary codecs off. The public WP400 firmware SDK shows this in
ptxproj/rules/qt6.make:

-DFEATURE_webengine_proprietary_codecs=OFF

Qt sets this option when it builds the firmware, and the panel has no setting to change it. The same build also turns off WebRTC and hardware video decode. MJPEG
works because it needs no proprietary codec.

Enable H.264 - only with a custom firmware

I have not tested this configuration, but in general:

Utilize the WAGO WP400 SDK on a “build maschine” or WSL (e.g. ubuntu)

The README states it needs 24 GB RAM and 50 GB free disk, but the build also works with less. It then takes more time.

Install git, git-lfs, Docker, and make.

  1. Clone GitHub - WAGO/wp400-firmware-sdk · GitHub . (Current online FW30)

  2. Check out the tag that matches the firmware version of your panel.

  3. In ptxproj/rules/qt6.make, change OFF to ON in the line above.

  4. Run make builder, then make init, then make build. The build takes from 30 minutes to a few hours.

  5. Run make wup to create the update package.

  6. Install the package on the panel as the SDK README describes or with a WAGO update tool of your choice.

After a successfull update the infobox in the WBM will display the fixed FW version (99).

Now you can test your rtsp application again.

Hope this helps.

All the best.

Alexander

Hello Alex, wouldn’t it be possible to just recompile the Q6 and have it updated by an IPK ?
Something like
Enter the container:
make bash
Clean the qt6 package
ptxdist clean qt6
Build the qt6 package
ptxdist targetinstall qt6
Leave the container
exit
And only use the qt6 IPK ?

Hi Christophe,

Thank you! You are right. :head_shaking_vertically:

Of course you can just compile the ipk. :sweat_smile:

Leaner, and faster- only one caviat: the added feature is lost with a FW Update :slight_smile:

If you keep that in mind or use e.g. Solution Builder then its a no-brainer.