Skip to main content

General Questions

What is nanoStream Cloud?

nanoStream Cloud is a combination of software and services to enable interactive live streaming Live at a global scale.

nanoStream Cloud Infographic

You can connect a live source (camera) to a live encoder, and send your stream to nanoStream Cloud

nanoStream H5Live Player then works on all browsers to play this live stream with ultra-low-latency.

nanoStream Cloud provides a global CDN to ingest and playback your live streams with high quality anywhere in the world. Easy to use dashboards, code snippets and APIs enable easy integration into custom applications.

What is ultra low latency live streaming?

Live streaming latency is the time between the video leaves the camera and shown on the player device. Ultra-low-latency live streaming means near-realtime latency values of around 1 seconds.

nanoStream Cloud supports ultra-low latency live streaming, on any HTML5 browser with a global scale.

ULL Live Streaming enables interactive applications for audience engagement.

Which Systems (OS) do you support?

All existing major browsers and platforms are supported which support H264/AAC live playback.

Which video, audio and streaming formats does nanoStream support (H264, RTMP, RTSP, ...) ?

nanocosmos supports the following Streaming formats:

Ingest/Upstream from Live Sources:

  • RTMP with H264 Video and AAC Audio (nanoStream Apps/SDKs or 3rd party software/hardware)
  • nanoStream Webcaster (browser based)
  • Other formats upon request, e.g. SRT, RTSP, H265, VP9

Playback/Downstream:

  • H5Live (unique live streaming with ultra-low-latencyy on all browsers)
  • HLS (ultra-low latency based on H5Live)
  • RTMP

For plugin-free operation and mobile devices, the built-in hardware codecs are supported (H264 Video, AAC Audio).

How to use RTMP for Live Encoding from your Application or Server?

RTMP is still a valid and suitable format for live encoding and broadcast from your camera source, used by most live streaming platforms. Most Live Encoder software, hardware and servers support RTMP. For ULL Live Streaming, certain configurations are recommended, like OBS.

RTMP URL Structure

RTMP is based on the following URL format:

rtmp://servername:port/application/streamname

The port is optional and 1935 by default.

Example to stream to nanoStream Cloud: rtmp:/bintu-stream.nanocosmos.de/live/XXXX-YYYY

The “rtmp application” is “live”, the “stream name” is XXXX-YYYY

Sometimes the RTMP URL is split into the base URL and the stream name like this:

URL: rtmp:/bintu-stream.nanocosmos.de/live
Stream Name: XXXX-YYYY

