Install MistServer


Hits: 11040  

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_pos

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 http://www.mistserver.org/index.php?title=Downloads

You can clone source from https://github.com/DDVTECH/

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

# wget http://releases.ddvtech.com/download.php?pack=mistserver_64&ver=1.2.1

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

Check quick start here http://www.mistserver.org/index.php?title=Quick_Start

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

You need to point your browser to connect Mist Server Manager

http://server-ip:4242/#root@http://server-ip:4242/api

Mistserver Manager Login

Kill MistServer

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

Find more info about MistServer from http://wiki.mistserver.org/

Compare MistServer with other Media Streaming Servers like Wowza or Red5 here http://www.mistserver.org/index.php?title=Compare

You can find Linux User Guide for MistServer from http://mistserver.org/index.php?title=User_Guide_(Linux)

Stay connected for more MistServer Configurations and Addons 😉

Install Wowza Media Server for Google Compute Engine


Hits: 4138  

Hope you really enjoyed our articles about Google Compute Engine..

Install Apache, PHP, MySQL on Google Compute Engine

Build your business on Google Cloud Platform

Install Red5 on Google Compute Engine

First you need to install Google Cloud platform command-line tools https://developers.google.com/compute/docs/gcutil

$ wget https://code.google.com/p/google-compute-engine-tools/downloads/detail?name=gcutil-1.9.0.tar.gz
$ sudo apt-get install unzip

$ export PATH=${PATH}:$HOME/gcutil-1.9.1
$ sudo ln -s /usr/local/share/gcutil-1.9.1/gcutil /usr/local/bin/gcutil

Then make sure you have Ports used for Wowza streaming
http://www.wowza.com/forums/content.php?217#openPorts

TCP 1935: RTMP (all variants)
TCP 8084-8085: JMX/JConsole monitoring and administration
TCP 8086: HTTP administration
TCP 80: Apple HTTP Live Streaming (Apple HLS), Adobe HTTP Dynamic Streaming (Adobe HDS), Microsoft Smooth Streaming, MPEG-DASH streaming, RTMPT
TCP 443: RTMPS, HTTPS
TCP 554: RTSP

$ gcutil addfirewall red5 –description=”Let open port 5080.” –allowed=”tcp:5080″
$ gcutil addfirewall rtsp –description=”Let open 554 rtmp port.” –allowed=”tcp:554″
$ gcutil addfirewall rtmp –description=”Let open 1935 rtmp port.” –allowed=”tcp:1935″
$ gcutil addfirewall http2 –description=”Let open port 5080.” –allowed=”tcp:8086″
$ gcutil getfirewall

Check Java Version or Install

$ sudo apt-get update
$ sudo apt-get install java-package
$ sudo apt-get install openjdk-6-jdk
$ sudo apt-get install openjdk-6-jre

Now read Install Wowza Examples

Download Wowza and install examples

$ wget http://www.wowza.com/downloads/WowzaMediaServer-3-6-2/WowzaMediaServer-3.6.2.deb.bin
$ chmod +x WowzaMediaServer-3.6.2.deb.bin
$ ./WowzaMediaServer-3.6.2.deb.bin
$ cd /usr/local/WowzaMediaServer/bin
$ sudo ./startup.sh
$ cd /usr/local/WowzaMediaServer-3.6.2/examples
$ sudo chmod +x installall.sh
$ sudo ./installall.sh

$ sudo service WowzaMediaServer start

Please check Wowza Forum for more help…
http://www.wowza.com/forums/content.php?560-How-to-set-up-Wowza-for-Google-Compute-Engine

Red5 RTMP Protocol


Hits: 3612  

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: 6821  

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

soundcloud-waveform

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

wavesurfer.js

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/wavesurfer.js/1.4.0/wavesurfer.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/wavesurfer.js/1.4.0/plugin/wavesurfer.playlist.min.js"></script>

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

<script>

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


wavesurfer.load([MP3-File-URL]);

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

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

</script>

WaveForm generated using SOX

WaveForm Generator using SOX

Links:

