Delivering Audio and Video Over the Web

Download Report

Transcript Delivering Audio and Video Over the Web

Delivering Audio and Video
Over the Web
Norman White
Stern School of Business
Business Case
 Multimedia is a powerful way to deliver a
message
 As a listener/viewer uses more senses to get a
message, retention rate goes up.
 Much information is better understood visually
 Question? What are the problems of delivering
audio and video over the internet?
Audio Formats
 WAV – direct digitization of audio
Size and quality depend on “sampling” rate
The higher the sample rate, the larger the file size
for the same length, but the better the quality
 Au
 MPEG
 Many others
Video Formats
 AVI
Windows video format
– Supports variety of CODECs
 CODEC – Compression-Decompression
 Quicktime (MOV)
Apple supported format
 MPEG – Motion Pictures Experts Group
Hard to manipulate, high quality
Digital Audio – ISDN
Integrated Service, Digital Network
 To digitize speech, the telephone standard is to
take 8000 samples a second, each sample
having a value (0-255, I.e. 8bits)
 Hence 1/2 of an ISDN line is 64kb (64000 bits
per second) (allows simultaneous voice and data
transmission)
 Note, this is uncompressed. We will talk about
compression later)
Bit rates for different audio streams

Telephone
G.711 PCM
G.721 ADCMP
G.722
G.728


Bit rate Kbps
64
32
48,56,64
16
CD
CD - DA
MPEG consumer
MPEG studio
1411
192
384
Motion Video Bit Rates (Mbps)

HDTV

Compressed

Digital TV (studio)
34

MPEG2
Broadcast TV (mpeg2)
 VCR (MPEG-1)
 Videoconferencing

2,000
166
3-6
2-4
 1.2
 .1 – 1.5

Some typical network rates
 56k modem - 56K bits per second
 ISDN
- 64kbps (2 channels 128)
 Wireless - 2MB - 11Mb/s
 Cable Modem - 10 Mb/s
 ethernet/token ring 10mb/s, now 100mbs
 T3 - 45 mb/s
 OC3 - 154MB/s
Video Tips
 Very important to capture video with the highest
quality you can
 Consumer Camcorders lose quality quickly as
light level drops
 Remember, audio quality is just as important,
consumer camcorders have poor microphones,
need separate high quality microphone for good
results.
Digital Camcorders
 The new digital Prosumer cameras have much
higher quality, but still some problems
 Recording time limits
Usually 1 hour for consumer cameras, OK for some
applications, but unacceptable if there is no break to
change media
 Blair Witch Project – First major movie to be shot
with Digital Camera
Cost Dropping quickly
Applications expand
Until recently, needed a > $10K Sony beta max for
decent video
 Now $2,000 digital cameras give comparable quality
(and MUCH smaller and lighter)
 Inexpensive disk drives now offer capacity to deal with
“raw” video (100MB per minute, 6 gigabytes for a one
hour avi file)
 Need fast processors to encode, decode, transfer data

More hardware advances
 IEEE 1394 – “Firewire” standard
Allows direct connection of digital devices without a
separate card
400 Mbit/s
Also supplies power to camera
 USB – Universal Serial Bus
Offers 12Mbit transfer
– Next version will be 100 Mbit
Networking Advances
100 Mbit ethernet – Allows streaming of MPEG Video
 “Switched” Ethernet – allows a separate stream to each
individual PC without collisions
 Multicasting router capabilities allow listeners to share a stream
 Cable Modems, ADSL, Satellite Dishes much higher bandwidth
to home, small business
 TCP/IP v6 – Quality of Service support
 Internet 2- 600Mbit connections
 Gigabit switches to handle traffic

Software Advances
 Rapidly improving streaming and compression
techniques to take advantage of more
processing power, new computer capabilities
(special instructions for A/D)
 Inexpensive, powerful video manipulation
software
Demand Explosion
 E-Commerce and B2B now can use on-line
video training, sales clips etc.
 Person to Person IP Video Conferencing
 On-line TV? Movies? Not yet…
Editing Video
 Adobe Premiere
Powerful Mac and PC based editor
 Supports “non-linear” editing
Used to have to edit by splicing tape (linear)
– Copy tape from one machine to another as you edit
Now can hold digital video content on disk and edit
frame by frame
 AVID – Commercial quality edit system
Adobe Premiere Functionality
 Cut / Splice Video clips
 Dissolve between clips
 Multiple audio tracks
 Supports many CODECS
 Background colors
 Titles
 Filters (blur, pan, zoom,sharpen distort etc.)
Premiere Basics
Video clips are shot
 Clips are brought into Premiere
 Clips are dropped on one of the video tracks in
constructor window
 Audio clips added, sound adjusted
 Titles, transitions, filters added
 “Make Movie” produces a new video clip in AVI , QT,
Real Media etc format.
 AVI format can be edited again

Conclusion
Video is now capable of being edited on consumer
class computers
 Need LOTS of disk space

100MBS / minute of video
Need 3 times as much space
Hard drive defragmented
Lot’s of memory
Fast processor (200hz Pentium minimum)
Digital capture card, Firewire or USB to bring video in
Conclusion
 All indications are that Streaming Media
applications will continue to have rapid growth
 Recent Dot-com problems have shut down some
of the early entrants in the consumer market.
BUT!!!
 Audio and video file sizes very large and need
transfer rates much faster than available
bandwidths.
 Many difficult problems need to be solved in
order to use audio and video over the internet.
Network Requirements of audio
and motion video
Problems for live usage
 Error rate
Network may not deliver bits reliably
Shouldn’t happen that often in a digital network due
to error control
 Transit delay
Data is not delivered at a constant speed, or at the
right speed
Audio Characteristics
 Ear is a differentiator
Has high powers of differentiation
Means that small audio problems are easily
recognized
Video Characteristics
 Eye is an integrator
It puts signals together
Hard to recognize multiple intermixed drawings and
interpret them
Missing information is less noticeable
 Means video can tolerate more errors and higher
delays
Implications for multimedia
 In a transmission of mixed audio and video,
audio should have a higher priority
Audio more sensitive to delays
 Note - this is a problem on the internet
Internet currently has no priority mechanism
Compression
 Can we reduce the amount of information we
need to send?
 We can compress it
 two types of compression
Lossy - Can’t exactly recreate original
Lossless - Can exactly recreate original file, bit for
bit.
Compressing different types of
info
 Images/ Graphics
Gif (lossless)
JPEG - Can be lossy
 Sound (first digitize at some sampling rate)
Then compress
 Video
(usually lossy)
Intraframe compression
interframe compression
Video compression techniques

Intraframe compression
Compress the pixels within one frame

Interframe compression
Since video frames often change very little between frames,
we can increase compression by only recording the changed
bits from one frame to the next.
This works extremely well for many situations

Video - 1 frame = 640*480*8 bits = 300K bytes (
10MB/sec 30 fps)
Compression Problems
 Sending compressed data means that problems
in one block (packet) of data may impact
subsequent data blocks that have related
information which is based on the content of an
earlier data block (I.e. keyframes)
Partial solution to network delay
 Add an offset delay to reception of message
 The receiving side will collect N seconds of
information before it starts playing the audio or
video clip
 How big should ‘N’ be?
Depends on effective speed of communications
channel
higher variance means larger N
Other Problems
 Intermedia Synchronization
Need to synchronize audio and video streams
 Compression and burstiness
Compression can introduce burstiness into a nonbursty transmission
Example. Audio uncompressed has a fixed number
of bits per second, compressed it can go down to
zero (periods of silence)
Conclusion
 Network multimedia demands many complex
tradeoffs between bandwidth, errors, delays and
cost
 Compression makes the problem even more
complex
Error rates have to be lower to use compression
 What are some reasonable levels for audio and
video?
Streaming Audio and Video
Problems with audio/video over
the web

File sizes large, perhaps infinite for continuous live
webcasts
Can’t wait for file to completely download
WEB bandwidth unreliable - high variance
 Bandwidth varies from minute to minute
 Need to have complex compression and streaming
protocols to compensate

Not supported by HTTP protocol
– http is basically a download protocol, not sophisticated
Demands much more complex protocol to try to compensate
for problems
Solution
 Move audio and video files to a separate server
which uses a different (more sophisticated)
communications protocol
 Have client application communicate directly
with the media server.
Current Solutions

Real Networks
RTSP - Real Time Streaming Protocol
Needs a separate server
Protocol supports multiple, simultaneous streams (audio,
video, animation, text)
Helper App to play the streams (REAL PLAYER )
SMIL language to describe relationship between streams
Automatic, dynamic bandwidth negotiation
– Server and client continue negotiating transfer rate in real time.
RTSP features
Determines average bandwidth between video server
and client and variance
 Preloads part of file before it starts playing
 Dynamically adjusts needed bandwidth by varying
quality of stream as necessary

Audio switches codecs when bandwidth drops
– CD -> HiFi-> mono – Voice
Video increases compression and drops frames

Objective is to keep a “reasonable” output at all times.
Real Player Encoding
 User specifies bit rates to encode in the file at
encoding time.
 Real media file (.rm) is generated that contains
data necessary to generate any of the supported
bit streams
 More bit streams larger files on server
 More bit streams better possibility of playback
Example
User is connected to server with a connection that is
varying between 30 and 45 K bits per second
 User plays a 60 second video clip that was encoded at
30, 40, 50, 100 K bits per second
 Server and Player will negotiate a 40 K bit per second
stream
 Player will buffer (predownload part of file) enough to
ensure the stream will play continuosly even if
throughput is only 30K bits per second

How long does Real Player wait
before starting to play?
Stream is 60*40K bits/second = 2,400,000 bits
 At 30K bits per second it will take 2,400,000/30,000
seconds = 80 seconds
 Need to wait 20 seconds before starting to play stream,
i.e load up 20 seconds of material (20*40,000 =
800,000 bits or 100,000 characters
 Note the many design limitations here.

Is there enough memory
How long can user wait before giving up
What happens if bandwidth changes and they need to
renegotiate …
Other Solutions
 Microsoft ASF - Advanced Streaming Format
Only supports one stream, need 3rd party tools to
combine multiple streams into ASF format
Works with Microsoft NETSHOW
Supports multiple bitrates in one stream
includes high bandwidth intranet option
Publishing Streaming Media with
Real Networks

Need 3 components
WEB Server
– Create links to .RAM, or .SMI files
– RAM files point to REAL Networks server
Real Networks Server
–
–
–
–
Files are housed here
Special “Streaming” support
Multicast support
Handles Live Streams
Browser Helper APP
– Real Player G2 - can run standalone
Example ..
 First, need to capture and encode Video/audio in
Real Media (.rm) Format
 Run Encoder software
Specify audio and video “codecs” to use
– Each bitrate has a different codec
– Can use multiple bitrates
Move Encoded file to Real Networks Server
Create Links on WEB server to point to file
Video file TEST.RM
 create link to .ram file on WEB server
<a href=“TEST.ram”> Click here to see video</a>
 create TEST.ram file
rtsp://videos.stern.nyu.edu:554/TEST.rm
What Happens

User clicks on link
Link is a .ram file, so helper app is invoked to process the file
Helper App (REAL PLAYER 8) starts and is passed the URL
of the 1 line ram file by the web server
REAL PLAYER 8 reads (HTTP GET request) ram file and
then issues RTSP connection to video server.
Video Server and Real Player now have a separate
TCP/IP connection (port 554) to communicate over
using the Real Time Streaming Protocol.
 Why so complicated?

Because web servers only support http protocol
Synchronized Media
 What happens if I want to synchronize several
different streams. Need to use SMIL
Synchronized Media Interpretation Language?
 The link needs to point to a .SMI file instead of a
RAM file.
 Simple example, put an intro in front of the video
 I.e. play intro file followed by TEST.rm
SMIL Example
<smil>
<root> </root>
<body>
<seq>
<rtsp://videos.stern.nyu.edu:554/file1.rm ….> first file
to play
 <rtsp://videos.stern.nyu.edu:554/file2.rm …> second
file to play
 </seq>
 </body>
 </smil>





More Advanced SMIL
Smil can also play material in parallel in different
windows
 Example would be a REAL TEXT presentation in one
window, with synchronized Real pics in another window,
and synchronized audio playing as the slides (and text)
changes.
 Real Presenter – Real Networks add-on ($29.95) to
Powerpoint to allow streaming Powerpoint narration.

Some links
 WWW.REAL.COM
 WWW.ABC.COM
Real Networks Tools
Beta versions available for free
 Real Player 8
Helper App to play Real player audio and video
 Real Publisher
Set of tools to encode audio/video to support a
variety of speeds (network and computer)
Supports SURESTREAM ™
– Automatically switches speeds
 REAL SERVER
Host content
Other Features
 REAL TOOLS
REAL PIX - Stream images
REAL TEXT - Stream Text
REAL FLASH - Stream Macromedia Flash
SMIL - Synchronize all of the above
Final Project Ideas
 Stern TV Station - Multiple Channels
Live events
Archived events
News?
 Video classes with power point slides
coordinated with talk.