Webisode


Hits: 3542  

The webisode is simply a web episode, this is a new medium called web television that stream live broadcast, dramas, serial storyline, media events online over the Internet

The webisode is web episode especially viewed at a Web site for TV show have been telecast.

Technologies Used

* HTTP
* RSS/JSON
* RTSP/RTMP
* SMIL
* WTVML
* ASX
* MMS

Streaming Audio/Video formats

* Adobe Flash – MP3, FLV, MP4
* Microsoft Media – Silverlight, ASF, ASX, WAX, WMA, WMV
* RealNetworks – RM, RAM, RA, SMIL
* Apple QuickTime Audio/Video streams
* Shoutcast/Icecast – MP3, AAC, OGG
* MoveNetworks MoveMediaPlayer

CDN Used

* Amazon S3 CloudFront
* Google
* YouTube
* MaxCDN
* Rackspace CDN
* EdgeCast
* Flickr
* Akamai
* StreamGuys

Servers Used

* Wowza
* Adobe
* Red5
* SHOUTCast
* Windows Media Server

Clients Used

* Adobe – Flash Media Live Encoder
* Windows Media Encoder
* VLC Player
* SMPlayer
* SAMCast

Streaming Tools

* MPlayer
* FFmpeg
* RTMPDump
* VLC
* Flash Media Players
* HTML5

CMS Used

* Kaltura
* VidZapper

A webcast is a media streaming technology to distribute single media content source to many simultaneous listeners/viewers. The webcast might be distributed live or on demand. Webcasting is “broadcasting” over the Internet.

http://www.svnlabs.com/services/media-streaming

 

There are only two ways to live your life

Tolerate things the way they are…… Or take responsibility to change them.

Install OpenMeetings


Hits: 9745  

OpenMeetings – An Open Source Web Conferencing Solution that share microphone or webcam, share documents on a white board, share your screen or record meetings.

Install Development Tools

# yum groupinstall “Development Libraries” -y
# yum groupinstall “Development Tools” -y

IPTables – Make sure the following firewall ports are open
1935 (RTMP), 8088 (RTMP-Over HTTP), 5080 (HTTP), 4445 (Desktop Sharing), 8443 (RTMP over SSL)

iptables -A INPUT -p tcp -m tcp –dport 1935 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 8088 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 5080 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 4445 -j ACCEPT
iptables -A INPUT -p tcp -m tcp –dport 8443 -j ACCEPT

# yum update

Edit MySQL config file: /etc/my.cnf, add multi-language(Chinese) support
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
collation-server=utf8_general_ci
init-connect=’SET NAMES utf8′

[client]
default-character-set=utf8

[root@server3 ~]# java -version
java version “1.6.0_20”
OpenJDK Runtime Environment (IcedTea6 1.9.10) (rhel-1.23.1.9.10.el5_7-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

Firewall configuration

http://wiki.centos.org/HowTos/SELinux

Security Level: Disabled
SELinux: Disabled

# sestatus

System servcies
………………………..

# ps aux | grep ‘service’

apmd
auditd
autofs
avahi-daemon
bluetooth
cpuspeed
cups
firstboot
gpm
hidd
ip6tables
iptables
irqbalance
mcstrans
mdmonitor
microcode_ctl
netfs
nfslock
pcscd
portmap
restorecond
rpcidmapd
rpcsvcgssd
sendmail
smartd
xfs
yum-updatesd

# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

# vi /etc/rc.local

/usr/lib64/openoffice.org3/program/soffice “-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager” -nologo -headless -nofirststartwizard &

# yum install freetype freetype-devel fontconfig fontconfig-devel java-1.6.0-openjdk-devel libtiff libtiff-devel libjpeg-devel libjpeg giflib giflib-devel libpaper libpaper-devel xml-commons-apis libpng libpng-devel libxml2 libxml2-devel fftw3 fftw3-devel cairo cairo-devel flac flac-devel wavpack wavpack-devel libsndfile libsndfile-devel libmad libmad-devel yasm-devel yasm gcc gcc-c++

# yum groupinstall ‘Office/Productivity’
# yum install openoffice.org-headless

# rpm -e –nodeps ghostscript ghostscript-devel

Install GhostScript

# cd /usr/src
# wget http://ghostscript.com/releases/ghostscript-8.71.tar.gz
# tar zxvf ghostscript-8.71.tar.gz
# cd ghostscript-8.71
# ./configure –prefix=/usr
# mkdir obj
# mkdir bin
# make all
# make install

Install LAME

# cd /usr/src
# wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
# tar zxvf lame-3.98.4.tar.gz
# cd lame-3.98.4
# ./configure –prefix=/usr
# make all
# make install

Install SWFTools

# cd /usr/src
# wget http://www.swftools.org/swftools-0.9.1.tar.gz
# tar zxvf swftools-0.9.1.tar.gz
# cd swftools-0.9.1
# ./configure –prefix=/usr
# make all
# make install

Install ImageMagick

# cd /usr/src
# wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.6.4-10.tar.gz
# tar zxvf ImageMagick-6.6.4-10.tar.gz
# cd ImageMagick-6.6.4-10
# ./configure –prefix=/usr
# make all
# make install

Install FFmpeg

# cd /usr/src
# svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
# cd ffmpeg
# ./configure –enable-libmp3lame –enable-postproc –enable-gpl –enable-pthreads –enable-avfilter –prefix=/usr
# make all
# make install

Install SOX

# cd /usr/src
# wget http://downloads.sourceforge.net/project/sox/sox/14.3.1/sox-14.3.1.tar.gz
# tar zxvf sox-14.3.1.tar.gz
# cd sox-14.3.1
# ./configure –prefix=/usr
# make all
# make install

Download OpenMeetings package

# cd /usr/src
# wget http://openmeetings.googlecode.com/files/openmeetings_1_6_2_r3675.zip
# unzip openmeetings_1_6_2_r3675.zip -d om

# cd /usr/src/om/red5/webapps/openmeetings/conf
# cp mysql_hibernate.cfg.xml hibernate.cfg.xml (add mysql password)

mysql> create database openmeetings;

# cd /usr/src/om/red5
# nohup ./red5.sh &

# nohup /usr/lib64/openoffice.org3/program/soffice “-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager” -nologo -headless -nofirststartwizard &

http://SERVER_IP_ADDRESS:5080/openmeetings/install

Errors:

NetConnection.Call.Failed rtmpt://localhost:8088/openmeetings/hibernate

Stream Live Event Using VLC Media Player


Hits: 7859  

Windows Media Encoder is a media encoder developed by Microsoft which convert or capture or broadcast both prerecorded & live media like audio, video and computer screens to WMV formats for live and on-demand service.

But if you are on Linux you must have some questions in mind…

1. How to Stream Online Using Internet Streaming Server
2. How to connect camera to the computer and using Media Server for live stream

In Linux environment VLC Media Player is best solution to stream live stream from camera to anywhere in world 😉

Quality vs Size

The Quality and Size always matter while you broadcast streams, but VLC provide you such a facility to manage your camera in real time and send some chunks over particular time interval to publishing point for live broadcast.

If you already plugged camera to your computer then you are ready to stream media to publishing point…

Now what is publishing point?

Publishing Point is a third party server used for providing media stream to real users on internet. Each time VLC send data in blocks to publishing point and users can access that point to enjoy real camera stream live.

You can convert any web server to Publishing Point, but this web server must be connected to internet with real public IP.

We have 2 options for Publishing Point:

1. You can use Port Forwarding if you have no web server with public IP installed on PC.
2. Else use real public IP with web server 😉

Port Forwarding Configuration: Router Setting allows to create, modify and delete port forwarding rules to work on your computers if the Internet connection uses NAT.

Advanced Stream Redirector


Hits: 2693  

The Advanced Stream Redirector (ASX) format is used to store playlist of Windows Media files for a multimedia presentation using HTTP, RTSP and MMS streaming protocols.

ASF (Advanced Streaming Format) is a streaming media format developed by Microsoft. ASF files contain video, audio, slide shows and synchronized events for WMV files.

* The ASF file is media file, containing video, audio, etc.
* The ASX file is a metafile contains data about another file.

<asx version="3.0">
  <title>Video Live Stream</title>
 
  <entry>
    <title>SVNLabs Main Stream</title>
    <ref href="http://www.svnlabs.com/vod/media.wma" />
    <param name="aParameterName" value="aParameterValue" />
  </entry>
 
  <entry>
    <title>SVNLabs Radio</title>
    <ref href="http://www.svnlabs.com:8080" />
    <author>SVNLabs.com</author>
    <copyright>©2012 SVNLabs.com</copyright>
  </entry>

</asx>

PHP Advanced Stream Redirector

<?php

header("Content-Type: video/x-ms-asf;"); 

$title = isset($_REQUEST['title'])?$_REQUEST['title']:"";
$author = isset($_REQUEST['author'])?$_REQUEST['author']:"";
$file = isset($_REQUEST['file'])?$_REQUEST['file']:"";


echo "<asx version=\"3.0\">";
  echo "<title>".$title."</title>";
  echo "<entry>";
    echo "<title>".$title."</title>";
    echo "<author>".$author."</author>";
    echo "<ref href=\"http://www.svnlabs.com/vod/".$file."\"/>";
  echo "</entry>";
echo "</asx>";



?>

Demo: http://www.svnlabs.com/vod/vod.php?title=SVNLabs&author=SVNLabs&file=QFTkJ4gPbk9kiQhmhxmnqw.wmv

SoundCloud Application


Hits: 2531  

Connect the World of Sound

* Share : http://developers.soundcloud.com/blog/sharing-sounds
* Stream : http://developers.soundcloud.com/blog/stream-and-download
* Customize : http://developers.soundcloud.com/blog/custom-players

SoundCloud Widgets

http://soundcloud.com/pages/widgets

http://soundcloud.com/svnlabs

API | Javascript SDK | Widget | Custom Player | oEmbed

API Wrapper for SoundCloud written in PHP with support for authentication using OAuth 2.0

<?php
try {
    $response = json_decode($soundcloud->get('me'), true);
} catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) {
    exit($e->getMessage());
}

?>

Demo Apps

https://github.com/mptre/ci-soundcloud
https://github.com/jazonv/soundclouder
https://github.com/fastfrwrd/joshuashank.com
https://github.com/thegreat/Drupal-SoundCloud
https://github.com/idflood/sndlite

There are many sound applications built using the SoundCloud API.

PHP Proxy Script


Hits: 3325  

Glype web-based proxy provides a proxy service to users via a web browser. A proxy service downloads requested web pages bypassing censorship and restrictions and forwards to the user..

Glype Proxy Script

  • Free for personal use and affordable licensing options for commercial use.
  • Source Viewable and webmasters may modify the source code subject to the terms of the license.
  • Plug and Play. Simply upload, configure and go!
  • Admin Control Panel for easy management and configuration.
  • JavaScript Support provides increased compatibility with websites.
  • Skinable. A theme system allows for customization of your proxy.
  • Access Controls blacklist users by IP address and websites by domain name.
  • BlockScript™ Integration protects the proxy by blocking specificed countries, filtering companies, malicious traffic, bots and spiders, and more.
  • Unique URLs provide greater privacy by expiring URLs in the browser history at the end of a browsing session.
  • Plugins allow for easy installion of site-specific modifications. Useful for adding new functionality to websites.
  • Advanced Options let users change their user-agent and referrer, manage cookies, and remove JavaScripts and Flash.
  • The script requires PHP5 (or greater) with cURL enabled.

Proxy Script

BigBlueButton API in PHP


Hits: 12127  

BigBlueButton -- Open Source Web Conferencing

BigBlueButton supports sharing of slides (PDF and PPT), video, whiteboard, chat, voice (using Asterisk or FreeSWITCH), and desktops. It’s built using over many open source components, runs on Mac, Unix, and PC computers, and is supported by a community that cares about good design and a streamlined user experience.

BigBlueButton is built using the following open source components:

Ubuntu, Flex SDK, Ghostscript, Grails, ActiveMQ, Asterisk, Image Magick, MySQL, nginx, Red5, swf Tools, Tomcat, Asterisk Java, Xuggler, Open Office…

BBB is available on Google Code

BigBlueButton is an open source web conferencing system that enables universities and colleges to deliver a high-quality learning experience to remote students.

See examples of how you can integrate BigBlueButton into your applications.

Create Your Own Meeting


<?php

$IP ‘yy.yy.xx.xxx’;  // Server IP where BigBlueButton (BBB) Installed

$Port 81;  // Server port to BBB i.e. 81

// Method: create – To create meeting

$string “createname=Test+Meeting&meetingID=accounts123&attendeePW=accounts123&moderatorPW=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;  // security salt for BBB & API

$sha sha1($string.$salt);

$link “name=Test+Meeting&meetingID=accounts123&attendeePW=accounts123&moderatorPW=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/create?<?php echo $link?>“>Create Meeting</a><br><br>

<?php

// Method: join – To join meeting

$string “joinfullName=Joe+User&meetingID=accounts123&password=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha sha1($string.$salt);

$link “fullName=Joe+User&meetingID=accounts123&password=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/join?<?php echo $link?>“>Join Meeting</a><br><br>

<?php

// Method: join – To join meeting as username

$string “joinfullName=Sandeep&meetingID=accounts123&password=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha sha1($string.$salt);

$link “fullName=Sandeep&meetingID=accounts123&password=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/join?<?php echo $link?>“>Join Meeting as sandeep</a><br><br>

<?php

// Method: isMeetingRunning – To check meeting is active/running

$string “isMeetingRunningmeetingID=accounts123”;

$salt “XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha sha1($string.$salt);

$link “meetingID=accounts123&checksum=”.$sha;

?>

<a href=”http://<?php echo $IP?>:<?php echo $Port?>/bigbluebutton/api/isMeetingRunning?<?php echo $link?>“>Check Meeting Running</a><br><br>

Create Your Own Meeting Link

Checkout other article “BigBlueButton on CentOS”

Download BBB.zip

Zones – MaxCDN Control Panel


Hits: 3760  

A Content Delivery Network (CDN) enables site owner who demands a high performance, supremo visitor experience.

