EMB311 Enabling Media Playback On Windows CE Aaron Cheng Program Manager Windows CE Microsoft Corporation.

Slides:



Advertisements
Similar presentations
Incorporating Windows ® Media Into Web Sites Chris Carper Program Manager Windows Media Microsoft Corporation
Advertisements

WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
XProtect ® Professional Efficient solutions for mid-sized installations.
Media Transfer Protocol supported. 2 Session Outline Overview Overview Why use a class protocol? Why use a class protocol? Core scenarios & functionality.
Media Transfer Protocol Implementation Details
WSUS Presented by: Nada Abdullah Ahmed.
© De Montfort University, Synchronised Presentations using Windows Media Howell Istance School of Computing De Montfort University.
EMB306 Building Windows CE Devices With DX Support John L. Marcantonio Program Manager Windows CE Multimedia Microsoft Corporation.
NETOP REMOTE CONTROL What’s new in version 9.5? DECEMBER 09 NETOP REMOTE CONTROL1.
EMB304 Building Trustworthy Windows CE Embedded Devices and Applications Ganapathy Raman Program Manager Windows CE Security Team Microsoft Corporation.
Quicktime Howell Istance School of Computing De Montfort University.
Kalpesh Patel Ramprabhu Rathnam
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
File sharing. Connect the two win 7 systems with LAN card Open the network.
Windows Media DRM Device Porting Kit Review Scott Plette Program Manager Media Technology Group microsoft.com Microsoft Corporation.
Gergely Rózsa Zsolt Szanya Elbacom
EMB321 How To Write A Windows CE SDIO Client
Rob Hwacinski Sr. Program Manager Lead Microsoft Corporation WEM206 Ashwin Kulkarni Sr. Product Manager Microsoft Corporation.
SP2 Mikael Nystrom. Agenda Översikt Installation.
Windows Media DRM Device Ecosystem For Windows Vista Milan Gada – Program Manager Kevin Lau – Program Manager Windows Media (Content Access Technologies)
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
EMB313 Increasing Developer Productivity With Windows CE 5.0 Matt Young Windows Mobile Joint Development Program (JDP) Microsoft.
CLI339 Building Bluetooth Applications On The Windows CE 5.0 And Windows Mobile Platforms Anil Dhawan Program Manager Windows Mobile.
DXVA 2.0 A new Hardware Video Acceleration Pipeline for Windows Vista
EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.
EMB313 Increasing Developer Productivity With Windows CE 5.0
Windows Vista: Volume Activation 2.0
Module 1: Installing Windows XP Professional. Overview Manually Installing Windows XP Professional Automating a Windows XP Professional Installation Using.
Design Windows Media Services Infrastructure. Module 7: Design Windows Media Services Infrastructure Design Windows Media Services for live streaming.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
EMB318 Improve Product Quality Using Windows CE Error Reporting (Watson) James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.
EMB315 Non-Volatile Object Store And Hive Based Registry Design For Windows CE Rick Austin Principle Engineer Intermec Corporation.
1 Web Server Administration Chapter 9 Extending the Web Environment.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 12 Electronic Mail.
Tutorial 11 Installing, Updating, and Configuring Software
EMB426 Windows CE Memory Architecture Steve Maillet CEO/Chief Software Architect EmbeddedFusion.
CLI324 Tablet PC Platform Advanced Topics Software Design Engineer/Test Lead
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
Week #7 Objectives: Secure Windows 7 Desktop
BIZ208 Windows CE 5.0 Bringing to Market a Broad Range of Devices Dan Javnozon Product Manager MEDG Microsoft Corporation Business Track Presentation.
Media Server Streaming Elizabeth Canela David Vera Bernard James Lilian Ohanian.
EMB423 Creating A Trusted Environment For Windows CE 5.0 Nat Frampton President Real Time Development
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Enabling Media Playback On Windows CE 5.0 Li-Ming Fan Escalation Engineer Microsoft GCR GTSC.
DEP350 Windows ® Rights Management (Part 1): Introduction, Concepts, And Technology Marco DeMello Group Program Manager Windows Trusted Platforms & Infrastructure.
Compatibility and Interoperability Requirements
EMB422 Advanced Embedded Visual C++ Application Development Control - View Nat Frampton President Real Time Development
Delivering Video over IP
Using Encryption with Microsoft SQL Server 2000 Kevin McDonnell Technical Lead SQL Server Support Microsoft Corporation.
H.323, IP Multicast Conferencing, And TAPI 3.0 Don Ryan Development Lead Windows Networking And Communications Microsoft Corporation.
EMB424 Implementing Fault Tolerant Systems in Windows CE 5.0 Nat Frampton President Real Time Development
Windows Media Connect and PlaysForSure for Network Devices Jason Flaks Program Manager Digital Media Division microsoft.com Microsoft Corporation.
HASP ® SRM Enabling Business Growth through Software Rights Management All Rights Reserved © 2007 Aladdin Knowledge Systems. Yariv Drory International.
EMB427 Writing Real-Time Applications On Windows CE 5.0 Nat Frampton President Real Time Development Corporation
CLI205 Basic Considerations For Mobile PC Application Development Tablet and Mobile PC Technical Evangelist Microsoft Corporation.
Purpose Intended Audience and Presenter Contents Proposed Presentation Length Intended audience is all distributor partners and VARs This would be presented.
CLI325 In Depth – Ink Data Management Mark Hopkins Programmer Writer Tablet and Mobile PC Group Microsoft Corporation.
CLI210 Introduction To Managed Development For Devices With Visual Studio 2005 Scott D. Smith Program Manager Visual Studio for Devices Microsoft Corporation.
Advanced Memory Management Douglas Boling President Boling Consulting Inc.
Windows CE Services Douglas Boling President Boling Consulting Inc.
Windows Small Business Server 2003 R2 Powering Small Businesses.
Sharing makes life beautiful ARKUDA STB SOLUTION.
Planning Server Deployments Chapter 1. Server Deployment When planning a server deployment for a large enterprise network, the operating system edition.
Streaming Media. What is Streaming Media The delivery of audio, video and other multimedia content across the internet using streaming media servers.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Incorporating Windows® Media Into Web Sites Chris Carper Program Manager Windows Media Microsoft Corporation
Office Power Hour New developer APIs and features for Apps for Office
An Introduction to Microsoft NetShow Services and Advanced Streaming Format (ASF) By Huang Yi-Chin.
Presentation transcript:

EMB311 Enabling Media Playback On Windows CE Aaron Cheng Program Manager Windows CE Microsoft Corporation

M anagement T ools C ommunications & M essaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update L ocation S ervices M ultimedia MapPoint DirectX Windows Media Visual Studio 2005 D evelopment T ools MFC 8.0, ATL 8.0 Win32 N ative M anaged S erver S ide L ightweight R elational SQL Server 2005 Express EditionEDB D ata P rogramming M odel D evice B uilding T ools D evice B uilding T ools H ardware/ D rivers Windows XP DDK Windows Embedded Studio Platform Builder OEM/IHV Supplied BSP (ARM, SH4, MIPS) OEM Hardware and Standard Drivers Standard PC Hardware and Drivers SQL Server 2005SQL Server 2005 Mobile Edition ASP.NET Mobile ControlsASP.NET.NET Compact Framework.NET Framework Microsoft Operations Manager Systems Management Server

Agenda Multimedia Overview and Architecture Windows Media Playback Pipeline Streaming features on CE 5.0 Dealing with Window Media Digital Rights Management Protected Content Window Media Digital Rights Management 10 for Portable Devices Overview Features and limitations of Digital Rights Management 10 PD on CE Setup and configuration Digital Rights Management 10 PD on CE Developing custom DRM-enabled applications

CE Multimedia Goals Provide a rich set of multimedia technologies that enable customers to rapidly build a variety of consumer devices Small, Fast, Hardware Assisted Compatibility with desktop Windows when possible Optimized support for multiple CPUs and Systems on Chip

Current MM Technologies CE v5.0 Windows Media v9 improvements/new codecs Direct3D Mobile CE v4.2 Windows Media v9 CE v 4.0 Windows Media Player Application Windows Media v8 DVD CE v 3.0 DirectShow, DirectDraw Windows Media Player OCX v6.4 Increasing Stability and Performance

Windows CE Multimedia TechnologiesAudioVideo 2D and 3D Graphics CodecsStreamingDVD-Video Digital Rights Management ProductsMSTVMSNTV Windows for Automotive Portable Media Center SmartPhonePocketPC VOIP Phone IP Set-Top-Box PVRDMR

Technology Breakdown DirectDraw Drawing surfaces, blting, flipping, overlays, alpha blend, video ports Direct3D Mobile 3D polygon rendering Direct3D Mobile uses the same API signatures as Direct3D Lightweight, integer based Waveform Audio Playback, capture, mixing, sample rate conversion, gain classes DirectShow Media playback DVD-Video DVD navigation and playback DVD Player app Windows Media Audio/video codecs Streaming/Local File WM Player OCX WM Player app

Windows Media Components Streaming HTTP, MMS, local file ASX play list parser and handler ASF parser and splitter DRM/decryption Software Codecs WMV 9 Advanced Profile (new in 5.0) WMVWMA WMA lossless (new in 5.0) WMA Pro (new in 5.0) DirectShow standard renderer filters

CE Multimedia Architecture Network, File system, Graphics, Audio, DVD Drivers Filter Graph Filter Graph WM Player ActiveX Control WMP Sample App, IE 6 DirectDraw/GDI WaveDev WaveDev Hardware Network/ File System Source Codecs DirectShow Filter Graph Manager DVD- Video D3DM Renderers DirectShow App D3D Mobile, DVD, DDraw Apps DDraw Apps WMV WMA MPE G

Encoding For Local Playback Variable bit rate is good for conserving disk space CE 5.0 supports high content bit rates Make sure indexing is turned on The playback pipeline uses the index to rapidly seek for trick modes Trick mode performance is degraded without an index

New Streaming Features FastStart Enables stream to buffer at speeds higher than the bit rate of the requested content Buffer fill rate governed by bandwidth of the pipe and limits set on the Windows Media server Supported for live broadcast and on demand Only supported on unicast streams Startup profile Improves stream start time over FastStart Important for IPTV channel change latency Only for the HTTP unicast protocol

How Startup Profile Works Windows CE will look at the content and calculates an acceleration duration based on the content preroll, bit rate, and the FSAccBandwitdth The Windows Media Server (WMS) uses this acceleration duration value as the length of time to scan the content for the startup buffering requirements WMS then determines a minimal buffer (essentially a preroll) that the client decoder requires to play the acceleration duration without starving the decoder

Streaming Protocols Multicast Each packet is broadcast to multiple clients Microsoft Media Stream (MMS) TCP connection for commands between client and server UDP connection for commands between client and server Automatic protocol roll-over (UDP, TCP) HTTP Will automatically come through corporate firewalls Will use Internet Explorer’s proxy-settings, or configure its own settings RTSP Not supported on Windows CE File-based (local or network redirector)

Protocol Comparison On CE MMS is good for up to 2Mb/s No fast start and startup profile Lighter network load (no ack’s) Requires more reliable hardware and well dimensioned networks MMS is getting deprecated in servers in favor of RTSP and HTTP HTTP is better at high bit rates – internally tested up to 10Mb/s on CE 5.0 Fast start and startup profile

Encoding For Streaming Preroll We use 5 seconds for HTTP unicast MMS as low as 1 second for a quiet network No startup profile Multicast as low as 1 second for a quiet network No fast start and startup profile Bit rate Highest for your pipe Key frame distance 5 seconds for HTTP/MMS unicast 1 second for Multicast (faster startup)

Current DRM Status On CE Windows Media DRM v10 for Portable Devices ‘Janus’ available on 5.0 for x86 and ARM platforms Support for all other platforms available by summer Backward compatible with all previous versions of Windows Media DRM PD DRM and DRM v7.1 only available on CE 4.2

Digital Rights Management Ecosystem Distribution Authorization Protected Content Window Media Rights Manager Content Server

Windows Media Digital Rights Management 10 PD Overview A flexible platform to protect audio/video content for playback on devices connected to IP networks or portable devices connect to another device Store and playback audio/video content Support playback of VOD content Separate license for each piece of content Each license specify rights for content usage

Windows Media Digital Rights Management 10 PD Overview Acquire and store licenses/content Allow offline access No ‘server’ type capabilities Enable devices and PC to play back the same content No change to content encryption format Secure Unique keys for every OEM/device Compromised devices can be revoked

How Are Digital Rights Management Files Different H Packet Header ASF / WMA / WMV Packet Packet Packet Packet Packet Packet Packet Packet Packet PayloadHeader DRMdata DRM Header Obj. Header not encrypted Packet-basedFault-tolerant Efficient encryption

