Install MistServer

Hits: 11140  

MistServer is a highly versatile, lightweight, customizable open-source multi-standard multimedia server. MistServer configuration is easy to use for full CDN solutions applications.


MistServer is Free, open and well-supported, Truly plug and play, Affordable, seamless and highly scalable control over your media servers. MistServer can be installed on any server to make multimedia server.

Download MistServer Binary here

You can clone source from

Check your server architecture Generic Linux 64-bit or Generic Linux 32-bit then download

# wget

Now extract / copy files to /usr/local/bin/

Check quick start here

# chmod a+x MistController
# MistController -a username:password -n

You need to point your browser to connect Mist Server Manager


Mistserver Manager Login

Kill MistServer

# lsof -i:4242 (Find PID for MistServer)
# kill -9 PID

Find more info about MistServer from

Compare MistServer with other Media Streaming Servers like Wowza or Red5 here

You can find Linux User Guide for MistServer from

Stay connected for more MistServer Configurations and Addons 😉

Red5 RTMP Protocol

Hits: 3652  

rtmp protocol

RTMP: Real Time Messaging Protocol

It is TCP based protocol developed by Adobe System for streaming Audio/Video between Flash Player and Media server.

RTMPT: Real Time Messaging Protocol with Tunnel

It is a variation of RTMP which works behind the firewalls.

RTMPE: Real Time Messaging Protocol with Encryption

It is a new encrypted protocol developed by Adobe systems for securing (lightweight than SSL) the streams between flash client and Media server. It provide DRM solution from Adobe for flash.

RTMPS: Real Time Messaging Protocol Secure

It is a variation of RTMP which works over secure HTTPS connection.

RTMPTE: Real Time Messaging Protocol with Encryption and Tunnel

It is a RTMPE tunneling over HTTP.

How to enable rtmpt on Red5 Server?

/usr/local/red5/conf/jee-container.xml uncomment full section

<!– RTMPT (dedicated server) –>

<bean id=”rtmpt.server” class=”org.red5.server.tomcat.rtmpt.RTMPTLoader” init-method=”init” lazy-init=”true”>


MP3 waveforms with PHP

Hits: 6980  

If you are thinking how generates the waveform for sound MP3 player?


There are some audio processing libraries used to process MP3 files to WAV and then PNG / SVG images..

MP3 to WAV to PNG

1. LAME MP3 encoder/decoder

$ lame input.mp3 -f -m m -b 16 –resample 8 resampled.mp3 && lame –decode resampled.mp3 output.wav

2. SOX – Sound eXchange

$ sox output.wav −n spectrogram
$ sox output.wav -n spectrogram -Y 140 -l -r -o output.png

3. wav2png – Creates waveform pngs out of audio files

$ sox mp3-song.mp3 -c 1 -t wav – | wav2png -o mp3-song.png /dev/stdin
$ wav2png –foreground-color=2e4562ff –background-color=00000000 -o  output.png   input.wav

4. wavesurfer.js is a customizable audio waveform visualization, built on top of Web Audio API and HTML5 Canvas


<script src=""></script>
<script src=""></script>
<script src=""></script>

<div id="waveform"></div>


