1. User will upload raw video to VMS
2. VMS automatically detect newly uploaded file
3. VMS fire up FFMPEG via INCRON and encode the file
4. FFMPEG will use all available CPU CORES and encode the file to pre defined settings
5. Encoded video will be PUSHED to Wowza Media Server via Media Cache
6. Amazon Cloudfront CDN distribute the encoded video in HLS
7. We serve HLS for Desktop and Mobile users via HTML5 and Flash HLS.
Actually we have tried many flow designs, but the current one serve the best for our client. we are planning to use Gearman and encode to multiple quality for our upcoming ABR deployment. Currently we encode at 800kbps.