{"id":1086,"date":"2012-12-10T14:41:34","date_gmt":"2012-12-10T13:41:34","guid":{"rendered":"http:\/\/www.alkannoide.com\/?p=1086"},"modified":"2013-06-14T17:10:16","modified_gmt":"2013-06-14T15:10:16","slug":"mistserver-a-new-multimedia-streaming-server-first-overview","status":"publish","type":"post","link":"https:\/\/www.alkannoide.com\/2012\/12\/10\/mistserver-a-new-multimedia-streaming-server-first-overview\/","title":{"rendered":"Mistserver – a new multimedia streaming server – First overview"},"content":{"rendered":"

\"\"<\/p>\n

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

For the moment, HDS, RTMP and progressive download are available. You can push too livestream via RMTP.\u00a0The company have two\u00a0others solutions :\u00a0MistSteward<\/a>,\u00a0MistCenter<\/a>.<\/p>\n

DDVTech positions his solution in a competitive market with some actors : Adobe Media Server, Wowza, Red5, Apache, …<\/p>\n

\"\"<\/a><\/p>\n

<\/p>\n

The solution is open-source so the source code is available on\u00a0GitHub<\/a>.<\/p>\n

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.<\/p>\n

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\u00a0binaries. In my case, I compile the library and the server. You need to install some packages before, if they are not already installed :<\/p>\n

apt-get install pkg-config openssl-dev g++<\/pre>\n

Then, just follow the QuickStart page<\/a>.\u00a0When it’s finished, have a look on administration \u00a0home page.<\/p>\n

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

MistFLV2DTSC < movie.flv > movie.dtsc\r\nMistDTSCFix movie.dtsc<\/pre>\n

Now, add your content in the administration portal. Go in Protocols<\/strong> 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\u00a0interface you want to use.<\/p>\n

\"\"<\/a><\/p>\n

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.<\/p>\n

Now, add our video (the movie.flv<\/em> file). Go in Stream<\/strong>, fill a name and a source (the location of the file in the server). \"\"<\/a>You will see in the server log (available via the Administration interface or via shell)<\/p>\n

[STRM] New stream test<\/pre>\n

After few moment, the status updates to Available<\/strong>. You can now preview the content, click on Embed<\/strong> then Preview<\/strong>.<\/p>\n

To finish, you can access to your content via differents url for the differents protocols \u00a0:<\/p>\n