Web, Technologies, IA, Vidéo...

déc. 10, 2012

Mistserver - a new multimedia streaming server - First overview

Mistserver is a open-source multimedia streaming server developed by DDVTech a company based in Netherlands. This server will support some technologies : HLS, HDS, Smooth Streaming, RTMP, ...

For the moment, HDS, RTMP and progressive download are available. You can push too livestream via RMTP. The company have two others solutions : MistStewardMistCenter.

DDVTech positions his solution in a competitive market with some actors : Adobe Media Server, Wowza, Red5, Apache, ...

The solution is open-source so the source code is available on GitHub.

The main idea, in the server architecture, is to have a specific process for each viewer. The main concept design is modularity via some Server API.

For this first quick overview, I use a Virtual Machine based on Ubuntu 64bits. In the download section of the site, you have some statics binaries. In my case, I compile the library and the server. You need to install some packages before, if they are not already installed :

apt-get install pkg-config openssl-dev g++

Then, just follow the QuickStart page. When it's finished, have a look on administration  home page.

Ok, now I will stream a VoD content. To do that, you need to use a FLV file (named here movie.flv). Please take care when you use the commandline MistFLV2DTSC : you need to have the \< > in your command. The video is piped in the MistFLV2DTSC and then output in the dtsc file.

MistFLV2DTSC < movie.flv > movie.dtsc
MistDTSCFix movie.dtsc

Now, add your content in the administration portal. Go in Protocols and add a new one. You can add 2 types of protocols : HTTP or RTMP and associate it to a port. The interface is the network interface you want to use.

Ok, so your server is set-up to stream file on HTTP and port 8080. Without adding one protocol, you can't be able to stream a content.

Now, add our video (the movie.flv file). Go in Stream, fill a name and a source (the location of the file in the server). You will see in the server log (available via the Administration interface or via shell)

[STRM] New stream test

After few moment, the status updates to Available. You can now preview the content, click on Embed then Preview.

To finish, you can access to your content via differents url for the differents protocols  :

  • for FLV : http://server_address:port/movie.flv
  • for F4m : http://server_address:port/movie/manifest.f4m

Next step is to set-up a live stream and playing with the server, but this is for another post ;-)

Update 12th April 2013 : Release of version 1.1

janv. 26, 2012

Qu'est ce que le HTTP Dynamic Streaming ?

Cet article est une traduction de l'article de John Crosby : What is HTTP Dynamic Streaming ? Jusqu'à maintenant, la livraison de contenu vidéo sur HTTP était distribué en téléchargement progressif, ceci signifie que pour lire une partie ou rechercher un endroit spécifique dans la vie, vous devez attendre que cette partie se télécharge. Le protocole RTMP permet de réaliser une recherche à n'importe quel endroit du contenu vidéo via streaming, mais requiert une technologie serveur telle que Flash Media Server (produit Adobe) pour effectuer cela.!

HTTP Dynamic Streaming ou HDS combine HTTP (téléchargement progressif) et RTMP (téléchargement en streaming) permettant de délivrer un contenu vidéo en streaming sur HTTP. Ceci signifie :

  • Une technologie de serveur de streaming n'est pas requise, il est juste nécessaire d'avoir un serveur HTTP (ex Apache)
  • Les clients peuvent accéder et commencer à lire un contenu 'instantanément'
  • Les clients peuvent rechercher des endroits dans la vidéo qui n'ont pas encore été téléchargés.

…et tout cela sur le protocole HTTP.

Il y a un certain nombre de choses que vous devez prendre en compte lorsque vous démarrez avec HTTP Dynamic Streaming.

D'une part, un serveur media pour streamer le contenu n'est pas requis, mais le server Web Apache avec le Module HTTP Origin l'est. Le module HTTP Origin est un module Apache gratuit à l'utilisation fournit par Adobe, et est pré-installé et configuré avec le Flash Media Server quand vous installez le serveur web fourni. L'installation et la configuration du module sera couverte dans un autre article.

D'autre part, le contenu vidéo devra être 'préparé' pour HTTP Dynamic Streaming avant d'être déployé sur votre serveur. Votre workflow de création de contenu devra être ajusté pour accueillir votre contenu vidéo dans un format de fichier F4F. Il existe un outil, le f4fpackager, qu'Adobe a créé pour faire cela pour vous.

La préparation de ces contenus fera l'objet d'un prochain article.