Building Customized Plug-ins and Solutions on the New

Windows Media 格式内幕
凌梅
Development Lead
Windows Digital Media Division
Microsoft Corporation
Agenda


Opportunities with WM
Windows Media Format SDK
Windows Media 9 Series
Core Promises
Dramatically
Improved
Playback
• Fast Streaming provides instant-on/always-on experience
Unmatched
Audio/Video
Quality
• 20% better compression across the board extends industry lead
Most
Comprehensive
Platform
• Intelligent Streaming optimizes the experience
• Fast & flexible player with industry’s first Smart Jukebox
• New voice/screen codecs, video smoothing boost dial-up quality
• New HD video & 5.1 audio delivers home-theater experiences
• Industry’s best scalability, reliability & manageability
• End-to-end extensible architecture
• Improved economics throughout
Windows Media 9 Series
Platform Component Drill-down
On-Line Services
Authoring
Movie
Maker
Producer
Third
Party
Tools
WM
Encoder
& OCX
DRM
License
Creation
Content
Discovery/
Metadata
Playback
Windows
Media
Player
Windows
Media
Player
OCX
DRM License Acquisition
WMP.DLL
Server Services
DShow
WM Format SDK
WM Server
MMC Admin
WM Server
Web Admin
DRM
WM Format SDK
WMS Admin Object
File
Codecs
DShow
Networking
IIS
Windows Media
Server
File
Networking
DRM
Codecs
WM Codec Parameters




Into 3rd generation codecs v8
 Encoding utility
Support streamed / local playback
WM is
 ASF (WMV / WMA)
 Codecs
 DRM v1 and v7
GOAL
 Smallest size for quality (e.g. 1/2 MP3)
 Near DVD @ 500kbps
 Maintain consistent quality
Video Smoothing (Frame
Interpolation)



Generates missing frames at playback time
using optical-flow analysis
Improves perceived video quality (motion
smoothness) at lower data rates
Can be used to improve quality or save
bandwidth by encoding fewer frames


Bandwidth reduction reduces operating cost for
ICPs
E.g. MSNBC encodes only 15 frames/sec, but
user of WM9 Player will experience full frame
rate
demo
Video Smoothing
WMV Screen 9

Highly efficient compression engine for
“palletized video”


Typical scenario is capturing application/desktop
output for training/demo
Entire desktop can be compressed and transmitted
at rates as low as 28kbps!



Up to 100X more efficient than commonly used Runlength-encoding (RLE)
Original Version (V7) shipped in 2000
Version 9 improves in both picture quality and
CPU usage

More efficient handling of continuous-tone images
and window dragging/scrolling
demo
Screen Codec
WMA Professional 9

New high-performance audio codec to handle
greater than CD resolution/channels

Up to 96Khz sampling rate, 24-bits, and 8 channels
(“7.1”)



CD is stereo at 44Khz using 16-bit samples
Targets are multi-channel music distribution and
movie sound tracks at broadband rates
More efficient than existing technologies:


Twice as good as Dolby Digital (AC-3) and DTS used in
DVDs
Blind listening test shows WMA Pro at 768Kbps
outperforms all existing codecs in the market
demo
WMA 9 Pro Codec
192K WMA Pro 5.1 vs. 192K MP3
WMA Voice 9

Unique “hybrid” voice and music coder for low
data rates (<= 20Kbps).




Voice mode: new proprietary voice codec


First codec to properly handle mixed mode content
(e.g. news plus musical commercial)
Uses an auto/manual classifier to detect voice/music
Applies appropriate coding mode for each segment
20% better than ACELP shipping today (used by
Real and WM)
Music mode: WMA algorithms
demo
WMA 9 Voice Codec
WMA Voice vs. AMR (3G-GSM)
Windows Media Format

Our Advantages

Extensible file format

Support advanced MS and 3rd party codecs

Support rich media

Scalable

Efficient local playback

Efficient Streaming (HTTP +)

High capacity Media Servers

Author once, playback anywhere

Streams 28.8Kbps  1Mbps broadband

Replay PC’s, PDA’s, Consumer Elec.

Car stereos, Cellphones, In home
devices, PD’s
Windows Media Format
File Container



Supports files as large as 17 million terabytes
Supports multi-bitrate audio, video streams in a file
Stores media and metadata in one file

Metadata

Title, copyright, author, markers, script commands, etc.

ID3 v1, v2 music meta-information

Media

Audio, Video, rich media and Script Commands (URLs, CC)
AudioStream
Video Stream #1
Video Stream #n
Rich Stream
Script Stream
Timeline
Windows Media Format
File Container (Cont.)





Able to select a stream, based on available bandwidth
Interleaved data is optimal for HTTP
Files can be read sequentially, avoiding expensive seeks
Timeline based synchronization
Bursty data can be smoothed
 Send Timestamp
(milliseconds)
 Presentation Timestamp
(Rational time units)
Presentation
Time
Send
Time
Presentation
Time
Rich Feature Set









Time-code with Frame accurate seeking
support
Live DRM
Video Smoothing (Frame Interpolation)
Rich Media Streaming
VBR streaming/progressive down-load
optimizations
Bandwidth sharing
Enables fast stream
MBR audio and multiple resolution MBR
Video
PhotoMotion
demo
Photo Motion
Windows Media Format SDK








Win32 only (Win98, WinMe,Win2000, WinXP)
COM-style interface
Support audio/video/script authoring and playback
Enhance metadata authoring and playback
DRM support (encryption and decryption)
Streaming support (“net-read”, “net-write”)
Ideal for applications that handle dataflow
Raw or Compressed Audio
Target solutions Raw or Compressed Audio
Raw or Compressed Video
Raw or Compressed Video
Script Commands
Script Commands
IP
 Jukebox,
Header MetaData
Header MetaData
Network
Live
Encoder,
Read
Write
Interface
Interface
Video Editor
.wma or
.wmv file
Read with WM Format SDK

IWMReader



IWMReaderAdvanced





Read WM data.
WMCreateReader
User driven clock
Manual stream selection
Custom buffer allocation
QI from IWMReader
IWMSyncReader




Synchronous Read
No streaming support
Ideal for editing app
WMCreateSyncReader
Encode with WM Format
SDK

IWMWriter



IWMWriterAdvanced




Encode and write WM data
WMCreateWriter
Set output sink(s)
Directly write compressed data
QI from IWMWriter
Output to different destinations




Output to file (WMCreateWriterFileSink)
Output to port (WMCreateWriterNetworkSink)
Output to WM Server (WMCreateWriterPushSink)
Custom sink
Encode with
WM Format SDK (Cont.)

Basic calls








hr = WMCreateWriter( NULL, &pWriter );
hr = pWriter->QueryInterface( IID_IWMWriter,
( VOID ** )&pWriter );
hr = pWriter->SetProfile( pProfile );
hr = pWriter->SetOutputFilename( outfile );
hr = pWriter->BeginWriting( );
Hr = pWriter->WriteSample();
…
Hr = pWriter/->EndWriting ();
Edit with WM Format SDK

IWMMetadataEditor





WMCreateEditor
Open
Close
QI for IWMHeaderInfo
IWMHeaderInfo

Read and edit header attributes
如果您有任何问题,请加入
微软中文新闻组
继续讨论
加入微软中文新闻组
http://www.microsoft.com/china/community
© 2002 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.