video-platform-bench
This app aims to benchmark several video/live streaming OTT platforms based on Encoding Time performance and provide also a "Time to Playback" metric.
What the app does
VOD benchmark
The app measure 3 metrics when it's possible according to each platform limitations:
- Encoding time for the first quality
- Full encoding time
- Time to Playback
What platforms are currently supported
- api.video
- mux.com
- JW Player
- Youtube
- Vimeo
- AWS(MediaConvert + S3 + CloudFront)
Because each platform works differently, we've tried to be as accurate and fair as possible when measuring each platform to provide a realistic measurement of each metric. Some platforms have webhooks that can be listened to be informed of certain encoding-related events, but although this mechanism would have been a preferred choice, we have chosen to base this application on the status endpoint of each API so that all platforms are on par.
Live benchmark
The app measure one metric:
- Time to Playback
What platforms are currently supported
- api.video
- mux.com
- AWS(Elemental MediaLive + Elemental MediaPackage + S3 + CloudFront)
Installation & Run
- Clone this repo
- Add environmental variables(you will need to have an account and credentials for each platform)
- Install dependencies with:
composer install
- Launch the app with command line:
- VOD:
bin/console bench-video-platform {FILE_TO_UPLOAD_URL}
- Live:
bin/console bench-live-platform {FILE_TO_STREAM_URL}
- VOD: