Live Audio Broadcast with Wowza Media Server

1 / 16
About This Presentation
Title:

Live Audio Broadcast with Wowza Media Server

Description:

Live Audio Broadcast with Wowza Media Server – PowerPoint PPT presentation

Number of Views:433

less

Transcript and Presenter's Notes

Title: Live Audio Broadcast with Wowza Media Server


1
Live Audio Broadcast Using Wowza Media Server
2
About Neev
Key Company Highlights
Web
Mobile
Cloud
Magento eCommerce SaaS Applications Video
Streaming Portals Rich Internet Apps Custom
Development
AWS Consulting Partner Rackspace Joyent
Heroku Google App Engine
iPhone Android Windows Phone 7 HTML5 Apps
250 team with experience in managing offshore,
distributed development.Neev Technologies
established in Jan 05 VC Funding in 2009 By
Basil Partners Part of Publicis Groupe Member
of NASSCOM.Development Centers in Bangalore
and Pune. Offices at Bangalore, USA, Delhi,
Pune, Singapore and Stockholm.
User Interface Design and User Experience Design
Performance Consulting Practices
Quality Assurance Testing
Outsourced Product Development
3
Wowza for Live Audio Broadcast A Brief
Overview
  • Wowza Media Server is a popular, Java-based
    streaming server used for streaming live and
    on-demand audio and video content for consumption
    on various client platforms like PC, iPhone,
    Android, etc.
  • Wowza provides a lot of features out of the box.
    Its written in Java and can be extended by
    writing components in Java
  • In order to stream live radio, Neev uses a Flex
    based client that captures the audio input from
    users microphone and sends the same to Wowza
    Server for broadcasting
  • This needs knowledge of Flex API and ActionScript
  • For listening to the live stream, one can use
    JWPlayer (for Flash-based browsers) or HTML5 for
    iPhone/iPAD browsers

4
Setting up Wowza Media Server
  • Setting up Wowza Media Server comprises a few
    simple steps
  • Assuming we have a Wowza Media Server already
    installed, we need to setup an application under
    Wowza Media Server. Lets call this liveradio.
  • To do this
  • Create a folder named liveradio under Wowza
    installations application directory
  • Create a folder named liveradio under Wowza
    installations conf directory
  • Create a file named Application.xml  by copying
    an existing file from conf directory
  • Open the newly created Application.xml and modify
    the value of  /Root/Streams/StreamType node
    to live
  • Restart Wowza server

5
Coding the Flex Client for Broadcasting
  • Coding the Flex Client for an audio broadcast
    would need very good understanding of Flex API
    and ActionScript (AS).
  • You will need to setup an ActionScript project.  
  • An IDE like FlashDevelop can be used for the
    same.  
  • The typical steps you need to follow to capture
    audio and send to Wowza are given in the next few
    slides.

6
Setting up the Microphone
  • The screenshot below links to AS code for setting
    up the microphone.
  • Please click on it to view it on the respective
    blog page.

7
Setting up the Network Connection
  • We need to set up the Network Connection to send
    captured audio data to Wowza server.
  • (The screenshot below links to relevant code.
    Please click on it to view it.)

8
Creating a Page for Playing to the Live
Broadcast
  • The broadcasted audio can be played by using a
    flash based player or HTML5 audio-tag based on
    the browser.
  • One can also use a player like JWPlayer that can
    embed audio/video in Flash format with HTML5
    fallback.
  • Any other flv player that supports RTMP streaming
    can also be used.
  • The code has two configurations viz RTMP and
    HTML5.
  • RTMP is supported in browsers that allow content
    in flash.
  • Since both iPhone and iPad do not support Flash
    content therefore one must fall back on HTML5 and
    use the Cupertino streaming support for iPAD and
    iPhone.
  • (Please click on the code below to reach our blog
    which contains the code)