var wavesurfer = WaveSurfer.create({
container: '#waveform',
waveColor: '#00FF00',
progressColor: '#FF0000'


wavesurfer.on('ready', function () {;
$('.waveform__duration').text( formatTime(wavesurfer.getDuration()) );

wavesurfer.on('audioprocess', function () {
$('.waveform__counter').text( formatTime(wavesurfer.getCurrentTime()) );


WaveForm generated using SOX

WaveForm Generator using SOX


Liquidsoap GStreamer

Hits: 5752  

LiquidSoap Liquidsoap is a programming language to manage audio and video source streams for Icecast Radio server.

Liquidsoap is a powerful and flexible language for describing, creating or transforming streams. It offers rich operators and library that you can be used for making Icecast Radio Server.

Now Play Your Favorite Radio FM Stream in HTML5 Player…..
Live Audio Streaming, Internet Radio Player


* It can play icecast stream from files, playlists, directories or scripted playlists.
* Liquidsoap used for scheduling of source streams.
* It help to Mix sources streams.
* It allows queuing of user requests.
* It allows sound compression, normalization, echo, volume, Blank detection.
* It is useful for rewriting and inserting Metadata in Radio Stream.
* It can play live stream play files and streams like
* It can output to Radio Server Icecast/Shoutcast (MP3/Ogg).
* It also support Video streams generation.

You can use it to stream RTMP MP3 stream to Icecast/Shoutcast using mplayer, rtmpdump or gstreamer …

GStreamer- open source multimedia framework

GStreamer provide a rich library to manage streaming audio/video with complex audio (mixing) and video (non-linear editing) processing.

gst =”playbin uri=rtmp://″)
output.icecast(%mp3(), host = “localhost”, port = 8000, password = “xxxxxx”, mount = “gst stream”, fallible=true, gst)

Common Errors

File format problem can display ^M characters

😉 : set ff=unix and then : x in vi editor

init: security exit, root euid (user)

😉 you need to run liq file with non root user

the variable used here has not been previously defined

😉 Define variable “” .. .find here

Stay connected for more Audio / Video Programming ….

Install Airtime – open source radio automation software

Hits: 8086  

Airtime is open source radio automation software (GPL v3) for GNU/Linux platforms. It’s recommend installing on Ubuntu Linux 12.04 LTS or Debian Squeeze on a computer with at least a 1 GHz processor and 512 MB of RAM for a Server Edition OS or 1GB of RAM for a Desktop Edition OS.

Download airtime-easy-setup

$ sudo wget
$ sudo apt-get install gdebi

$ sudo gdebi airtime-easy-setup.deb


Unpacking airtime-easy-setup (from airtime-easy-setup.deb) …
Setting up airtime-easy-setup (2.3.0-1) …
Installing Sourcefabric package signing key…
Setting up Airtime for Etc/UTC timezone…
Setting Icecast and Airtime domain names to ip-10-xxx-yy-74.ec2.internal…
Setting defaults for non-interactive installation…
Checking that the server has a UTF-8 locale…
en_US.UTF-8 is the default locale on this server and appears to support UTF-8 encoding.

Now please run the commands:

sudo apt-get update
sudo apt-get install airtime

After that, installation of Airtime should be complete in a couple of minutes.

You should then be able to log in to Airtime at http://ip-10-xxx-yy-74.ec2.internal/
Processing triggers for man-db …

Install Airtime

$ sudo apt-get update
$ sudo apt-get install airtime

*** Verifying your system environment, running airtime-check-system ***
AIRTIME_STATUS_URL = http://ip-10-xxx-yy-74.ec2.internal:80/api/status/format/json/api_key/%%api_key%%
KERNEL_VERSION = 3.5.0-21-generic
OS = Ubuntu 12.10 x86_64
CPU = Intel(R) Xeon(R) CPU E5430 @ 2.66GHz
WEB_SERVER = Apache/2.2.22 (Ubuntu)
— Your installation of Airtime looks OK!

******************************* Install Complete *******************************
Setting up liquidsoap-plugin-faad (1.0.1+repack1-1) …
Processing triggers for libc-bin …
ldconfig deferred processing now taking place



Install Admin Panel in Red5

Hits: 17372  

Hope you already read our previous articles for installing Red5 on different cloud based servers…

You can access Red5 Admin Panel after successful install of Red5 Server using


Check if you have access to http://your-ip-address:5080/admin/ ??

Red5 Admin Panel
Red5 Admin Panel

You must double check admin application is installed in Red5 Home (i.e. /usr/share/red5/webapps) or not?

Red5 Home Folder
Red5 Home Folder

If you could not find Red5 Admin Application in /usr/share/red5/webapps .. then you need to install admin panel ….

Install Admin Panel in Red5

# cd /usr/local/red5
# mkdir plugins
# cd plugins
# wget
# unzip -d /usr/local/red5/plugins

Download admin.jsp

# cd /usr/local/red5/webapps
# mkdir admin
# cd admin
# wget

Restart Red5 Server
# cd /usr/local/red5
# ./ &


# service red5 restart (if you have red5 service enabled)

Register admin user here


Red5 Admin First Time
Red5 Admin First Time

Login to Red5 admin panel


Red5 Admin Panel Live Application
Red5 Admin Panel Live Application
Red5 Admin Live Application Clients
Red5 Admin Live Application Clients

Install Streaming Audio Server With Icecast 2.3.3

Hits: 10804  

I need to install streaming audio server with Icecast (OGG/MP3) for one of my great client in service of Icecast was designed to stream any audio file using ices and icegenerator for MP3 and OGG/Vorbis audio files.

HTML5 MP3 Player with Playlist
HTML5 MP3 Player with Playlist

I already did lot of work using Shoutcast, SAMCast and SAM Broadcaster, Its very easy to use audio casting server online.

Today we will try to install Icecast 2.3.3 on CentOS x86_64 Server…

icecast is free server software for streaming multimedia.
icecast is free server software for streaming multimedia.

Setup Icecast Server

Download source and rpm needed

# yum groupinstall “Development Tools”
# yum install -y curl-devel libtheora-devel libvorbis-devel libxslt-devel speex-devel libxslt
# rpm –import
# cd /home
# wget
# mkdir -p /usr/src/icecast
# cd /usr/src/icecast
# wget

Unzip Icecast source

# tar xf icecast-2.3.3.tar.gz
# cd icecast-2.3.3

Configure, Compile and Install

# ./configure –prefix=/opt/icecast/2.3.3
# make
# make install

You might find icecast binary .. please confirm 😉

# ls /opt/icecast/2.3.3/bin/

Configure icecast with icecast.xml
# cd /opt/icecast/2.3.3/etc
# vi icecast.xml

Find more help here to setup xml file

Create icecast user & group

# groupadd -g 200 icecast
# useradd -d /var/log/icecast -m -g icecast -s /bin/bash -u 200 icecast

Before start icecast server check permission and make log folder
# mkdir -p /var/run/icecast
# chown -R icecast:icecast /var/run/icecast

Start the icecast server

# /opt/icecast/2.3.3/bin/icecast -c /opt/icecast/2.3.3/etc/icecast.xml -b   (background)

You will find Icecast server running here

Icegenerator – MP3 streaming client

Compile libshout and lib3lib (ID3 support), run ldconfig

# cd /usr/src/icecast
# wget

# tar xf libshout-2.3.1.tar.gz
# cd libshout-2.3.1

# ./configure –prefix=/opt/icecast/2.3.3
# make
# make install

Install icegenerator

# cd /usr/src/icecast
# wget
# tar xfz icegenerator-0.5.5-pre2.tar.gz
# cd icegenerator-0.5.5-pre2

# ./configure
# make
# make install

Now configure icegenerator to create MP3 radio station

# vi /usr/local/etc/svnlabs

NAME=SVNLabs MixStreams

You can even use MP3 folder path


Create playlist file

# vi /usr/local/etc/svnlabs.m3u


Or try ….

# find /var/www/html/songs/ -name “*.mp3” > /var/www/html/svnlabs.m3u

Make sure you have setup all paths
# su – icecast -c “export LD_LIBRARY_PATH=/opt/icecast/2.3.3/lib:$LD_LIBRARY_PATH; /usr/local/bin/icegenerator -f /usr/local/etc/svnlabs”

Get more help from here for icegenerator variables


Start other radio station using Running Icecast Server

# /usr/local/bin/icegenerator -f /usr/local/etc/indie

Icecast Streaming Media Server
Icecast Streaming Media Server

Kaltura Red5 iOS Live Streams Setup

Hits: 7595  

We have a plugin that can be used for streaming kaltura live red5 rtmp to mobile devices.

Kaltura Red5 Live Plugin take below data to segment live video stream

– Red5 Live Video RTMP Stream Link
– Red5 Stream Name
– Publishing Folder
– Publishing Link

Configure Live Stream for Mobile on Kaltura Red5
Configure Live Stream for Mobile on Kaltura Red5

The Main feature of this plugin to show live RTMP streams using Adobe FMLE, on computers using the Kaltura Player and HTML5 player on mobile devices using M3U8 video iOS compatible format.

– Capture Red5 live kaltura stream for FFMpeg Segmentation
– Manage Segmented Clips in M3U8 format
– Stream iOS compatible video to iPhone / iPad in HTML5 Player
– Track Analytic / Stats for live stream in HTML5 Player
– Embed code for HTML5 Player
– Track process log

Live Stream for Mobile on Kaltura Red5
Live Stream for Mobile on Kaltura Red5
KMC - content - manage
KMC – content – manage

Process Log Live Stream for Mobile on Kaltura Red5

Process Log Live Stream for Mobile on Kaltura Red5
Process Log Live Stream for Mobile on Kaltura Red5

Embed Code Live Stream for Mobile on Kaltura Red5

Embed Live Stream for Mobile on Kaltura Red5
Embed Live Stream for Mobile on Kaltura Red5

Related Articles
* VOD to iOS
* Record Audio from Websites
* Red5 Media Server iOS Android Setup

Kaltura Live Red5 CAM RTMP to iOS (iPhone or iPad). Get more help for HTTP Live Video Stream Segmenter and Distributor Contact Us

RTMP (Red5) -> FFMpeg -> Segementer -> .ts files -> iOS (m3u8)

Create Website Thumbnails using PhantomJS

Hits: 9351  

Hope you read my old article “Create WebThumb using LAMP”, it used for creating web thumbnails from Xvfb virtual framebuffer that is more time and resource consuming.

Shell Script with Xvfb try to open web browsers in real remote server to capture web-thumbs…

That whole setup might take a full day and image quality is very bad….

Thanks to PhantomJS

PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

Simple Javascript example

console.log(‘Loading a web page’);
var page = require(‘webpage’).create();
var url = ‘’;, function (status) {
//Page is loaded!


– Headless Website Testing
– Screen Capture
– Page Automation
– Network Monitoring

Fork on Github

PhantomJS is using WebKit for a real layout and rendering engine, it can be used to capture web page as screenshot or PDF files. PhantomJS can render anything on the web page, it can be used to convert contents in HTML/CSS, SVG and Canvas.

// Thumbnail of Webpage using webthumb.js

var page = require('webpage').create(),
    system = require('system'),

if (system.args.length !== 3) {
    console.log('Usage: webthumb.js webURL filename');
    console.log('Usage: webthumb.js svnlabs.png');
} else {
    weblink = system.args[1];
    fname = system.args[2];    
    page.viewportSize = { width: 320, height: 480 };, function (status) {
    if (status !== 'success') {
        console.log('Unable to open webpage!');
    } else {
    window.setTimeout(function () {
    }, 3000);

Download webthumb.js

# phantomjs webthumb.js svnlabs.png
# phantomjs webthumb.js svnlabs.pdf

You can even capture webpage as good quality PDF file 😉



You can also use examples/rasterize.js for same sort of functions 😉

# phantomjs examples/rasterize.js svnlabs.png
# phantomjs examples/rasterize.js ‘’ svnlabs.pdf

rasterize.js – rasterizes a web page to image or PDF
render_multi_url.js – renders multiple web pages to images
technews.js – captures Google News as a PNG image