Digital Rights Management 10 License Rights Playback on device Play count Output restrictions Time-based rights Device/application security level Copy to device Copy count Device capability restrictions CD burning

How To Acquire Digital Rights Management License Direct License Acquisition (DLA) Device directly talks to license server Licenses are tied to the device Three different forms: silent, non-silent and Pre-delivery Indirect License Acquisition (ILA) Require PC to acquire license first PC generates new license to transfer to a connected device

Windows Media Digital Rights Management 10 PD Advantages Enable new business model for content owners and resellers Provides interoperable platform for protected content to flow to devices Enhanced security capabilities for protecting content Provides greater flexibility for ISV interaction with DRM content Improvement in overall performance

Digital Rights Management 10-Content Decrypt Perf Data from internal Microsoft testing

Windows Media Digital Rights Management 10 PD On WinCE Provides E2E solution for play back of DRM protected content Underlying DRM system exposed to other apps through the CE DRM v10 API Built-in DLA support for devices directly connected to IP networks Non-silent DLA and Pre-delivery supported through DRM OCX Need MTP and DRM extension implementation for ILA support

Generic Playback Process All starts with selecting the content that you want to play Unencrypted ASF header contains the ID of the selected content DRM system searches the local license store for a valid license Playback begins if a valid license is found Otherwise, DRM system obtains a license through the license server URL indicated in the ASF header

Digital Rights Management System Interactions In CE

WinCE Digital Rights Management 10 PD Features License Chaining Require root and leaf license to access content Metering Track usage for subscription services Output Protection Levels (OPL) Control content flow to unprotected outputs Device Individualization Allow each device to be uniquely identified Data Store Garbage Collection Periodically delete invalid licenses

WinCE Digital Rights Management 10 PD Limitations What are not supported? CD burning rights Application exclusion Additional work required to support the following features ILAMetering Communication with audio/video drivers to enforce OPL Secure Clock

How To Get The Digital Rights Management 10 Bits? Out-of-Band process, must request through CE distributor or Direct Account Manager Separate license agreement from WMLA Receive two separate packages MSI installer – documentation, header files, Lib file and samples Zip file – actual DRM 10 DLL, two.dat files Zip file unique for each OEM/device, individually tested before release

How To Enable Digital Rights Management 10 In Build Catalog entries Add ‘Windows Media DRM 10’ and ‘DRM License Acquisition OCX’ Remove ‘Digital Rights Management’ and ‘DRM for Portable Devices’ Move Janus DLL and the two.dat files to the release directory Add entries to the project.bib file Add entries to the registry (optional) Do a clean build

Sample Project.bib File MODULES ; Name Path Memory Type ; Janus_WINCE.dll $(_FLATRELEASEDIR)\Janus_WINCE.dll NK SHD FILES ; Name Path Memory Type ; devcerttemplate.dat $(_FLATRELEASEDIR)\devcerttemplate.dat NK SH wmdrmpd.dat $(_FLATRELEASEDIR)\wmdrmpd.dat NK SH

Digital Rights Management 10 DAT Files Included in DRM 10 package Devcerttemplate.dat – base template for a device certificate, contain info such as device make/model & device security level Wmdrmpd.dat – Obfuscated DRM file Generated on device after 1st attempt to play back DRM-protected content: Drmstore.dat – license store file to store the acquired DRM licenses Devcert.dat – actual device certificate generated from the template, an unique instance is generated every time

Digital Rights Management 10 Registry Settings HKLM\Software\Microsoft\WMDRMPD CertTemplatePath – location of wmdrmpd.dat & devcerttemplate.dat, defaults to \Windows CertPath – location of devcert.dat, defaults to the root of the file system PreAllocateDataStore – pre-allocate the DRM license store to a specific size, potential to improve perf on hard drive-based devices HKLM\Software\Microsoft\DRM DataPath – path & filename of the DRM license store file, defaults to root

What Else Must Be Done to Ship A DRM-Enabled Device? OAL support IOCTL_HAL_GET_DEVICEID and return at least 128 bits of unique data Media playback app must be able to either enforce the OPL rights specified in a license or stop playback of the content Media playback app must call the IMediaControl::Stop method after receiving a EC_COMPLETE event PB install must include Windows CE 5.0 QFE _KB885285

