Video Player widget not supporting video play back and forth functionality

0
I am using VideoPlayer widget, page structure is as follows:DataView(Data source MF->Which has logic to set URL and returns VideoUpload object) ->Gallary->VideoPlayer widget (Dyanamic ->Attribute ->URL). URL stored in non persistent entity.Entity Structure:VideoUpload - Specialization of System.fileDocumentVideo-Non persistent entity - URL Attribute
asked
4 answers
0

Hi,

I think your setup is logically correct, but the issue is coming from passing the URL through a non-persistent entity. The Video Player widget generally works better with a FileDocument (or its specialization like VideoUpload) rather than a URL from a non-persistent object.


If your video is uploaded within the app, try binding the widget directly to the VideoUpload entity instead of passing the URL. And if you’re using an external URL, make sure it’s a direct video link (like .mp4), not something like YouTube or a protected link, otherwise the widget won’t be able to play it.'


So overall, it’s not really an issue with your logic, it’s more about how the widget behaves with non-persistent URLs. A small change in approach should fix it .


Hope this helps 👍

answered
0

Hi,
One more thing worth checking. This might be related to how the video is served, not the widget itself.

Video seeking requires HTTP range support (206 Partial Content). If the server doesn’t support it, the video may play but rewind/seek won’t work.

You can verify it in the browser dev tools (Network tab -> look for Range / 206).

answered
0

Hi Sidheshwari Devkar

Kindly check the URL of how it is constructed does it opens in browser. for example mendix hosted file should follow this format https://yourapp.mendixcloud.com/file?fileID=1234567890abcdef&forDownload=false. I often use Link this widget only. If possible you can check this also. If the issue is not resolved share the error context.

answered
0

Hi,


The issue is caused by using a non-persistent entity with a dynamic URL as the source for the VideoPlayer. This breaks playback controls (seek/forward/back) because the widget cannot properly manage streaming state.

Root cause

  • VideoPlayer expects a stable, streamable URL
  • Non-persistent entities generate temporary/dynamic URLs
  • Browser cannot perform range requests (required for seeking)

1. Use System.FileDocument directly

Since your VideoUpload extends System.FileDocument, bind the VideoPlayer directly to it.

Instead of storing URL in a non-persistent entity:

  • Use the FileDocument object as source
  • Let Mendix generate the file URL (/file?guid=...)

This supports:

  • Play / pause
  • Forward / backward (seek)
  • Proper buffering

2. Avoid non-persistent URL for video streaming

Do not pass video via:

  • Non-persistent entity
  • Manually constructed URLs

These often break HTTP range support.

3. Ensure correct access & headers

  • File must be accessible (no restrictive access rules)
  • Mendix file endpoint automatically supports streaming

4. If using external storage (S3, etc.)

Make sure:

  • URL supports range requests (HTTP 206)
  • Proper headers (Accept-Ranges) are enabled

Video playback issues (especially forward/back) occur because the video is not served via a proper streamable endpoint. The correct approach is to bind the VideoPlayer directly to a persistent FileDocument, allowing Mendix to handle streaming correctly.






answered