This is an old revision of the document!


Live-Streaming

This service is currently in development and offered without warranty and for testing purpose only. If you like to test this service, please request a key via our ticket system.

The GWDG live-streaming infrastructure makes it possible to broadcast lectures, conferences or other live-events to large audiences and offers an alternative to video conferencing for particularly large events. Live video can be recorded and streamed with OBS Studio (free, desktop, multi-platform) or any other RTMP-enabled software, including conferencing solution such as Zoom, Cisco WebEx or DFNconf. The audience follows live-streaming events via a browser-based video-player, which can also be integrated into existing websites if needed. No software download or account registration required for viewing.

Getting started

To start streaming, you need a channel and a channel-secret. Please file a support ticket to request your channel credentials, then follow the instructions or tutorials matching your recording tool of choice.

Setting Value Example
Stream-URL rtmp://live.gwdg.de/stream
Stream-Key <channel>?secret=<secret> myChannel?secret=1234
Player URL https://live.gwdg.de/player.html#<channel> https://live.gwdg.de/player.html#myChannel

Some tools combine stream-server and stream-key into a single URL:

rtmp://live.gwdg.de/stream/<channel>?secret=<secret> (full stream URL)

Stream profiles

The streaming server will automatically downscale submitted video to 720p (1280×720, 30fps) if necessary. Higher or lower video profiles can be selected by adding a &profile=<name> parameter to the stream-key. Available profiles are:

Profile Resolution FPS Bitrate (v+a) Alias
576p30 720 x 576 30 1500k + 96k sd
720p30 1280 x 720 30 3000k + 128k hd, default
1080p30 1920 x 1080 30 4500k + 128k fhd
1080p60 1920 x 1080 60 6000k + 128k

The profile should match the resolution and framerate of the transmitted stream as closely as possible to avoid unnecessary down-scaling and frame-dropping on server side. Higher profiles may not be available to all channels. If a profile is not supported, the default profile is selected automatically.

Example: To transmit fullHD video, the stream key would be myChannel?secret=1234&profile=1080p30

Named streams

You can publish more than one stream at the same time or create private streams by appending a unique stream name to the channel part of your stream-key. Channel and stream name are separated by a colon (e.g. <channel>:<stream>?secret=…) and the stream name should be between 3 and 16 characters (letters, digits,- or _). The player URL changes accordingly, so only viewers knowing the full stream name can watch a stream.

Example: To create a private stream, change your stream-key to myChannel:someRandomName?secret=1234 and direct your viewers to the player URL https://live.gwdg.de/player.html#myChannel:someRandomName.

Troubleshooting

What software to use?

  • We recommend OBS Studio, a free any very popular video recording and live streaming software for Windows, macOS and Linux.

The stream does not connect, or disconnects immediately.

  • Make sure your stream key is correct. Both channel and secret are case-sensitive. Make sure all stream-key properties (e.g. profile or expire) are valid.
  • Stream names must be unique. If there is a running stream with the same channel and stream-name, new connections will be rejected.
  • The channel may be locked. Please contact support.
  • The system may be overloaded or you may have triggered a bug. Please contact support, we can look into the logs and find out the exact cause.

The stream disconnects after approximately 10 seconds.

  • There seems to be a problem with the submitted video stream. OBS usually does the right thing and default settings work out of the box. Low-level tools however (e.g. ffmpeg) may produce invalid streams if used incorrectly.
    • The stream must begin with video data available. Audio-only streams are not supported. Timestamp correction (e.g. to fix audio/video synchronisation issues) may cause video to arrive late, and not being detected correctly.
    • Transcoding can only begin at I-frame borders. Make sure the video stream contains at least one I-frame every 4 seconds.
  • The system may be overloaded, a worker process may have crashed or you may have triggered a bug. Please try to reconnect and contact support if that does not work.

Viewers complain about a delay.

  • A delay of 6-12 seconds is normal. Lager delays are usually caused by buffering within the streaming software.

Viewers complain about buffering

  • The maximum bandwidth required for viewing a stream depends on the selected stream profile. Try a profile with a lower bitrate if a lot of your viewers depend on mobile or unreliable networks.
  • Video data with low image complexity can be compressed extremely well. Streaming might work well for most viewers during scenes with low complexity, but start buffering during scenes with high contrasts and lots of moving objects. Try a profile with a lower bitrate.
  • Occasional buffering at the beginning of a stream is normal, as the clients need to calculate a sensible buffer size first. If image complexity changes drastically (e.g. switching from a mostly static scene to rapid movement) then this calculation may be off. The stream usually runs well after a while, once the client has increased its buffer.

Video quality is very bad

  • Quality depends on the selected stream profile, but is usually high enough for most use-cases. Ensure that your streaming software sends a high-enough quality video stream in the first place.

Audio and video is out of sync

  • This is usually caused by the streaming software sending out-of-sync data. We cannot fix that on our side.

Audio is in wrong language

  • When streaming a video that contains more than one audio track, make sure to only transmit the correct track. If multiple tracks are found, all but the first track are ignored.

Video skips or jumps forward in time

  • When streaming a pre-recorded video, make sure to send data in realtime and not faster. With ffmpeg this can be enforced with the -re input parameter.

Video won't play on some devices

  • Live streams are published as h264 encoded video and aac encoded audio. Both are supported by all modern browsers nowadays. If you find a device or browser that cannot play these codecs, please tell us.

Is there a way to start video playback automatically (autoplay)?

  • No. Modern browsers block autoplay unless the video is muted or the user explicitly allowed a website to autoplay video.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies