Streaming Environments
- Medical
- Surveillance
- Entertainment
- Education
- Video conferencing
- Remote monitoring (traffic, visual equipment checks, other?)
Streaming Stages
- Capture: receive sequence of raw video frames from a camera
- Preprocessing (optional): raw video analysis (prior to compression)
- Encoding collect and compress raw frames
- Common Video Codecs:
- Transmit Stream
Encoding Tradeoffs:
compression ratio vs processing powercompression ratio vs image quality
(some video codec algorithms have a lossless compression mode, but normally video streaming uses lossy compression to meet typical bandwidth constraints)
Motion JPEG
simple to implement free from patents
H.263
designed for videoconferencing encumbered by patents (manufacturers must pay licensing fees)
Sorenson Spark/H.263 Sorenson
supported by Adobe Flashderived from H.263 standard but is not compatible with it
encumbered by patents (manufacturers must pay licensing fees)
VP3
legacy codec, predecessor to VP6 and Theorafree from patents (On2 donated relevant patents to public)
VP6
supported by Adobe Flashsuccessor to VP3 codec
encumbered by patents (manufacturers must pay licensing fees)
Theora
derived from VP3 codecfree from patents
MPEG-2
used for video on DVDsencumbered by patents (manufacturers must pay licensing fees)
MPEG-4 part 2
supported by Apple Quicktimeencumbered by patents (manufacturers must pay licensing fees)
H.264/MPEG-4 part 10/MPEG-4 AVC
supported by Adobe Flash and Apple iTunesincludes varient with lossless compression
very popular codec on platforms with sufficient power
encumbered by patents (manufacturers must pay licensing fees)
Control Protocols
SIP (used for Voice-over-IP conferencing with video)
RTSP (often used with RTP as the data transport)
Transport Protocols
RTPRTMP
Tunneling Protocols
HTTP/HTTPS (adds overhead but can be useful for firewall traversal) network transport
receive stream
decoding
display
Streaming Platforms
Hardware
Embedded Platforms
- TI DaVinci
- Freescale i.MX27
- C2 Micro C1100
- Marvell Kirkwood