Tools for Building Advanced Media Applications
In the recently concluded //Build/, Mike Downey, Principal Evangelist, Media Platform at Microsoft examined the tools and frameworks that are responsible for the development of Windows 8 apps that feature advanced media playback functionality such as streaming, DVR controls, advertising, and closed captioning. He also demonstrates the role of Microsoft Media Player Framework, which is employed behind the scenes for various live online streaming events.
According to Mike, Microsoft media platform can be divided into four entities such as private cloud, public cloud, clients and frameworks. The private cloud comprises of IIS Media Services, Microsoft Expression Encoder and Microsoft PlayReady. The public cloud consists of Windows Azure and Windows Azure Media Services.
The clients entity consists of Windows 8, Windows Phone, iOS, Flash, HTML5, porting kit and the frameworks arena include player framework, video editor and content manager. He further discloses that Internet Explorer 10, HTML5 and Flash are mainly responsible for media generation in Windows 8. Mike demonstrates the relationship between Windows 8 desktop and apps with the help of a demo by positioning Windows 8 apps against standard Windows icons.
"<video> MediaElement, MF extensions & WinRT components and Player framework are the basic elements for the development of a video player," says Mike during his speech.
The <video> element comprises of basic playback, progressive download and local playback. The MF extensions and WinRT components include live and VoD streaming, codecs, PlayReady/DRM, video effects and extensibility. Finally, the player framework includes captioning, advertising, error logic, UI/Styling and playlist management.
Mike also presents a detailed layout of the various elements of Windows 8 media pipeline with a help of a flowchart. It includes Windows Store app at the top level and comprises of MediaElement, WinRT, Media foundation bits such as video decoder, encoder, audio decoder, encoder including DirectX and Windows Audio Session API (WASAPI).
According to Mike, Smooth Streaming SDK for Windows 8 should incorporate adaptive bitrate streaming over HTTP and should be based on MP4 technology. The SDK should provide support for Windows 8, Windows Phone, Silverlight, iOS, MPEG-DASH and there should be no licensing fees.
"PlayReady SDK for Windows 8 should provide support for playback, license operations, domain operations and metering," mentions Mike. Moreover, player framework should include support for adaptive-bitrate heuristics, rich DVR-style playback, Ad integration, closed captions, playlist management, UI customization, 3D Video, media analytics and PlayTo. He also delves deep into Windows 8 player framework architecture with the help of a detailed flowchart.
Towards the end of the presentation, Mike examines the concepts related to video advertising, closed captioning, extensibility and MPEG-DASH with sample demos.
Do you build media powered applications with Windows 8? If so which technology you use to develop them?