9
Challenges and How They Were Overcome
  • The streams published from the flex based client
    is in RTMP format and it can be streamed to a
    RTMP/Flash based player only
  • SPEEX, which is the audio codec used, needs to be
    converted to an H.264 compatible codec like AAC .
    This can then be played on an iPhone/iPAD
  • There are two ways to do the same
  • Firstly, one could use an AddOn like Wowza
    Transcoder or a tool like FFMPEG
  • The Wowza Transcoder works on only 64-bit
    machines with 64-bit Java, whereas FFMPEG is
    Open-Source and could be used on 32-bit machines

10
Wowza Transcoder AddOn
  • The Wowza Transcoder AddOn can transcode any
    configured incoming stream from one format to
    another.
  • Here we encoded our live audio format codec
    from SPEEX to AAC.
  • Heres how to do this
  • Setup Wowza Transcoder AddOn. The AddOn works
    only on 64-bit machines.
  • Create a transcoder template audio_speex.xml  in
    Wowzas transcoder/templates folder as shown in
    the linked content below. (Please click on it to
    reach the blog which contains the code)
  • 3. Edit Application.xml and set /Root/Transcoder/T
    emplates to SourceStreamName_speex.xml,
    transrate.xml
  • 4. The Wowza Transcoder Add-on is quite powerful
    and can transcode the incoming streams to
    multiple formats and bit rates for consumption on
    different types of players and devices with
    varying bandwidths.

11
FFMPEG Simple Command Line Tool for
Transcoding
  • FFmpeg is a set of tools to record, play and
    convert audio and video from/to various formats
  • It can be used with Wowza Media Server to encode
    the live audio stream from our application
    from SPEEX to AAC codec
  • Below are the steps to get it working with Wowza
  • Install FFmpeg for the respective platform. This
    is a challenging task as FFmpeg has a lot of
    dependencies. It will usually get installed
    using yum on CentOS or aptitude get install on
    Ubuntu. Make sure FFmpeg is configured
    with enable-librtmp and enable-libfaac.
    Run ffmpeg command without any arguments if these
    are enabled.
  • Start broadcasting the audio from the flex client
  • Run the below command to transcode the live
    stream called audio from Wowza and make it
    available as another stream called audio_ios
    for playing on iPhone/iPADffmpeg -i
    rtmp///liveradio/audio -acodec libfaac -vcodec
    copy -f flv rtmp///liveradio/audio_ios

12
Extending Current Setup to Include Video
  • This setup can be extended easily to stream live
    video along with audio.
  • This can be done as follows
  • In your flex client, the Camera will be setup
    just like the Microphone was in the above
    example and the same will be attached to the
    flash NetStream
  • The JWPlayer code is modified so that the
    provider for html2 is video instead of sound

13
Wowza Use Cases at Neev
  • We at Neev Technologies have successfully used
    Wowza Media Server for applications involving
    on-demand streaming of movies/TV programs, live
    audio/video streaming.
  • In addition there are other use cases like live
    re-streaming/recording of IP camera streams, live
    video/chat where we see Wowza as a great fit.
  • Some applications were deployed on a single node
    and some used Origin-Edge cluster for high load
    and scalability.
  • Using the Java API we were also able to customize
    Wowza to add additional security features like
    time based expiry of stream URLs.
  • Click here to read this blog post on the Neevtech
    blog.

14
Clients
15
Partnerships
16
sales_at_neevtech.com
Neev Information Technologies Pvt. Ltd.
Sweden
Singapore
India - Bangalore
USA
India - Pune
Neev AB, Birger Jarlsgatan 53, 6tr, 11145,
Stockholm Phone 46723250723
13 LSquare, 3rd Floor Parihar Chowk,
Aundh, Pune 411007. Phone 91-64103338
The Estate, 121,6th Floor, Dickenson
Road Bangalore-560042 Phone 91 80 25594416
08-03 SGX Centre 2, 4 Shenton Way, Singapore
068807 Phone 65 6435 1961
1121 Boyce Rd Ste 1400,Pittsburgh PA 15241 Phone
1 888-979-7860
For more info on our offerings, visit
www.neevtech.com
Write a Comment
User Comments (0)