video-platform-bench
video-platform-bench copied to clipboard
This app aims to benchmark several video/live streaming OTT platforms. From api.video (https://api.video)
Video Platforms Benchmark
api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
Table of contents
-
Project description
- VOD benchmark
- Live benchmark
-
Getting started
- Requirements before Installation
- Installation
- Usage
- Have you gotten use from this app?
Project description
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
- AWS(MediaConvert + S3 + CloudFront)
- Cloudflare Stream
- JW Player
- mux.com
- Vimeo
- Youtube
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
- AWS(Elemental MediaLive + Elemental MediaPackage + S3 + CloudFront)
- mux.com
Getting started
Requirements before Installation
- Create account and credentials for each platform
- (AWS VOD) Create a S3 bucket. Follow official instruction to create one
- (AWS VOD) Create the IAM role in MediaConvert with full permissions Follow official instruction to create one
- (AWS VOD) Create a CloudFront distribution with your S3 bucket created as Origin.
- (AWS Live) Edit the file
live-streaming-on-aws-custom.template
at line 34 and enter the CIDR Block of the server that will push the RTMP stream. - (AWS Live)Upload the edited template to an AWS S3 bucket.
Installation
- Clone this repo
- Set environmental variables
- Install dependencies with:
composer install
Usage
- (VOD) Run on localhost
symfony server:start
to start a local web-server - Launch the benchmark with command line:
- VOD:
bin/console bench-video-platform {FILE_TO_UPLOAD_URL}
- Live:
bin/console bench-live-platform {FILE_TO_STREAM_URL}
- VOD:
Have you gotten use from this app?
Please take a moment to leave a star on the client ⭐
This helps other users to find the clients and also helps us understand which clients are most popular. Thank you!