Vlc and other developers manage x264 an open source library to encode to h264. H264 is owned by mpeg-la and you pay a fee to be able to encode and decode to it. Playing it doesn’t constitute royalties.
Media Content Delivery Systems
Media Content Delivery Systems
Brendan Ashby and Lindsey Kennard
Initially, I had curiosities
How is video presented over the web?
What containers and codecs are used?
How do you handle various bandwidths?
How do you handle large audiences?
What constitutes HD delivery?
How to keep Buffering low?
How to keep seeking instant?
How to secure your files, limit bandwidth,
Quick Survey – “TIL”
What is H264 versus x264?
Is MKV a good video codec?
What is WebM and WebP?
What is a .ass file?
How do you protect your online video
media from stream rippers?
◦ Flash tries so hard at this
What is .f4v?
The Hunt for HD
The driving force for finding other web video
solutions was a search for
◦ Minimal Re-encoding
◦ Support for the latest codecs
◦ Adaptable to a web environment
Not satisfied with the flash status quo
The project developed into 2 parts
◦ Video Streaming technologies
◦ Database management
Ok, so how does video get to you
WMP - .asx .asf mms
Quicktime - .mov .m4v
Flash - .flv .swf .f4v (The Big one)
At first I thought that was all…
HTTP Pseudo streaming
Mpeg Part 14 Support (H264/AAC) through flash (.mp4)
RTMP Streaming – RTMPT (HTTP Proxy)
VLC’s Plug-in – Java based
HTML5 <video> Ogg Vorbis
Silverlight - Smooth Streaming
I looked at all of these. :D
H264 Pseudo Streaming
Run by code-shop guys
Works on all major web servers
Allows instant seeking
Dynamic bandwidth (I.e. Smooth Streaming)
Flash newly Supports: .mp4 .mov (H264/AAC)
Flash has moved on from the lossy .flv
and the need to reencode to play video
They natively support all parts of Mpeg
and .mov. Specifically, H264/ACC codecs.
Efficient Bandwidth Usage
Adaptive Bandwidth Shaping
Included in all Adobe Flash Server Products –
Very Secure, only current chunk is in flash
memory, hard to stream rip, hard to steal.
Lacks any advanced features
Free, highly customizable
Plays everything VLC can play (Duh)
Video encrypted in Silverlight web plug in
Allowed for specific bandwidth shaping
Change bitrates on the fly
No buffering, Instant seeking
Supports all VFW formats, can convert to
necessary formats using free encoders
Admittedly a pain to use,
◦ only likes to work in IIS servers
◦ takes a lot of storage space
◦ encoder is inefficient
◦ community is lacking
Currently uses open source Ogg vorbis codecs.
Google is pushing their own VP8 adapted format
called WebM (WebP for images)
Most know about fight between apple, mozilla,
opera, and microsoft over what codecs should
become standard for HTML5
◦ Issues revolve around costs, licensing, and quality
Most browsers support the current HTML5, but
not all of HTML has not been standardized yet.
Working on the web server, changing from
IIS7.0+Adobe FSS (streaming server) to
Apache on linux.
◦ Exploring common modules for web streaming
and file security (e.g. mod_auth_token)
Exploring smooth streaming method not
on IIS: http://smoothstreaming.code-shop.com/trac
Exploring database management methods
◦ MySQL and such for managing metadata
◦ Storing and retrieving efficiently
◦ Watching BW usage (myrpi.org)
Early Database Talk
Store all data for specific files
◦ Unique IDs, Delimited
◦ Create RSS/XML for each file as necessary
◦ Video specific metadata can be pulled by
Early Scripting Demo
Maintain a database to manage many
video files – Tags, Metadata, …
Present a web fronted library to end-user
◦ Users can add videos to a vote pool
◦ Users can vote on what video to be viewed
Creates a community-driven vote-based
◦ “It’s like were all watching TV together and
voting on the channel”
Thanks again :D
Thanks to hosting.myrpi.org (student
Thanks to the RCOS IRC
Thanks to awesome Mr. MSK and Mr. Sean
Brendan Ashby | Lindsey Kennard