Live-Streaming

The GWDG live-streaming infrastructure makes it possible to broadcast lectures, conferences or other live-events to large audiences and offers an alternative or addition 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-capable 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 is required for viewing.

This service is still in development and offered “as is”, primarily for testing purposes. If you plan to use this service for a large conference or event, please tell us in advance.

Getting started

To start streaming, you need a channel and a channel-secret. Please file a support ticket to request your channel credentials and tell us your preferred channel name. Once the channel is created, you can follow the instructions or tutorials matching your recording tool of choice and start streaming.

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

Some tools combine stream-server and stream-key into a single URL:
rtmp://live.gwdg.de/stream/<channel>?secret=<secret> (full stream URL)

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 _) long. 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/play/myChannel:someRandomName.

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 ABR?
360p30 640 x 360 30 400k + 96k no
480p30 854 x 480 30 600k + 96k sd no
720p30 1280 x 720 30 1600k + 128k hd, default yes
1080p30 1920 x 1080 30 2400k + 128k fhd yes

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

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

Adaptive Bitrate Streaming

Some profiles can be combined with Adaptive Bitrate (ABR) Streaming to better accommodate mobile or low-bandwidth viewers. If enabled, the video stream is encoded in multiple resolutions and bitrates at the same time and the video player will automatically switch to the highest possible resolution based on available client bandwidth.

To enable “Adaptive Bitrate Streaming”, choose a profile that supports it, and add ,abr to its name. For example: profile=1080p30,abr. Note that ABR requires more CPU resources on server-side and should only be activated if necessary.

Streaming guides

OBS Studio

OBS Studio is very popular in the streaming community and there are many guides available online. The only real difference is that you are not streaming to twitch or youtube, but to a custom streaming server. If you discover online resources that you find particularly useful, please tell us so we can link them here.

BigBlueButton

BigBlueButton does not have an integrated live-streaming feature, but can of course be recorded and streamed client-side with OBS or similar software.

Zoom

Zoom allows direct streaming of meetings, but the feature is disabled by default. Follow the official instructions to enable this feature. Once activated, you will have a new “More” button in your zoom client which allows you to activate live streaming for meetings hosted by yourself. Planned meetings can be configured via a new “Live-Streaming” tab below the meeting details.

Warning: Zoom relies heavily on cloud-resources outside of the EU to record and stream your meetings, even if your account is 'on-premise' enabled. Video and audio data will be transferred and processed in non-EU data centres if you enable this feature. Make sure you meet the GDPR (DSGVO) requirements.

Cisco Webex

If live-streaming is enabled for your paid Webex Meetings or Events plan, you can stream directly from within Webex. No additional software required. Details can be found in official documentation.

Troubleshooting and F.A.Q

What software to use?

  • Any software that supports RTMP will work. We recommend OBS Studio, a free and 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 stream key 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 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 key-frame (I-frame) borders. Make sure the video stream contains at least one key-frame every 4 seconds.
    • If abr (Adaptive Bitrate Streaming) is enabled, the input resolution must match the selected profile. Odd or non-standard video resolutions cause errors.
  • 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 the issue persists.

How to reduce video delay?

  • A delay of 6-10 seconds is normal. Larger 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 or enable ABR (adaptive bitrate streaming) if a lot of your viewers depend on mobile or unreliable networks.
  • 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. Unstable networks with varying bandwidth have the same effect. The stream usually runs well after a while, once the client has increased its buffer size.
  • Video data contains timing information and correct timing is essential for a live-stream. Broken equipment, high CPU load, bad source video files or wrong encoding parameters may result in frames being sent out of order, too fast, too slow, or with gaps. The player will then struggle playing a continuous stream or even give up and stop entirely. When streaming a pre-recorded video, make sure to send data in real-time and not faster. For ffmpeg this can be enforced with the -re input parameter.
  • Our current infrastructure can handle 2000 to 4000 concurrent viewers in total, depending on stream profile and content. This is an untested theoretical limit, though. If you are expecting close to or more than a thousand viewers, please tell us in advance and be prepared for technical difficulties. We are still in testing phase and do not have experience yet with exceptionally large audiences.

Video skips or jumps forward in time

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

Video quality is bad

  • Video quality should be good enough for most use cases, even on low stream profiles. If your stream looks blurry or distorted, please first make sure that your streaming software sends video with high-enough quality to begin with. Dropped frames or bad video quality may also be caused by an overloaded streaming PC or network connection.
  • Rapid movement and complex scenes (e.g. fast paced games) do not compress very well and may appear blurry if they hit the profile-specific maximum bitrate limit. This is normal. The default stream profiles are optimized for lectures or presentations with mostly static content. Choose a higher bitrate stream profile if available, or tell us about your use-case. Non-public stream profiles with even higher quality settings are available on request.

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, all but the first track are ignored. Multi-track audio is not supported (yet).

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.

Are live-streams recorded? Can I get a recoding of a past live-stream?

  • No. Life-streams are encoded in real-time and split into small chunks, usually 2 seconds in length. We only keep a certain number of these chunks available for video-players to download and people to watch. Older chunks are deleted as soon as they fall out of the configured time-window. After a stream ends, all remaining audio and video data is removed quickly.
  • If you want to record a stream, we strongly suggest to do that directly on the streaming PC. Most software (e.g. OBS) can stream and record at the same time with little overhead. This also reduces the risk of network problems affecting the recording quality in a negative way.
  • We of cause cannot prevent viewers from recording a live-stream while it is streamed.

What does this service cost?

  • During the testing phase, no costs are attached to this service. Moderate usage will be most likely continue to be free for our customers, including AcademicCloud partners.
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