FlowPlayer: Streaming Live RTMP adaptative con Wowza

Forma de llamar el reproductor:

<code><div id=»player»></div></code>

 

<code>

window.onload = function () {

flowplayer(«player», «flowplayer/flowplayer-3.2.18.swf», {
clip: {

urlResolvers: ‘bwcheck’,
provider: ‘rtmp’,
autoPlay: true,
scaling: ‘fit’,

// calidad de video segun bitrates
bitrates: [
{
url: «rtmp://208.98.16.235:1935/envivo/lamansion», width: 480, bitrate: 200, isDefault: true},
{ url: «rtmp://208.98.16.235:1935/envivo/lamansion», width: 720, bitrate: 500},
{ url: «rtmp://208.98.16.235:1935/envivo/lamansion», width: 1080, bitrate: 800 }
]
},
plugins: {

// chequear ancho de banda
bwcheck: {
url: «flowplayer/flowplayer.bwcheck-3.2.13.swf»,

// CloudFront uses Adobe FMS servers
serverType: ‘fms’,

// dynamic switching
dynamic: true,

netConnectionUrl: ‘rtmp://208.98.16.235:1935/envivo/lamansion’,

// poner el video que corresponde en la cajita
onStreamSwitchBegin: function (newItem, currentItem) {
$f().getPlugin(‘content’).setHtml(«Will switch to: » + newItem.streamName +
» from » + currentItem.streamName);
},
onStreamSwitch: function (newItem) {
$f().getPlugin(‘content’).setHtml(«Switched to: » + newItem.streamName);
}
},

// RTMP streaming plugin
rtmp: {
url: «flowplayer/flowplayer.rtmp-3.2.13.swf»,
netConnectionUrl: ‘rtmp://208.98.16.235:1935/envivo/lamansion’
},

// a content box so that we can see the selected video dimensions. This is not used in real
// installations.
content: {
url: «flowplayer/flowplayer.content-3.2.9.swf»,
top: 0, left: 0, width: 1024,
backgroundColor: ‘transparent’, backgroundGradient: ‘none’, border: 0,
textDecoration: ‘outline’,
style: {
body: {
fontSize: 14,
fontFamily: ‘Arial’,
textAlign: ‘center’,
color: ‘#ffffff’
}
}
}
}
});

}

</code>

Wowza: RTMP/RTSP Authenticate Publich USERNAME and PASSWORD config

Bueno, la idea es que para emitir Streaming ya sea de video o audio por rtmp o rtsp se deba introducir user y password: para evitar que usen el Wowza libremente cualquiera que anda probando.

Primero que nada, con el Wowza 2.3.4 obvio, instalado y corriendo
se debe instalar el plugin MediaSecurity
MediaSecurity_2.0
Extraerlo y copiar los archivos:
-rwxr-xr-x  1 root root 2.5K Feb  3 00:09 wms-plugin-security-encryption.jar
-rwxr-xr-x  1 root root  24K Feb  3 00:09 wms-plugin-security.jar
dentro de /usr/local/WowzaMediaServer/lib
y darle permisos de ejecucion, lectura y escritura para el grupo y root:
chmod 0775 wms-plugin-*

Reiniciamos el Wowza: /etc/init.d/WowzaMediaServer restart

Joya, ahora tenemos activado el plugin para seguridad, nos vamos a /usr/local/WowzaMediaServer/conf/{applicacion}
En mi caso se llama «envivo»
(/usr/local/WowzaMediaServer/conf/envivo/)

Editamos el archivo Application.xml, dentro de este directorio.
En la seccion de <Module>, añadimos como último de los Module, lo siguiente:

<Module>
<Name>ModuleRTMPAuthenticate</Name>
<Description>ModuleRTMPAuthenticate</Description>
<Class>com.wowza.wms.plugin.security.ModuleRTMPAuthenticate</Class>
</Module>

Guardamos el archivo. Listo: ahora le dijimos que esa applicacion necesita authenticar para que se pueda publicar (hacer streaming)

Ahora donde definimos el usuario y password?
Aca: /usr/local/WowzaMediaServer/conf/publish.password

[root@skate conf]# pwd
/usr/local/WowzaMediaServer/conf
[root@skate conf]# cat publish.password
# Publish password file (format [username][space][password])
#username password
[root@skate conf]#

Listorti: ahora cuando intentemos conectarnos para emitir desde el Flash Media Encoder u otro programa para emitir rtmp, pedirá el user y password.

Alta data documentada. Saludos.

Adjunto PDF de MediaSecurity, el plugin para Wowza. aca: WowzaMediaServerMediaSecurity_UsersGuide

Wowza Media Server: SHOUTCast re-stream

A CONTINUACION: explicacion completa del SHOUTCAST RESTREAM.
Tener en cuenta: WowzaMediaServer-2.2.4_UsersGuide

How to re-stream audio from SHOUTcast/Icecast

This tutorial provides the basic steps for re-streaming a SHOUTcast or Icecast stream through Wowza Media Server® and to configure an application named live to stream to the Adobe® Flash® Player, Apple® iOS devices, and RTSP/RTP-based players.

Note: Microsoft® Silverlight® doesn’t support audio-only Smooth Streaming.

Contents


Tutorial

Troubleshooting

Related Articles

Tutorial


Configuration

This tutorial provides basic steps for setting up an application for live streaming and configuring Application.xml.

  1. Create application folder [install-dir]/applications/live.
  2. Create configuration folder [install-dir]/conf/live and copy [install-dir]/conf/Application.xml to this new folder.
  3. Edit the newly copied Application.xml file and make the following changes (some of these settings may already be present):
    Note: Right-click HERE to download a pre-configured version of Application.xml.
    1. Set the Streams/StreamType property to:
      Code:
      <StreamType>live</StreamType>
    2. Set the HTTPStreamers property to:
      Code:
      <HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>
    3. Set the Streams/LiveStreamPacketizers property to:
      Code:
      <LiveStreamPacketizers>cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer</LiveStreamPacketizers>
    4. Set the RTP/Authentication/PlayMethod to:
      Code:
      <PlayMethod>none</PlayMethod>

Publishing the stream

  1. Use a text editor to create the file [install-dir]/content/radiostation.stream and set the contents of this file to the full HTTP URL of a SHOUTcast or Icecast stream (see URL to connect to SHOUTcast or Icecast).
  2. Using a text editor, edit the [install-dir]/conf/admin.password file and add a username and password that will be used to start and stop publishing of the radio station (below is an example of the file with the username myuser and password mypassword):
    Code:
    # Admin password file (format [username][space][password])
    # username password
    myuser mypassword
  3. Start Wowza Media Server.
  4. Use Stream Manager to start the stream:
    1. Enter the following URL in a web browser :
      URL: http://[wowza-ip-address]:8086/streammanager
    2. in the Security dialog box, enter your admin username and password from above.
    3. In the Stream Manager webpage, click the [start-receiving-stream] link just below the live application folder.
    4. In the Start Receiving Stream dialog box, select the following MediaCaster Type option: shoutcast
    5. In the Stream Name field, enter radiostation.stream.
    6. Click OK.

Playback

Note: In the following examples, [wowza-ip-address] is the IP address or domain name of the server running Wowza Media Server.

Adobe Flash Player (RTMP)

In Wowza Media Server 3.5.0 and later, double-click [install-dir]/examples/SHOUTcast/FlashRTMPPlayer/player.html, enter the information below, and then click theConnect button.

Server: rtmp://[wowza-ip-address]/live
Stream: radiostation.stream

To play the stream from a remote computer, copy the FlashRTMPPlayer folder to a web server, and then connect to: http://<webserver>/FlashRTMPPlayer/player.html.

Note: In Wowza Media Server 3.1.2 and earlier, double-click [install-dir]/examples/SHOUTcast/client/shoutcast.html, enter the information below, and then click the Play button.

Server: rtmp://[wowza-ip-address]/live
Stream: radiostation.stream

To play the stream from a remote computer, copy the client folder to a web server, and then connect to: http://<webserver>/client/shoutcast.html.

Note: If your application will only stream to Flash RTMP clients, see Flash RTMP clients only.

Adobe Flash Player (San Jose/Adobe HDS)

In Wowza Media Server 3.5.0 and later, double-click [install-dir]/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html, enter the information below, and then click the Connect button.

Stream: http://[wowza-ip-address]:1935/live/radiostation.stream/manifest.f4m

To play the stream from a remote computer, copy the FlashHTTPPlayer folder to a web server, and then connect to: http://<webserver>/FlashHTTPPlayer/player.html.

Note: In Wowza Media Server 3.1.2 and earlier, double-click [install-dir]/examples/LiveVideoStreaming/clientOSMF/bin-release/LiveOSMFPlayer.html, enter the information below, and then click the Play button.

Stream: http://[wowza-ip-address]:1935/live/radiostation.stream/manifest.f4m

To play the stream from a remote computer, copy the clientOSMF/bin-release folder to a web server, and then connect to: http://<webserver>/bin-release/LiveOSMFPlayer.html.

Note: The stream can only be played from an OSMF-based Flash player that’s embedded in a webpage.

Apple iOS device (Cupertino/Apple HLS)

Enter the following URL into the Safari® web browser on the device:

URL: http://[wowza-ip-address]:1935/live/radiostation.stream/playlist.m3u8
Note: This stream can also be played using the Safari web browser or QuickTime 10.x on a computer running Mac OS® X Snow Leopard version 10.6 and later.

RTSP/RTP player

Enter the following URL into the RTSP/RTP player:

URL: rtsp://[wowza-ip-address]:1935/live/radiostation.stream

Flash RTMP clients only

(Optional) If your application will only stream to Flash RTMP clients, in [install-dir]/conf/live/Application.xml, you can set the Streams/StreamType property to:

Code:
<StreamType>shoutcast</StreamType>

If you do this, then you won’t need to use StreamManager (see Publishing the stream). The first Flash client that plays the stream will trigger Wowza Media Server to start re-streaming.

Also, in [install-dir]/conf/live/Application.xml, make sure that the Streams/LiveStreamPacketizers property is empty:

Code:
<LiveStreamPacketizers></LiveStreamPacketizers>

Troubleshooting


URL to connect to SHOUTcast or Icecast

The URL that you use to connect to a SHOUTcast or Icecast server is one of the URLS that is contained in a SHOUTcast playlist (.pls) file or Icecast playlist (.m3u) file. Most websites that publish SHOUTcast or Icecast streams have links on their sites that reference these files. To re-stream a SHOUTcast or Icecast stream, you must first download one of the playlist files to your local computer and use one of the links found inside to connect to the published stream.

RTSP/RTP

  • RTSP/RTP streaming is used to stream to Android™ and BlackBerry® mobile devices. Newer Android-based phones also support Adobe Flash Player 10.1 and later, along with RTMP and Adobe HTTP Dynamic Streaming (Adobe HDS).
  • To stream to RTSP/RTP, be sure that UDP ports 0-65535 are open and properly mapped to the server running Wowza Media Server.
  • It’s very important to carefully follow the instructions provided in How to troubleshoot RTSP/RTP playback to properly configure Wowza Media Server for RTSP/RTP streaming.

Common problems with .stream files

Many text editors will append a .txt filename extension to the radiostation.stream filename. This will result in an error message similar to the following:

SDP file missing: c:/program files/wowzamediasystems/wowzamediaserver[version]/content/radiostation.stream

To fix this, go to the [install-dir]/content folder and remove the .txt filename extension from the file.

Property to change AAC packetization method

Wowza Media Server can output AAC audio using the mpeg4-generic and mp4a-latm (3gpp) packetization methods. The default packetization method is mpeg4-generic. To switch to mp4a-latm (3gpp), add the following property to the RTP/Properties container in [install-dir]/[application]/Application.xml (be sure to get the correct<Properties> container, there are several in the Application.xml file):

Code:
<Property>
    <Name>audioPacketizerAAC</Name>
    <Value>com.wowza.wms.rtp.packetizer.RTPPacketizerMPEG4LATM</Value>
</Property>