Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 upcoming O2A Data Product Configuration SOP

Creating Media Files

...

MARIVP

Python tool to generate preview files for the marine-data viewer (photos, videos and thumbnails):

  • videos: single video files or video streams (optional with seek bar preview and cover)
  • photos: web-ready photo previews in various resolutions
  • thumbnails: hover preview pictures for the seek bar of web video players

...

Provision of web media 

Making videos and photos available on the web typically involves a two-step process. First, they need to be transcoded, and then delivered via a web server.  The subsequent sections present an overview of tools and recommendations that can assist support you in this process.

Tools: Encoding of media files

When encoding photos and videos for the web, there is a trade-off between visual quality and data reduction. On the one hand, the media should be reduced in file size to achieve the best possible loading speed. On the other hand, the visual quality should not be degraded to the point of introducing unwanted artifacts.  There are also technical parameters to consider that have a direct impact on browser performance and compatibility. To get an idea about the most important technical web video parameters, see Recommendation - Video Proxies Parameters.

The following section provides an overview of tools that have been developed to simplify the creation of web media files and are highly recommended.

MARIVP: Primary Python-based tool for generating preview files for the viewer and media gallery. Provides command line interfaces as well as Python modules to generate photos, videos, thumbnails and covers for the web. For detailed documentation, insights into web encoding strategies and more, see its git repository.

Hotfolder-Encoding: Hotfolder-based video file encoding tool that allows custom encoding configuration. A hotfolder is a folder where media files are temporarily stored, automatically processed (i.e.

...

encoded) and returned

...

, all within a defined structure.

...

For more information and code see the git repository.

ELEMENTS Image Broker: Web-API that brokers access to ELEMENTS content based on custom data fields, i.e. image-uuid. Based on the implementation of the IIIF image standard with ELEMENTS as data source. For a detailed description and usage, see the git repository.

Recommendation: Hosting of media files

Media files tend to be data intensive. Computing them on demand, as in the case of the image broker, might be challenge to the infrastructure, especially for high server loads. The following recommendations are intended to reduce load times and contribute to a positive user experience.

Web server: Use state of the art and proven hosting applications, like NGINX or Apache HTTP Server.

HTTP/2: Improves page loading speed, among others, via multiple request over one connection, binary protocol and compression of request headers.

Load balancing: Multiple combined media servers allow higher throughput (especially image broker) and provide fault tolerance.

Image broker cache: When using an image broker, it is highly recommended to enable media file caching. This will speed up the playout of images that have already been sent and are still in the cache. It can also help to reduce the amount of processing required when loading multiple images at the same time, i.e. in a media gallery, thus improving the user experience in the browser.

...

Recommendation - Video Proxies Parameters

https://codebase.helmholtz.cloud/datahub/marehub/ag-videosimages/hotfolder-encoding

https://codebase.helmholtz.cloud/datahub/marehub/ag-videosimages/imagebroker/image_broker

Hosting Media Files

http2

load balancing

image broker with cache

Viewer

Git repository O2A Spatial Data Products

...