I am pleased to announce that Windows Azure Media Services team is releasing a Windows Azure Media Player Framework Preview for iOS. This new framework is released as Open Source through Github: https://github.com/WindowsAzure/azure-media-player-framework and licensed under Apache 2.0.
What’s this framework for?
This framework enables developers to build native video application on iOS platform, which could consume secure HLS (Http live Streaming) content from Windows Azure Media Services. Mainly,this framework made easy for developers to integrate client-side advertisements. In the future we will also support various advertisement standards, such as VAST 3.0 and VMAP 1.0.
Architecture of this player framework
- • Sequencer.js: used to maintain an internal playlsit
- • Scheduler.js: used to schedule advertisement and main content
- • Adresolver.js: used to parse different advertisement standards, currently there is nothing available but we will be adding VAST and VMAP support very soon
2. iOS sequencer wrapper:
- Note: Developers are not advised to modify these files and APIs should remain the same even with additional plugins.
3. iOS AVPlayerFramework:
- As showed in the architecture diagram above, the AVPlayeFramework includes iOS sequencer wrapper and based on AVPlayer native iOS library. This AVPlayerFramework provides additional functionalities such as advertisement insertion based on AVPlayer. All APIs in AVplayerFramework are what developer should use directly for developing its video application.
4. Sample player:Sample Player is also shipped along with our player framework as a reference for developer. Here you could learn how to use various functions we provided, such as pre-roll, mid-roll and post-roll advertisement insertion. All the video sources are coming from Windows Azure Media Services. (Here is a blog for how-to produce HLS content with Windows Azure Media Services).
Who should use this SDK?
Developers who want to consume HLS (Http Live Streaming) content from Windows Azure Media Services and Developers who want to enable client-side advertisement insertion with their video application on iOS.
iOS 5 and above system will be supported.
- • Pre-roll, Mid-roll and Post-roll support
- • Ad Pod
- • Advertisement clip could be either Mp4 or Http Live Streaming
- • Error Notification
- • Play-once or Sticky Ad
- •Seamless transition from Advertisement to Main Content and between advertisements
Question: how often will you refresh this framework?
Answer: We will refresh code frequently once we have important features finished. However, we don’t have rigid deadline such as a specific day of month, but our release cycle will be on monthly-basis. Therefore, do check out Readme often to see new features.
Question: If my video application is based on MPMovidPlayer, could I still use this framework?
Answer: Yes. Our IOSAVPlayerFramework is based on AVPlayer. And you could develop another Player Framework on top of IOS Sequencer Wrapper and utilize MPMoviePlayer. However, since MPMoviePlayer is Singleton, you won’t benefit from the seamless switch performance we provided.
Answer: Yes, you could do that, though HTML5 video framework for browser is something we are planning. You could play with it if you can’t wait. Just a friendly notice that, if your main content or advertisement is in HLS format, your video could only be played back in Safari on MAC or i-device. For other browser, you will need to have progressive download content (such as H.264 or WebM).
Question: If I have feature requests, how should I contact you?
Answer: please go to our feature request user voice.
Question: If I have questions or bugs, how should I contact you?
- 1. Read our documentation carefully. We will be publishing on both Github and MSDN.
- 2. If you can’t find a clue, please post your question on Windows Azure Stackoverflow with tag Azure: http://stackoverflow.com/questions/tagged/azure. We will monitor the forum closely.
- 3. If we aren’t be able to solve the problem you posted, we will put it into back log and fix it according to how badly it impacts. Meanwhile, if you helped us fix the problem, you could contribute code into out Github repository and here is the guidance: http://windowsazure.github.com/guidelines.html.