User Guide


Recommended Encoding Settings

  Last Updated on November 17, 2015 at 11:17 am

WebCast-TV recommends to send a single stream at 720p resolution however depending on your video production workflow, your encoding equipment, or your available bandwidth, you may want to choose one of the following settings –

Quality Resolution Video Bitrate Audio Bitrate Frames Per Second Video Codec h.264 Profile Keyframe interval Audio Codec Audio Channels
Low 480×270 400kbps 64kbps 15 / 30 h.264 Baseline 2 Seconds AAC Mono
Med 640×360 800 – 1200 kbps 96kbps 30 h.264 Main 2 Seconds AAC Mono or Stereo
High 960×540 800 – 1500 kbps 96kbps 30 h.264 Main 2 Seconds AAC Mono or Stereo
HD 720 1280×720 1,200 – 4,000 kbps 128kbps 30 h.264 Main 2 Seconds AAC Mono or Stereo
HD 1080 1920×1080 4,000-8,000 kbps 192kbps 30* h.264 Main or High 2 Seconds AAC Stereo

* Please note 60 FPS streaming (or anything greater than 30) is not supported at this time. Many end users viewing on typical computers and mobile devices will not be able to properly decode 60 FPS streams and this can result in playback issues.

Bandwidth

  • When choosing your encoding settings you should take into account your upload bandwidth.
  • You should first test your internets speed using a generic speed test, such as the one at speedtest.net
  • A good rule of thumb is for the bitrate of your stream to use no more than 50% of your upload bandwidth capacity on a dedicated line. For example, if the result you get from the Speed Test shows that you have 2Mbps of upload speed available, your combined audio and video bitrate should not exceed 1Mbps.
  • To stream in HD, you’ll want at least 3-8Mbps upload speed available.
  • If you find that your stream frequently rebuffers, pauses, or disconnects, try using a lower quality preset your video encoder, or using a lower bitrate and resolution on your encoder.

Bitrate

  • Many popular encoders on the market use variable bitrate encoding. With a variable bitrate encoder, when you set a bitrate, you are only setting a target. Depending on the level of motion in your video content and your keyframe interval, the actual encoded bitrate of the stream will go higher and lower than the target. This is one of the reasons why having adequate headroom in your bandwidth is so important.
  • Higher motion content requires a higher bitrate to achieve the same perceived quality video stream. For example, “talking heads” sitting at a desk with a relatively static shot can use the lower end of the bitrate recommendations provided above, whereas a sporting event or concert with high motion and many moving cameras will typically require a significantly higher bitrate at the same resolution to have the same perceived quality.
  • Higher resolutions require a higher bitrate to achieve the same perceived quality video stream. It is imporatnt that you use the guidelines provided in the chart above to appropriately match your bitrate to the resolution you are using. Using too high or low of a bitrate can lead to poor image quality or buffering for your viewers.
  • If your available bandwidth is limited, you should reduce both your resolution and your bitrate accordingly.

Resolution

  • The default WebCast-TV player size is 640 x 360
  • We recommend streaming at a resolution with a 16:9 aspect ratio
  • Common examples include:

    • 1920 × 1080 (HD)
    • 1280 x 720 (HD)
    • 960 x 540
    • 640 x 360
    • 480 x 270

  • It is best to either match your original video source, or scale it down. For example, capture at 720 and stream at 720. Or capture at 720 and stream at 480.
  • You should never be scaling up and streaming at a higher resolution than your original video source. For example, it does not make sense to capture at 720 and stream at 1080. You will have no gain in quality and you are using more bandwidth than is necessary for you and your viewers.

Codecs

  • WebCast-TV recommends h.264 and AAC. These are the most widely compatible and efficient modern codecs. They offer the highest quality at the lowest bitrates.
  • WebCast-TV also accepts and can stream:
    • VP6
    • MP3

    However these codecs are less efficient and of lower quality, so they are not recommended for use if you can avoid it. They will also not work when streaming to mobile devices.

CPU Resources

  • Ensure your encoding CPU can handle your encoding settings.
  • HD streams and high bitrate streams take significantly more CPU resources to capture and encode.
  • If your streams are choppy, pause and resume, exhibit encoding artifacts, are dropping frames or appear to be playing back in a lower than expected frame rate, these can all be signs that your CPU is not able to keep up with the live video encoding.
  • Reducing the input resolution size and or reducing your stream output resolution and bitrate can fix these issues.
  • FMLE and most other encoders allow you to monitor the CPU usage and whether or not you are dropping frames while encoding. Pay attention to this and lower your settings accordingly. Low frame rate streams look very bad. You are better off streaming at full frame rate at a reduced resolution, for example 640×360 vs trying to 720HD but only being able to stream at 12 frames per second.

Frame Rate / Frames Per Second (FPS)

  • As a rule of thumb the FPS value of your stream should match your original video source, but it should never be set over 30 (29.976)
  • Our guidelines above are based on US video standards (NTSC) so you may need to adjust accordingly, for example the PAL standard used in many other countries uses slightly different frame rates. You should match the frame rate of your source video in the stream.
  • At this time, streaming at 60fps is not supported. You may find you have viewing issues and increased artifacts in your recorded videos or in the transcoded versions of your stream if you stream at 60fps or anything greater than 30.

Keyframe interval

  • Too long of a keyframe interval can result in less-than-optimal image quality or encoding artifacts
  • WebCast-TV recommends a keyframe interval of 10 seconds. The default setting on some encoders may be different from this, so it is recommended to adjust it to meet this requirement for optimal stream quality.
  • Some encoders may have settings like “auto keyframe interval” or “scene change detect.” It is not recommended to use these modes as they may result in an unpredictable keyframe interval. Sending a stream with keyframes at irregular intervals can result in degraded image quality, buffering, or other stream problems.