Concernant l’application « Video On Demand » que nous avons présentée précédemment, nous avons évoqué l’utilisation de la technologie Silverlight Streaming. Ce service, développé par Microsoft, permet aux développeurs de diffuser leurs fichiers vidéos ou leurs applications Silverlight afin de les rendre accessibles à tous. Dans cet article, je vais tâcher de présenter son fonctionnement pour les fichiers vidéo.

Silverlight Streaming nécessite un compte LiveID, et permet un stockage gratuit de streaming de 10 Go maximum. Il faut savoir qu’en cas de dépassement de stockage, il faudra passer par une option payante.

Procédure

Pour uploader un fichier vidéo, la première étape consiste d’abord à récupérer un identifiant (numéro de compte SLS) et une clé. Pour cela, il suffit de s’inscrire sur le site suivant : http://silverlight.live.com.

streaming-id-key

Une fois l’identifiant et la clé récupérés, il est possible d’uploader une vidéo en cliquant sur l’option « Manage Video ». A noter que l’option « Manage Applications » fait de même pour les applications Silverlight.

streaming-uploadvideo-1

L’upload d’un fichier (au format « .wmv », « .avi », « .mpeg », « .mov »…) nécessite l’emplacement du fichier, ainsi qu’un titre. Une fois que le fichier est uploadé, une URL statique est fournie pour accéder au fichier vidéo.

streaming-uploadvideo-2

Procédure avec communication REST

Je vais aborder ici la procédure d’authentification sur Silverlight Streaming par requête REST. Notons qu’il est indispensable pour cela d’avoir les identifiants (Account ID et Account Key).

Le code suivant (en C#) présente la procédure d’authentification (par souci de simplicité, j’ai choisi le mot « foo » en guise d’Account ID) :

streaming-identificationc

Concernant la gestion des vidéos avec REST, nous allons recourir aux requêtes HTTP suivantes :

  • PUT, pour l’ajout d’une vidéo
  • DELETE, pour la suppression d’une vidéo
  • COPY, pour la duplication d’une vidéo

Pour la procédure d’identification (vue ci-dessus) et l’ajout de fichiers sur la plateforme Silverlight Streaming, nous allons nous appuyer sur les librairies du framework Restlet (www.restlet.org). Ses librairies sont directement téléchargeables sur le site, et devront ensuite être implémentées parmi les librairies de l’application Java (Back Office).

Uploader un fichier avec PUT.

A partir de là, nous allons voir comment uploader un fichier sur Silverlight Streaming.

La procédure présentée au sommet de cet article donnait les indications suivantes : il s’agit avant tout de s’identifier sur la plateforme, de donner un nom à sa vidéo (qui correspondera au répertoire qui contiendra la vidéo) et de valider l’upload. Il faut également savoir qu’une fois présente sur le site, la vidéo sera appelée « video.wmv ».

Pour effectuer l’upload de fichier de façon logicielle, nous allons effectuer une requête de type PUT, basée sur les librairies de Restlet, au sein d’une application Java.

Dans un premier temps, il convient de recenser et d’initialiser les données utiles :

phase_11

Ensuite, après avoir initialisé les données, il s’agit de concevoir le répertoire (ou FileSet) qui contiendra la vidéo sur la plateforme. On utilise pour cela la méthode MKCOL. Le code se présente de la façon suivante :

phase_2

Enfin, il ne reste plus qu’à envoyer la requête PUT pour l’upload de la vidéo :

phase_3

De cette façon, il est possible d’uploader facilement une vidéo sur l’interface Silverlight Streaming. Tout ce code sera implémenté dans notre application Back Office et exécuté lorsque l’utilisateur souhaitera uploader une vidéo sur la plateforme Silverlight Streaming.

Par la suite, il va s’agir d’effectuer une requête HTTP avec les méthodes DELETE et COPY.