Kategorie-Archiv: Documentation

How To Use Tunneling for Firewall Protected Streaming Setups

nanoStream3 supports RTMPT, the tunneling protocol of RTMP,
including automatic Proxy detection.

The URL should then be similar to this:

rtmpt://server:port/live+streamID

The port should probably be 80, dependent on the corporate firewall and streaming server setup.

Please note that RTMPT Tunneling is a workaround
using the firewall-accepted HTTP protocol.
This requires a protocol overhead, so plain RTMP is preferred.

For using Firewalls, it might work to stream plain RTMP over port 80, like this:

rtmp://server:80/live+streamID

If this fails, use RTMPT.

How To Stream To Mobile Devices (iPhone, iOS) with nanoStream and Wowza

Streaming to Mobile Devices is simple with nanoStream.
iOS requires H.264 video and AAC audio, which is used by default in nanoStream.

Encoder Settings

Video and Audio format should be H.264 and AAC.
Video Encoding Profile can either be “Baseline” or “Main”, dependent on the playback device support.
In earlier iOS revisions, only “Baseline” profile worked. Since iOS 3, also Main Profile should work.

Output Streaming URL

Live Playback in iOS devices requires HLS support (“HTTP Live Streaming”). Wowza supports delivering with HLS with an RTMP upstream.

So the encoder can run in RTMP mode and let the Wowza server to the protocol transcoding to HLS.

Encoder URL: Live URL + Stream Name:

rtmp://<server>:1935/live+myStream

or

rtmp://<server>:80/live+myStream

Playback URL on iOS Devices:


http://[server-ip-address]:1935/live/

myStream/playlist.m3u8

Note: this might require additional configuration on the streaming server. See the Wowza or Adobe documentation for further help.

How to use the new nanoStream 3.0 SDK Multi-Encoder feature

The Multi-Encoder feature allows multiple output streams in different configurations.
With the SDK or Web Plugin, it is very easy to create streaming outputs.

Example pseude code:

out1 = live.AddOutput("rtmp://ws2.nanocosmos.de/live+myStream");
out2 = live.AddOutput("c:\temp\record.mp4");
live.SetVideoBitrate(400*1000,out1); // 400 k RTMP
live.SetVideoBitrate(1500*1000,out2); // 1.5 M MP4

live.StartBroadcast();