2. 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,
prevent hotlinking/deeplinking?
3. 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?
4. 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
5. 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
6. H264 Pseudo Streaming
Run by code-shop guys
Works on all major web servers
Allows instant seeking
Quick buffering
Bandwidth Shaping
Dynamic bandwidth (I.e. Smooth Streaming)
http://h264.code-
shop.com:8080/testlist.html
7. Flash newly Supports: .mp4 .mov (H264/AAC)
Flash has moved on from the lossy .flv
and the need to reencode to play video
through it.
They natively support all parts of Mpeg
and .mov. Specifically, H264/ACC codecs.
http://www.flashstreamworks.com/video/
1080pgpu.html
8. RTMP Streaming
Instant Playback
Efficient Bandwidth Usage
Instant Seeking
Adaptive Bandwidth Shaping
Included in all Adobe Flash Server Products –
Proprietary Protocol
Very Secure, only current chunk is in flash
memory, hard to stream rip, hard to steal.
http://flowplayer.org/plugins/streaming/rtmp.html
RTMPDUMP: http://rtmpdump.mplayerhq.hu/
9. VLC Web-plugin
Lacks any advanced features
Free, highly customizable
Plays everything VLC can play (Duh)
http://starbrightillustrations.com/blog/20
09/07/02/found-how-to-embed-vlc-806-
player-in-html/
10. Silverlight
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
http://www.iis.net/media/experiencesmoothstrea
ming1080p
11. HTML5 <video>
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.
http://people.xiph.org/~maikmerten/demos/bigb
uckbunny-videoonly.html
12. Where Next
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)
13. 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
FFmpeg libraries
Early Scripting Demo
16. Final Thoughts
Maintain a database to manage many
video files – Tags, Metadata, …
Present a web fronted library to end-user
for traversal.
◦ Users can add videos to a vote pool
◦ Users can vote on what video to be viewed
Creates a community-driven vote-based
web-streaming solution.
◦ “It’s like were all watching TV together and
voting on the channel”
18. Thanks again :D
Thanks to hosting.myrpi.org (student
senate)
Thanks to the RCOS IRC
Thanks to awesome Mr. MSK and Mr. Sean
Brendan Ashby | Lindsey Kennard
http://mcds-rcos.tumblr.com/
http://github.com/ashbyb/MCDS/
ashbyb@rpi.edu kennal@rpi.edu
Hinweis der Redaktion
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.