Transcoding as a Service (TaaS) Manifest
The transcoding (also known as transrate) service tries to cover the need of certain CERN apps and services regarding video conversions also known as sub-formats. The service is based on a FOSS project: Opencast which is heavily based on ffmpeg to do the conversions.
The service API in order to tranfer/query jobs/download results is following Opencast guidelines and best practices. The service interface to external CERN apps/services should be the same for all of them. This implies an agnostic view as internal workflows should be unaware of how those user application/services internally work. Any request that differs from mainstream are simply not maintanable and therefore not possible. The service will try to keep up-to-date with upstream versions.
The service clients should open a Snow Ticket to provide the folowing information, in order to access the TaaS External API or WebUI:
- One new Opencast local USER name or one existing CERN eGroup name or Service account to get the required permissons for using the API.
- One (or more) Opencast Series Name to associate the ingested/uploaded videos and metadata files, and whose ACLs will be applied.
The client is reponsible for the upload of his/her source files and download of the encoded resulting files. Those files will be available in the server for downloading during a limited period of time.
The service is running on CERN openstack virtual machines. It's limited on the resources that such virtualization is offering. As resources are shared, no priorities will be stablished for specific tasks. However the global resources could be increased as needed.
To know how to use the service and ingest a mediapackage, visit the ingest documentation and examples.
Nowadays running on ... we have observed following limits: Performance
Operations and encoding reference examples:
Operation | 480 MB | 1.3 GB | 5.9 GB | 68 GB |
---|---|---|---|---|
Ingest | 30s | 1m | 2m | 17m |
Inspect | 15s | 30s | 1m | 12m |
Encode 360p | 1m | 1m | 2m | 23m |
Encode 480p | 2m | 1m | 3m | 22m |
Encode 720p | 4m | 2m | 4m | 25m |
Encode 1080p | 9m | 3m | 9m | 32m |
Encode 2160p | 25m | 9m | 22m | 1h1m |
Exec time | 45m | 19m | 45m | 2h58m |
Source files: https://videos.cern.ch/
Type | Frame rate | Bit rate | Resolution | Frame count | Size | Duration |
---|---|---|---|---|---|---|
H.264 / AVC / MPEG-4 part 10 | 25 | 5878935 | 1920x1080 | 15464 | 480 MB | 10:18 |
Apple ProRes (iCodec Pro) | 25 | 87854368 | 1440x1080 | 2910 | 1.3 GB | 1:56 |
Apple ProRes (iCodec Pro) | 25 | 117642088 | 1920x1080 | 10068 | 5.9 GB | 6:42 |
Apple ProRes (iCodec Pro) | 25 | 782865090 | 3840x2160 | 17418 | 68.2 GB | 11:36 |
File transfer rate: 1177.21 Mbps