Working With The DRM OCX Hosted by the browser to perform non-silent DLA & pre-delivery Interaction from the user to confirm acquisition of the content Other application may also host the OCX OCX exposes the same methods as the RMGetLicense object from the Windows Media Rights Manager SDK OCX methods abstract the CE DRM v10 API Use the NetObj.GetLicenseFromURL() method to perform pre-delivery

Diagnosing Digital Rights Management Problems Common DRM-related issues/failures DRM license server not updated with the latest verification keys Attempting to playback content that require high security level Devices fails to playback content after a reboot or power failure Devcert.dat and Drmstore.dat are never created on the device Attaching the debugger to a DRM image Trying to perform non-silent DLA with an image that doesn’t include a browser

Developing Custom Digital Rights Management Application CE’s E2E DRM solution Relies on the CE DirectShow splitter to parse the ASF header file and make the appropriate calls to the DRM system Custom DRM application Gain greater control over the license acquisition and playback process Use the CE DRM v10 API to directly access the DRM system, requires the Lib and header files from the installation package Custom application must be aware of the protected contents’ KIDs

CE Digital Rights Management V10 API Overview CeDRM_Mgr_Initialize() Initialize system’s internal DRM state CeDRM_Mgr_SetV2Header() Provides content header to the DRM system CeDRM_Mgr_Bind() Searches the license store for a valid license CeDRM_Mgr_GenerateChallenge() Generates a license challenge request CeDRM_Mgr_ProcessResponse() Store license returned from the license server to the local DRM store

CE Digital Rights Management V10 API Overview CeDRM_Mgr_Commit() Commit to disk all metering and play count changes in the license store CeDRM_Mgr_Decrypt() Protected content are decrypted in place CeDRM_Mgr_GetLicenseData() Retrieves the license rights for contents CeDRM_Mgr_GetDeviceProperty() Retrieves device properties for DLA Other APIs for metering & secure clock

Retrieving Digital Rights Management License Data // Create a DRM manager context DRM_MANAGER_CONTEXT *g_pManagerContext g_pManagerContext = (DRM_MANAGER_CONTEXT*) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DRM_MANAGER_CONTEXT)); //Initialize the DRM system CeDRM_Mgr_Initialize(g_pManagerContext, &wszDeviceStoreName); //Set the V2 header CeDRM_Mgr_SetV2Header (g_pManagerContext, lpHeader, cbHeader); //Retrive the license rights for a piece of content const DRM_CONST_STRING *proparray[] = {&g_dstrWMDRM_PLAY}; DRM_LICENSE_STATE_DATA statedatavales[NO_OF(proparray)]; CeDRM_Mgr_GetLicenseData( g_pManagerContext, proparray, statedatavales, NO_OF( proparray ) );

Additional Digital Rights Management Resources Web Resources WM DRM Web Site: WM DRM Partners: Windows Media Community: Windows Media DRM Newsgroup: news://msnews.microsoft.com/microsoft.public.windowsmedia.drm for general questions

While At MEDC 2005… Fill out an evaluation for this session Randomly selected instant WIN prizes! Randomly selected instant WIN prizes! Use real technology in a lab Instructor led Reef E/F & Breakers L Self-paced Reef B/C Self-paced Reef B/C Visit the Microsoft Product Pavilion in the Exhibit Hall Shorelines B in the Exhibit Hall Shorelines B

After The Conference… Develop Build InstallBuildJoin Install Enter Enter Join Full-featured trial versions of Windows CE and/or Windows XP Embedded Cool stuff & tell us about it: msdn.microsoft.com/embedded/community msdn.microsoft.com/embedded/community Windows Embedded Partner Program: Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2 Mobile2Market Contest and win up to $25000: mobile2marketcontest.com mobile2marketcontest.com Microsoft Solutions Partner Program: partner.microsoft.com partner.microsoft.com

Tools & Resources msdn.microsoft.com/ embedded microsoft.public. windowsxp.embedded windowsce.platbuilder windowsce.platbuilder windowsce.embedded.vc windowsce.embedded.vc blogs.msdn.com/ mikehall Windows CE 5.0 Eval Kit Windows XP Embedded Eval Kit msdn.microsoft.com/ mobility microsoft.public. pocketpc.developer smartphone.developer dotnet.framework.compactframework blogs.msdn.com/ windowsmobile vsdteam netcfteam Windows Mobile 5.0 Eval Kit Websites Newsgroups Blogs Tools Build Develop

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.