Azure Media Services und Push Notifications mit dem VIDPACK Framework für Windows Store Apps

DDFWallScreenWindows Azure bietet mit den Media Services einen Dienst in der Cloud, um auf einen recht einfachen Weg Videos und Live-Events zu hosten. Aber nicht nur das Hosting kann hier übernommen werden – auch um das Encoding in einen Smooth Stream können sich die Media Services kümmern – Benachrichtigung bei neuem Content inklusive. Mit dem VIDPACK Framework gibt es eine App-Codebasis in XAML/C#, welche alles mitbringt, um gehostete Videos zu streamen und Push-Notifications zu verarbeiten.

Das VIDPACK ist eine Codebasis in XAML/C#, welche von Robert Eichenseer (Azure Evangelist Microsoft Corp.)  bereitgestellt wurde. Es beinhaltet über einen technischen App-Rahmen mit Anbindung an die Media Services und Push Notifications einer Azure Instanz hinaus auch die erforderliche Business-Logik, um die angeforderten Daten anzeigen zu können. Mit einem kleinen WPF-Desktop-Tool (inkl. Sourcecode) können Benachrichtigungen an alle App-Clients gepusht werden. Der App-Code ist ein Windows 8 Store Apps Projekt, eine Version für Windows 8.1 soll demnächst verfügbar sein. Bis das VIDPACK auf Github verfügbar ist, kann das Package auch hier als ZIP geladen werden (ca. 41MB).

Neben dem Download des VIDPACKs selbst, ist für die Apps auf Windows 8 Basis ein Mediaplayer erforderlich, welcher Smooth Streaming versteht. Der Player den Robert hier verwendet hat,  ist direkt von Micorosoft und steht auf Codeplex frei zum Download.  Für Windows 8.1. wird dieser Player nicht mehr erforderlich sein, da er es ins Framework 4.5.1. geschafft hat. Alle anderen Packages und Plugins die im VIDPACK verwendet werden, sind im ZIP-File enthalten.

Hat man sich eingerichtet und öffnet das App-Projekt fällt auf, dass die Darstellung  wie das Hub-Template in Visual Studio anmuten lässt. Designarbeit ist hier nicht eingeflossen, lediglich die Grundidee des „Hubprojects“ wurde aufgegriffen und mit Windows 8 Board-Controls nachgestellt.

 

VidPackRawHub
Das VIDPACK im Urzustand erinnert stark an das Hub-Projekt-Template von Visual Studio

 

 

VidPackRawSessionDetail
Design ist bewusst weggelassen wurden, dennoch ist alles da was man von einem Template erwartet

 

 

Aber nicht nur die Grundstruktur der Darstellung wird hier fertig angeboten, auch ein Model, und ein ViewModel zum Verarbeiten von Videos via Media Services ist an Board. Betrachtet man gerade Ersteres stellt man schnell fest, dass die Idee verfolgt wurde aufgezeichnete Tech-Sessions aus Usergroups oder anderen Veranstaltungen mit Vortragscharakter in der App anzubieten.

 

ModelScreenshot
Das eingesetzte Model ist einfach gehalten und zieht eindeutig auf Videos mit Vortragscharakter. Cool: Sogar Sample Data für den Designer wird bereitgestellt

 

 

Durch den sauberen MVVM-Aufbau ist es aber kein Problem, alles nach seinen Bedürfnissen anzupassen und zu erweitern. Hat man sich mit der Technik vertraut gemacht und alles nach seinen Wünschen angepasst, kommt man mit einigen Änderungen was Farben und Formen angeht zu einer gut aussehenden App. Hier als ganz konkreter Fall für den „dotnet Day Franken“ der Usergroup Franken.

 

 

Wendet man nun etwas Zeit und Manpower auf, kann man auf der Basis des VIDPACKs coole Dinge bauen. Im unteren Beispiel ist eine Wand mit Video-Tiles entstanden die es ermöglicht, nicht die Abstracts einer Session lesen zu müssen, sondern einfach in einem Trailer direkt auf der Startseite für sich zu entscheiden, ob das Video einen „abholt“. Auch für Livestreams wäre eine solche Videowall denkbar. Das VIDPACK könnte damit umgehen. Durch die Smooth Streams, welches durch Analyse der aktuell verfügbaren Bandbreite immer für die performanteste Bitrate sorgt (ja, es werden mehrere Qualitätsversionen eines Videos gehalten), ist der Video Hub trotz Video Tiles fast and fluid… tolle Sache!

 

 

Fazit:

Mit dem VIDPACK ist es sehr einfach, eine performante App auf Basis von Media Services zu bauen. Die Funktionalität der Push Notifications im Bauch rundet das Ganze ab. Aber sollte man doch beachten, dass es einige Dinge zu tun gibt, wenn man das VIDPACK produktiv einsetzen will. Error-Handling wie z.B. bei fehlender Internetverbindung wird nicht automatisch gehandelt und will implementiert werden. Auch eine „Fullscreen“-Funktionalität ist beim Player Framework von Microsoft nicht outofthebox dabei. Gemessen an dem, was man sich aber an Arbeit spart, sind die erwähnte Punkte Peanuts!

Vielen Dank an die Usergroup Franken, dass ich an dieser App mitwirken darf. Die Homebase hat die coolste Usergroup die es gibt!

Für technische Fragen zum VIDPACK, oder dem Backend das dahinter benötigt wird, steht euch Robert persönlich zur Verfügung. Über seinen Blog könnt ihr Kontakt mit ihm aufnehmen.

Bei Fragen zur VideoWall meldet euch bei mir.

 

Viel Spaß damit!

 

 

One comment to Azure Media Services und Push Notifications mit dem VIDPACK Framework für Windows Store Apps

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>