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

Why Database Modernization Matters for AI

  When companies transition to the cloud, they typically begin with applications and virtual machines, which is often the easier part of the process. The actual complexity arises later when databases are moved. To save time and effort, cloud adoption is more of a cloud migration in an IaaS manner, fulfilling current, but not future needs. Even organisations that are already in the cloud find that their databases, although “migrated,” are not genuinely modernised. This disparity becomes particularly evident when they begin to explore AI technologies. Understanding Modernisation Beyond Migration Database modernisation is distinct from merely relocating an outdated database to Azure. It's about making your data layer ready for future needs, like automation, real-time analytics, and AI capabilities. AI needs high throughput, which can be achieved using native DB cloud capabilities. When your database runs in a traditional setup (even hosted in the cloud), in that case, you will enc...

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...

[Post Event] Azure AI Connect, March 2025

On March 13th, I had the opportunity to speak at Azure AI Connect about modern AI architectures.  My session focused on the importance of modernizing cloud systems to efficiently handle the increasing payload generated by AI.