https://github.com/afreiday/php-waveform-png
https://github.com/afreiday/php-waveform-svg
https://github.com/beschulz/wav2png
https://github.com/beschulz/wav2json
http://www.rarewares.org/mp3-lame-bundle.php

Liquidsoap GStreamer


Hits: 5693  

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

Features

* 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 Last.fm.
* 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.

#!/usr/bin/liquidsoap
set(“log.file.path”,”logs/gs.log”)
set(“log.file”,true)
set(“log.stdout”,true)
….
….
gst = input.gstreamer.audio(pipeline=”playbin uri=rtmp://server.com/livestream.mp3″)
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 input.gstreamer.audio used here has not been previously defined

😉 Define variable “input.gstreamer.audio” .. .find here https://github.com/savonet/liquidsoap/tree/master/scripts

Stay connected for more Audio / Video Programming ….

Audiojs.swf?playerInstance audiojs instances [%27audiojs0%27]


Hits: 4282  

If you are using audio.js as MP3 player or playlist …. on some browser it causing error 403 to access SWF file with player instance

http://yourdomain.com/audiojs/audiojs.swf?playerInstance=audiojs.instances[%27audiojs0%27]&datetime=1382426114401.4087

You need to make sure you have right permission on that SWF file and check JavaScript playerInstance below….

Firefox Error

403 Forbidden

http://yourdomain.com/audiojs/audiojs.swf?playerInstance=audiojs.instances[%27audiojs0%27]&datetime=1382426114401.4087

Solution:

Just replace code (Original audio.js)

flashSource: ‘\
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ id=”$1″ width=”1″ height=”1″ name=”$1″ style=”position: absolute; left: -1px;”> \
<param name=”movie” value=”$2?playerInstance=’+audiojs+’.instances[\’$1\’]&datetime=$3″> \
<param name=”allowscriptaccess” value=”always”> \
<embed name=”$1″ src=”$2?playerInstance=’+audiojs+’.instances[\’$1\’]&datetime=$3″ width=”1″ height=”1″ allowscriptaccess=”always”> \
</object>’,

with

flashSource: ‘\
<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ id=”$1″ width=”1″ height=”1″ name=”$1″ style=”position: absolute; left: -1px;”> \
<param name=”movie” value=”$2?playerInstance=’+audiojs+’.instances[&quot;$1&quot;]&datetime=$3″> \
<param name=”allowscriptaccess” value=”always”> \
<embed name=”$1″ src=”$2?playerInstance=’+audiojs+’.instances[&quot;$1&quot;]&datetime=$3″ width=”1″ height=”1″ allowscriptaccess=”always”> \
</object>’,

This is not permission (0755 or 0777) error of SWF file, Make sure you have valid characters on some browsers…

instances[\’$1\’] => instances[&quot;$1&quot;] 😉

Media Streaming CMS


Hits: 12228  

WMSPanel is reporting and control cloud panel for Nimble Streamer and Wowza Streaming Engine. It’s also used as a control UI for Live Transcoder for Nimble Streamer

wmspanel

Kaltura, the Open Source Community provides tools such as: online video player, open source editor and open source video for websites.

Kaltura CMS
Kaltura CMS

EZserver is an Easy-to-Use Video Server to let you easily install, manage and provide video service. And, it is also integrated with IP Blocker, Player Filter, Time Shift, DVR, Subscriber Management and Middleware for IPTV / OTT and VOD service.

Ezhometech IPTV server, Video Server, IPTV player, IPTV Middleware

MEDIA CONTROL PANEL – supports all media server types including shoutcast, icecast, wowza media and windows media services.

cast control

Streamio – Online Video CMS – Managing HD video content on websites, intranets and social media networks.

streamio

ViMP is the professional Video CMS for WebTV, Social Media portals and Video Communities with mobile and HTML5 support. We also offer associated transcoding, hosting und dedicated servers.

vimp media product

Manage online videos with Brightcove’s video Content Management System (CMS). Learn how to sort, manage and organize your entire video library with ease.

brightcove

Build a centralized, searchable video library with Panopto Unison. Import, edit, and manage video of any format in Panopto’s powerful video CMS.

Online Video Platform - Panopto