I'm a good programmer but I don't have experience with video streaming. I want to support devices and Internet speeds around the world well, and I don't care about using up disk space.
Assume my users are demographically like the people who use Neflix: Everyone and every sort of device that folks watching on Netflix have, from phones to tablets to large screens on computers to large-screen TVs.
Of course, I want to achieve:
- Low Video Startup Time
- Low Video Stalling Rates
- High Video Quality that makes sense for the device in use
If I start with very high quality video, say:
- Video H264 30 frames/second and up to full-HD (i.e., 1920 by 1080).
- Audio: AAC or MP3 codec
What are all the other sizes, resolutions, and frame rates, I should transcode into so that viewers will have a good viewing experience for all common devices and Internet speeds.
I'm using AWS technology to perform the adaptive bitrate streaming, after transcoding.
Is there a study that tells me what is best practice?
I am told it's useful to have roughly powers of 2 in bit rate. Typically 1080 720 480 360 244 lines. Can I back that up with a publication? Does that make sense?
What publications should I be reading to accomplish my goals?
How do I measure how well I am doing given my goals?
This article answers some questions and seems smart but, again, this is not my area:
Optimizing Video For Size And Quality by Doug Sillars
What should I really be studying?
And specifically, what should I be transcoding into given the wide needs of my viewer population?