With nanoStream Cloud, you get this information with the bintu API or dashboard (https://bintu.nanocosmos.de).

Some software and server applications require a username and password. This rtmp-specific proprietary information is not support by nanoStream Cloud. By default, you do not need username and password. For adding security, you can use web hooks and tokens. See separate docs.


Playback

Playback from nanoStream Cloud with Ultra-Low-Latency require the nanoStream H5Live Player (nanoPlayer). It automatically selects the right playback format and protocol for your browser and device. Certain apps and settop-boxes which do not support Javascript can also use our fallback URLs, please contact us for details.

Resolution and bitrate settings

The primary quality impact is done by the pixel resolution (e.g. 1280×720) and the video encoder bitrate.

note
  • Video Encoding Quality is very much dependent on the content! Static content with little movement and structure is much better to compress than moving content.
  • Mobile networks have limited bandwidth and usually lead to a quality impact of a stream. If you set a high bitrate which cannot be delivered through the network, you will get buffering impacts.
  • For live streams, a constant pixel resolution is required, as most streaming and playback environments do not support changing resolutions.

The choice of the resolution and bitrate is highly dependent on your requirements and expected quality results. There are different options to choose from, you can always adjust settings according to your needs.

It is highly recommended to run your own tests based on typical content, and approve by your own quality expectations.

Here is some general information:

  • Standard resolutions: 640×480 (4:3) or 640×360 (16:9), up to 720×576 (4:3).
    Recommended bitrate: min. 300-500 kBits/s for medium quality, 1000 kBit/s for high quality
  • HD resolution: 1280×720 (=720p).
    Recommended bitrates: 600-1000 kBits/s for low/medium quality, 1000-2000 kBits/s for high quality
  • Full HD: 1920×1080, 2-3 MBit/s and higher
  • 4K: up to 3820×2048, min 6 MBit/s
  • you should configure the camera in the max. resolution you would like to use for streaming
  • it never makes sense to up-scale video
  • Full HD takes a lot CPU and bandwidth
  • for live streaming HD 720 is probably preferrable to 1080

Also see the recommendations by Apple, Youtube, Vimeo and Adobe


Data Traffic

Data traffic usage is dependent on the overall bitrate sent from the encoder, plus the bitrate received for every viewer. Total traffic usage can be calculated per hour from the bitrate: bitrate/s * 3600 / 8 = x bytes/h

Examples

500 kBits/s: 500 * 3600 / 8 = 225 MB / hour

1000 kBits/s: 1000 * 3600 / 8 = 450 MB / hour

Can I Stream to a mobile phone or tablet pc - including iphone or iPad?

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 “Baseline”, “Main” or “High”, dependent on the playback device support.

Baseline” profile may lead to slightly lower latency values (max 500ms)

OUTPUT STREAMING URL

H5Live

The unique nanoStream h5Live player supports live playback with ultra-low-latency on all HTML5 browsers. Live Playback in iOS devices requires HLS support (“HTTP Live Streaming”).

RTMP

Encoder URL: Live URL + Stream Name:

rtmp://<server>:1935/live/streamname

See additional documentation about nanoStream Cloud and H5Live Server and Player.

Can I Stream or record to a CDN?

nanoStream Cloud can be used as a low-latency CDN for your interactive live streams. With nanoStream Cloud, you can additionally push to other RTMP publishing points (Youtube Live, Facebook Live, and more.)

Can I record a video file locally or on the server?

Yes, you can either record to a file instead of streaming to a server or stream and record simultaneously. Supported file formats depend on the platform you are working. Usually MP4 is supported and recommended on all platforms.

Does the software automatically adjust the Bitrate - Adaptive Bitrate?

Yes! nanoPlayer supports Adaptive Bitrate Playback (ABR).

Can I add meta data to the live Stream?

Yes, if you publish RTMP Meta Data, it will be passed through to nanoPlayer.

Can I Stream only Audio?

Yes, that is possible.

Is screen capture available in your product?

Yes, with nanoStream Webcaster and nanoMeet.

Do you offer hardware accelerated encoding or decoding?

nanoPlayer automatically uses the browser-based builtin codec for playback, which is usally hardware accelerated

Can I automatically or manually check the available bandwidth?

A bandwidth check function is available on Desktop and Mobile platforms.

There are different modes available:

  • static bandwidth check before streaming
  • dynamic bandwidth check during streaming (adaptive bitrate)

Is your product compatible with Flash?

Flash is an outdated technology.

nanoStream is compatible with the RTMP streaming protocol, which is independent from Flash.

With H5Live, you can go completely plugin-free on all devices without using Flash.

Do you offer WebM or Vp8 encoding?

Some nanoStream platforms also support VP8, VP9 and other codecs. nanoStream Webcaster supports VP8, VP9 and H.264.

Please contact us for details.

What is Multiplexing?

For Video/Audio Encoding and Streaming, Multiplexing means combining the Video and Audio data into a common container or stream. There are several multiplexing standards available, dependent on the application and system environment.

Example Multiplexing Standards:

File Formats:

  • MPEG TS (transport stream) - used for broadcast and streaming
  • MPEG PS (program stream) - used for local storage and DVD
  • MP4 (ISO File Format)

Streaming Formats:

  • RTMP (Realtime Message Protocol)
  • RTP (Realtime Protocol)

See also the wikipedia article

Why do I get a lower bitrate then specified?

A live encoder queries the camera device for the supported resolutions, framerates and colorspaces. If the camera reports the values, which it actually supports, the plugin would choose a supported capture mode of the camera. The resulting bitrate should be equal to the specified bitrate.

But, if the camera reports, that it is capable of delivering e.g. 30 frames for a resolution of 640×480, the plugin assumes that the camera will send 30 frames. If the actual frame rate is then lower (e.g. 15 fps) the bitrate will be the half of the specified bitrate.

That is to keep the quality specified by the user. Another reason for a lower bitrate is, that the lower framerate could be a cause of high cpu load or a low bandwidth. If the plugin would adjust the bitrate in this case, the framerate would be even lower in the process, which in turn would lead the plugin to increase the bitrate again, which in turn would lower the framerate, etc.

Also keep in mind that the lighting conditions can have a huge effect on the frame rate of the >camera. We have several webcams delivering only half of the frame rate, if it is too dark.

How do I set a Stream name?

RTMP Streams:

example url:

rtmp://localhost/live/myStream

"myStream" represents the stream name.

Firewall configuration

Firewalls are sometimes sensitive to streaming protocols. Here is some general advice, please contact us for details.

H5Live Playback
H5Live playback is connected over https, port 443, or http, ports 8180 and 8181

Mp4 File Playback
MP4 File playback is connected over https, port 443, or http, port 8080

RTMP Playback and Ingest
RTMP is using ports 1935 or 80

WebRTC
WebRTC is using ports https/443 for API calls, port 80 for turn (udp and tcp), and ports 40000-50000 over UDP.