Video Streaming, a few questions.
levipearson at gmail.com
Fri Dec 30 23:12:59 MST 2011
On Fri, Dec 30, 2011 at 9:29 PM, S. Dale Morrey <sdalemorrey at gmail.com> wrote:
I work in the field of streaming audio and video now, though more
oriented towards LANs than the internet, so I have become way more
familiar with the protocols and formats involved than I ever thought
> The question is, what would be a good format for storing the video in.
> They would like the initial storage format to be 1080p and then have
> the server transcode it down to match the optimum video screen size
> and available bandwidth on the playback device.
That seems, without actually doing the analysis, to be a poor resource
trade-off. Despite the recent bump in hard disk prices, storage is
still dirt cheap compared to CPU power. Transcoding seems like it
would be waaaaay more expensive than storing a copy of each format
that would be streamed, at least once you get more than a few
watchers. But maybe they have done some analysis and found that it
actually does make sense. That would be surprising to me, but
sometimes these things are.
> At the moment I'm leaning towards mp4 (H.264) since it seems to be
> widely used and is the native format for most Blu-ray discs. Are
> there any caveats that I need to be aware of before recommending this?
H.264 is a video codec, or more accurately a family of related codec
profiles. It defines the algorithm for transforming an uncompressed
bitstream into a compressed one, and vice versa. It doesn't define
how that bitstream is stored, or what audio goes along with it, or how
that audio is compressed, etc. H.264 is also known as 'MPEG-4 part
10' or 'MPEG-4 AVC', for Advanced Video Coding, which is the video
counterpart to MPEG-2's AAC, Advanced Audio Coding. AAC is also part
of MPEG-4 part 3, which covers audio compression schemes.
Incidentally, the ubiquitious MP3 files came from MPEG-2 part 3, layer
III. It was optimized to reduce audio artifacts in Suzanne Vega's
voice in the song Tom's Diner. No joke. :)
There are also MPEG-4 parts that cover streaming, ISO disc formats,
container file formats (this is the MP4 file format), and even an
application layer protocol, DMIF. So, yes. You should use MPEG-4
stuff. It's the way professional audio and video is done. ISO/IEC
is, in general, the standards body where this stuff takes place, and
if you need to dig into it, you will find quite a maze of
cross-referencing standards. Forget 'open' codecs and file formats or
rolling your own. They are just distractions, as no real company
whose core competency is actually audio/video delivery would touch
> Another concern is that obviously they're not going to build out their
> own content distribution network, but handling large HD video streams
> could get slow and expensive. AWS Cloudfront looks like it might
> serve all needs but I worry about the 20GB per item limit. A Blu-ray
> disc has a capacity of 50GB, but does anyone know what a 2 or 3 hour
> 1080p stream would actually consume in terms of storage?
It depends quite a bit on how you encode the stream. Watch a 1080p
Youtube video. Watch a 1080p MKV file that someone has ripped from a
BluRay and re-encoded to a smaller file size. Compare that to the
local PBS 1080i cable channel. And then compare that to directly
watching a high-quality BD recording. The quality varies a lot, and
so does the storage and bandwidth requirements. You can also get
higher quality without increasing the size too much by using more
advanced codec profiles, but this can limit the devices that can play
it back effectively. Take a look at the forums for Handbrake or the
encoder it's based on, x264. You'll see lots and lots of discussion
about the different profiles and options and assorted tweaking you can
do during encoding and the tradeoffs involved.
> I admit that I like all of these options, but my gut instinct tells me
> that too many pricing options might actually turn off potential
> customers. If it were you, what option or option(s) would you prefer
> or do you think putting them all on the table would be best?
Too many options can indeed be bad, but when you matrix it as 3
purchase options at 3 resolution options, I don' t think it's as bad
as 9 unrelated options would be.
Where the 'too many options' thing comes into play is whether the
world needs another video streaming service at all at this point.
What's to offer that isn't already covered by Netflix, Hulu, Vudu,
CinemaNow, Blockbuster, Amazon, iTunes, Google, Comcast (yes, you can
stream their on-demand stuff over the internet too!), etc? There are
also a whole bunch of smaller services for indie films, foreign films,
etc. I don't think you're going to be able to realistically compete
on price. I mean, you're talking about deploying on a cloud service.
Amazon and Google practically own the cloud. What's to make this
service stand out?
More information about the PLUG