We have a new player that can render a thumbnail and helps avoid videos being loaded before the user plays them. This is only for cards for now, and it solves an issue were several files would be downloaded to load the cards in the library, creating slowdowns and a large consumption of network resources.
For the sidepanel and entity view media fields will still automatically request media files, even if the user is not interacting with them. There are a few problems with this flow, and media fields in general:
A user might already have loaded a file to view it in a card, but if they open the sidepanel for that card or go to the entity view, the file will be re-downloaded. This could be a major problem for big media files.
If the file is large or connection is slow, it will take a long time to appear on the sidepanel or entity view, without any kind of feedback to users as to what is going on.
The media field component and its handling of timelinks is very error prone.
Describe the solution you'd like
We could apply thumbnails to media fields always (taking into account that the user might want to start the video via a timelink).
Look into saving media files locally after the user first downloads it. We have already used createObjectURL() to some extent for this.
Additional context Split from #6105
We have a new player that can render a thumbnail and helps avoid videos being loaded before the user plays them. This is only for cards for now, and it solves an issue were several files would be downloaded to load the cards in the library, creating slowdowns and a large consumption of network resources.
For the sidepanel and entity view media fields will still automatically request media files, even if the user is not interacting with them. There are a few problems with this flow, and media fields in general:
Describe the solution you'd like
We could apply thumbnails to media fields always (taking into account that the user might want to start the video via a timelink).
Look into saving media files locally after the user first downloads it. We have already used createObjectURL() to some extent for this.