Skip to main content

Windows Azure Media Service - Overview

A fost lansat un nou serviciu pentru Windows Azure. Acesta se numeste Windows Azure Media Services si este un serviciu care ne permite sa oferim solutii media folosind Windows Azure. Acest lucru se putea face si pana acuma, dar era nevoie ca noi sa ne implementam tot procesul, de la upload de stream, encoding and so on.
Din acest moment acest lucru ne este oferit gratuit de catre Microsoft. Gratuit, oarecum spus. Tot servicul pentru media nu este oferit contra cost. Cea ce noi platim este spatiul ocupat pe cloud, procesarea stream-ului si traficul. De fapt acest serviciu ne ofera un API care ne ajuta sa manipulam elemente media (atat audio cat si video).
In acest moment, Windows Azure Media Services este doar la versiunea Developer Preview, dar nu o sa treaca foarte multa vreme pana cand acest serviciu o sa fie in versiune finala.
Acest serviciu este suportat de nenumarate platforme de la sisteme cu Windows (inclusiv W8), la Mac, Xbox, Windows Phone, Androit, WCE.
Hai sa vedem ce putem face cu acest serviciu. In primult rand putem sa facem encoding la un stream media in cateva formate suportate. In momentul de fata sunt suportate formate precum
AAC-LC, H.264, VC-1, MP4, Apple Live Stream, PIFF. Partea buna este ca acest servciu este bine gandit, fiind destul de usor de extins. De exemplu in orice moment ne putem implementa propiul mecanism de encoding. Tot pe partea de encoding, ne este promis suport pentru thirt-party encoders, precum Ateme sau Digital Rapids. Aceste servicii de la 3th-party o sa fie disponibile prin intermediul la Windows Azure Marketplace.
Pe langa partea de encoding, acest serviciu ne permite sa oferim media streaming atat LIVE cat si offline. Ce mi s-a parut destul de interesant este integrarea cu DVR-ul si modul in care se poate scala cand esti LIVE si trebuie sa faci stream-ing la foarte multi consumatori. Prin intermediul CDN-urilor de la Windows Azure, cotentul unui stream poate sa fie foarte usor trimis la toti consumatorii. O noutate este integrarea si cu alte CDN-uri, nu doar cele de la Microsoft.
Pe partea de protectie, Windows Azure suporta encriptatea stream-ului utilizand Microsfot PlayReady si MPEG Common Encryption. Dar ca si la encodare, putem sa folosim solutii 3th-party .
Existe mai multe tipuri de entitati cu care Media Services lucreaza in format REST. Mai jos puteti sa gasiti lista cu cele mai importante entitati:
  • File - este un fisier media (audio, video) care este stocat sub forma unui obiect de tip blob
  • Assert - meta-datele a unui sau mai multe fisiere media. Acesta poate sa contina orice fel de date, incepand de la numele piesei la date despre casa de discuri
  • Task - este o operatie care se poate executa pe un File sau pe un Assert (enconding, streaming...)
  • Job - Operatii de creeare, stergere a nui File sau Assert. Acesta poatecontine unul sau mai multe task-uri.
  • Locator - Este un URI generat automat pe baza caruia se poate oferii acces la o anumita resursa pe o perioada limitata de timp.
  • Access Policy - Cine/Ce/Unde/Cand poate sa acceseze o resursa media
Toate aceste operatii se pot face folosind un API rest. Workflow-ul pentru acest serviciu defineste 4 tipuri de operatii:
  • Ingest - este primul pas cand vrem sa adaugam un continut media. Acest pas cuprinde partea de upload si encriptate a continutului
  • Process - acest pas cuprinde task-uri precum encoding, conversie, transformare a continutului media
  • Manage - operatii pe assert-urile care deja exista (edit, delete, setup)
  • Deliver - operatii de streaming a continutului pe care il avem deja (atat live cat si offline) - atat direct la utilizator cat si la CDN-uri
API fiind in format REST este destul de usor de folosit. Mai jos gasiti un exemplu pentru o aplicatie pentru Windows 8 Metro Style. M-am jucat putin cu acest serviciu, dar in acest momet evit sa dau exemple de cod, pana cand nu avem o versiune finala.
Ca si incheiere, acest serviciu suna destul de bine si o sa ne usureze mult viata, mai ales ca este gratis. Asteptam versiunea finala a sa.
Enjoy!.

Comments

Popular posts from this blog

Windows Docker Containers can make WIN32 API calls, use COM and ASP.NET WebForms

After the last post , I received two interesting questions related to Docker and Windows. People were interested if we do Win32 API calls from a Docker container and if there is support for COM. WIN32 Support To test calls to WIN32 API, let’s try to populate SYSTEM_INFO class. [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_INFO { public uint dwOemId; public uint dwPageSize; public uint lpMinimumApplicationAddress; public uint lpMaximumApplicationAddress; public uint dwActiveProcessorMask; public uint dwNumberOfProcessors; public uint dwProcessorType; public uint dwAllocationGranularity; public uint dwProcessorLevel; public uint dwProcessorRevision; } ... [DllImport("kernel32")] static extern void GetSystemInfo(ref SYSTEM_INFO pSI); ... SYSTEM_INFO pSI = new SYSTEM_INFO(...

How to audit an Azure Cosmos DB

In this post, we will talk about how we can audit an Azure Cosmos DB database. Before jumping into the problem let us define the business requirement: As an Administrator I want to be able to audit all changes that were done to specific collection inside my Azure Cosmos DB. The requirement is simple, but can be a little tricky to implement fully. First of all when you are using Azure Cosmos DB or any other storage solution there are 99% odds that you’ll have more than one system that writes data to it. This means that you have or not have control on the systems that are doing any create/update/delete operations. Solution 1: Diagnostic Logs Cosmos DB allows us activate diagnostics logs and stream the output a storage account for achieving to other systems like Event Hub or Log Analytics. This would allow us to have information related to who, when, what, response code and how the access operation to our Cosmos DB was done. Beside this there is a field that specifies what was th...

Cloud Myths: Cloud is Cheaper (Pill 1 of 5 / Cloud Pills)

Cloud Myths: Cloud is Cheaper (Pill 1 of 5 / Cloud Pills) The idea that moving to the cloud reduces the costs is a common misconception. The cloud infrastructure provides flexibility, scalability, and better CAPEX, but it does not guarantee lower costs without proper optimisation and management of the cloud services and infrastructure. Idle and unused resources, overprovisioning, oversize databases, and unnecessary data transfer can increase running costs. The regional pricing mode, multi-cloud complexity, and cost variety add extra complexity to the cost function. Cloud adoption without a cost governance strategy can result in unexpected expenses. Improper usage, combined with a pay-as-you-go model, can result in a nightmare for business stakeholders who cannot track and manage the monthly costs. Cloud-native services such as AI services, managed databases, and analytics platforms are powerful, provide out-of-the-shelve capabilities, and increase business agility and innovation. H...