The MaxCDN Content Delivery Network efficiently delivers your site’s static files through hundreds of servers instead of slogging through a single host. This “smart route” technology distributes your content to your visitors via the city closest to them.

MaxCDN makes your site load faster… Much faster! Increased server capacity. Enhanced site….

Pull Zones

This Zone is for your every-day support files. A Pull Zone will automatically pull the data from a location that you specify upon the first request for the file. The files are served to the end user from either a subdomain of netdna-cdn.com or a custom domain (sub domain) of your choice that points to the CDN. The data is automatically purged from the server after an customizable amount of time.

Examples: Image Files, CSS Files, JavaScript Files

Push Zones

This Zone is built for larger files that rarely change. The data is uploaded to an account on our Storage Array which is then automagically pushed to all of our Edge Servers. The data is served to the end user from a domain (or sub domain) of your choice that points to the CDN. The files remain until modified or the zone is deleted.

Examples: Installers, E-Books, PDF’s

VOD Zones

This Zone is built for video and audio streaming. The data is uploaded to an account on our Storage Array which is then automagically pushed to all of our Edge Servers. The data is served from our specially modified WOWZA server using the RTMP (Real Time Media Protocol). The files remain until modified or the zone is deleted.

Examples: Flash, Windows Media, RealPlayer, Quicktime Files

Live Zones

This Zone is built specifically for live video or audio. The live content is received from a stream that is specified. The stream is then rebroadcast to the end users from a domain (or sub domain) of your choice that points to the CDN. The stream remains active until the zone is deleted.

Examples: Live webinar, Radio Station

Amazon SES – Emails In Cloud


Hits: 3617  

Amazon Simple Email Service (Amazon SES) is a highly scalable and cost-effective bulk and transactional email-sending service for businesses and developers. Amazon SES eliminates the complexity and expense of building an in-house email solution or licensing, installing, and operating a third-party email service. The service integrates with other AWS services, making it easy to send emails from applications being hosted on services such as Amazon EC2. With Amazon SES there is no long-term commitment, minimum spend or negotiation required – businesses can utilize a free usage tier and after that enjoy low fees for the number of emails sent plus data transfer fees.

AWS developers can download Amazon-SES-Mailer-PHP from here

First, make sure this library and the PEAR modules are in your include_path

<?php
require_once('AmazonSESMailer.php');

// Create a mailer class with your Amazon ID/Secret in the constructor
$mailer = new AmazonSESMailer('your id', 'your secret');

// Then use this object like you would use PHPMailer normally!
$mailer->AddAddress('you@example.com');
$mailer->SetFrom('you@example.com');
$mailer->Subject = 'Sent from Amazon SES';
$mailer->MsgHtml('This is a test');
$mailer->Send();
?>

Source
https://github.com/geoloqi/Amazon-SES-Mailer-PHP
http://aws.amazon.com/developertools/Amazon-SES
http://aws.amazon.com/php/

➡ Lack of clarity ❓ -> Confusion 😳 -> Inaction 😈 -> Failure 🙁
➡ Concentrate 😯 -> Observe 🙄 -> Imagine 💡 -> Launch 🙂

Amazon S3 Server Side Encryption (SSE)


Hits: 3947  

Amazon S3 announced a new encryption feature Server Side Encryption (SSE). Amazon S3 SSE provides you the ability to encrypt data stored at rest in Amazon S3. With Amazon S3 SSE, you can encrypt data on upload simply by adding an additional request header when writing the object to Amazon S3. Decryption happens automatically when data is retrieved.

Amazon S3 Server Side Encryption employs strong multi-factor encryption. Each object is encrypted with a unique key. As an additional safeguard, this key is itself encrypted with a regularly rotated master key. Amazon S3 Server Side Encryption uses one of the strongest block ciphers available — 256-bit Advanced Encryption Standard (AES-256) — to encrypt your data. For customers seeking to comply with certain regulations such as PCI and HIPAA, Amazon S3 Server Side Encryption may be used as part of an overall strategy to encrypt sensitive data for regulatory or compliance reasons.

You can start using Amazon S3 Server Side Encryption today using the AWS Management Console or the Amazon S3 API.

To use Amazon S3 SSE from the AWS Management Console:

1. Under the Amazon S3 tab, use the upload dialog to add files to be uploaded.

2. In the “Set Details” section of the upload dialog, set the “Use Server Side Encryption” checkbox property.

3. Start Upload. The files will be encrypted and stored in Amazon S3.

If you prefer to manage your own encryption keys, you can also make use of the client libraries for encryption provided by Amazon.

Amazon S3 Server Side Encryption has no additional charge for Amazon S3 customers.

Read More:

Server Side Encryption
Class AmazonS3EncryptionClient

A -> Attitude
S -> Skill
K -> Knowledge
Don’t criticize…. discovery best deal that can help you to resolve Issues! 😛