Building the Next YouTube with Windows Azure Media Services

  • Published on

  • View

  • Download


Sasha Goldshtein's presentation at the Sela Developer Practice (May 2013) on Windows Azure Media Services. Covers basic scenarios, the .NET SDK, and finally an end-to-end flow using WAMS to deliver progressive download and adaptive streaming content.


<ul><li> 1. SELA DEVELOPER PRACTICEMay 5-9, 2013Lights, Camera, Action:Windows Azure Media ServicesSasha GoldshteinCTO, SELA </li> <li> 2. With Windows Azure MediaServices, you can upload, manage,encode, and stream your media to avariety of devices on a cloudscale. </li> <li> 3. Maybe you have a bunch of trainingvideos you want to share with yourglobal employee contingent, in the officeand on the go </li> <li> 4. or maybe you are hosting the OlympicGames and need to stream to hundredsof millions of consumer devices, withpeaks of 100x the standard traffic </li> <li> 5. or maybe youre a TV network, acellular carrier, a radio station, an adagency, a consumer video website and you want to stop worrying aboutinfrastructure and embrace cloud scale. </li> <li> 6. FeaturesVODLivestreamingcoming soonEncoding tomultipleformatsEncryption(DRM)Progressivedownloadfrom blobSmoothstreamingDynamicpackaging.NET andJava SDKsRESTendpoints </li> <li> 7. Supported Formats Import formats Codecs: H.264, MPEG-1, MPEG-2, MPEG-4 v2, VC-1,WMV, DV File formats: AVI, MP4, MPEG, WMV, 3GP, ASF, DV, TS,VOB, Export formatsFile Format Video Codec AudioCodec.wmv VC-1 WMA.mp4 H.264 AACSmooth Streaming FileFormat (.ismv)H.264VC-1AACWMA </li> <li> 8. Supported Devices Very wide device coverage for progressive download Device coverage for adaptive streaming:Platform IIS SmoothStreamingApple HTTP LiveStreaming (HLS)Windows (IE) Silverlight 3rd party SDK(Flash)OS X (Safari) Silverlight elementWindows RT Microsoft SDK 3rd party SDKAndroid (Browser) 3rd party SDK(Flash) elementiOS (Safari) elementWindows Phone Microsoft SDK 3rd party SDKiOS (in-app) Microsoft SDK MediaPlayer FWAndroid (in-app) 3rd party SDK VideoView </li> <li> 9. Pricing Principles Available in all sub-regions (NA, Europe, Asia) 99.9% availability guarantee with On-DemandStreaming Reserved UnitComponent PriceData processing (input and output)EncodingPackagingUp to $1.99 /GBUp to $1.49 /GBStorage Up to $0.07 /GBOutbound bandwidth Up to $0.12 /GBReserved encoding unit $99 / monthReserved on-demand streamingunitGuaranteed 200 Mbps per unit$199 / month </li> <li> 10. DEMOWindows Azure Media Services Portal </li> <li> 11. Managing and PlayingAssets </li> <li> 12. Ingesting Assets from the .NET SDKObtain a CloudMediaContext Gives you access to all objects and APIsCreate an asset (IAsset) A collection of media filesCreate a file (IAssetFile) A single file within an assetCreate an access policy and locator Determines ACL for asset and provides aURL for upload </li> <li> 13. Encoding Assets from the .NET SDKObtain a media processor(IMediaProcessor) Media processors can encode and package assetsCreate an encoding job (IJob) A job is a set of tasks for Media ServicesAdd tasks to the job (ITask) E.g., encode WMV file for Apple HLS Tasks have input assets and output assetsMonitor job progress until it completes </li> <li> 14. Delivering Assets from the .NET SDKLocate the output asset for a jobCreate an access policy and locatorGenerate URLs For progressive download For streaming (IIS/HLS)Optional: Enable CDN For progressive download (blob storage) For streaming origin server </li> <li> 15. DEMOUploading and encoding an asset from the .NET SDK </li> <li> 16. Playing Progressive Download Assets For progressive download in browsers that supportHTML5 video, use the element</li> <li> 17. Playing IIS Smooth Streaming For PC and Mac delivery of IIS Smooth Streaming,use the Silverlight Smooth Streaming SDK Sample player available on CodePlex forplayer </li> <li> 18. Playing HLS In-App on iOS The iOS MediaPlayer framework natively supportsApple HLS URLsself.player = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL URLWithString:...]];self.player.scalingMode = MPMovieScalingModeAspectFill;self.player.controlStyle = MPMovieControlStyleDefault;[self.view addSubview:self.player.view];[self.player play]; </li> <li> 19. DEMODelivering assets to various devices </li> <li> 20. End-to-End Flow </li> <li> 21. On-Premises Windows AzureUpload AppASP.NETWeb SiteWorkerRoleMediaServicesEncoderMediaServicesStreamingAzure BlobStorageQueueStorageAzureTableStorage(1) Upload file to Web Site(2) Store file in Blob Storage(3) Store metadata in Table Storage(4) Put encoding command in queue(5) Start encoding job(6) Wait for job to complete(7) Generate streaming URLs(8) Update metadata in Table Storage12 31 2 3 44 5 56 7 88 7 </li> <li> 22. DEMOEnd-to-end flow and CMS </li> <li> 23. Summary &amp; Call to Action Windows Azure Media Services is a cloud-scaleplatform offering for media management,conversion, and delivery .NET management SDK and REST endpoints Wide device reach with adaptive streaming andprogressive download Try it for free as part of the Azure 90-day trialLearn </li> <li> 24. SELA DEVELOPER PRACTICEMay 5-9, 2013Thank You!Questions?Sasha </li> </ul>


View more >