Brightcove Live: Best Practices

Product(s)
Video Cloud
Live
Role(s)
API Developer
Topic(s)
Live Streaming
API(s)
Live API

This topic provides a guide to best practices for creating live streams using the Live API.

Overview

Brightcove Live provides a robust service for creating live streaming events or 24/7 live streams. This guide outlines best practices for optimizing your live streams

Input bandwidth

Providing a high-quality, stable input stream is the only way to ensure the best user experience for viewers. A good input stream provides the best video quality at the highest consistently available bandwidth from a location.

  • Minimum input bandwidth: 2.5 mbps
  • Maximum input bandwidth: 10 mbps

Supported encoders

See Supported Encoders for Live Events for list of encoders known to work with Live. Note that other encoders may also work, but have not been tested.

Supported CDNs

  • Akamai
  • Amazon CloudFront

Retries

We recommend enabling retries for the RTMP connection from the encoder. A large number of retry attempts with a 5-second retry interval will mitigate any intermittent connectivity issues between the encoder and the entry point.

Job settings

Recommended job settings

Job Settings
Field Recommended Value
ad_audio_loudness_level -23 (EBU R.128 standard)

Input requirements

The following table shows requirements for the input live stream.

Input Requirements
Item Requirement
Protocol RTMP
Video format h.264
Audio format AAC
Maximum audio sampling rate 48000 Hz (Brightcove Support can increase this value on request)
Resolution Up to 1080p
Bitrate Must be at least as high as the highest output bitrate - maximum: 10mbps
Framerate 30 fps (Brightcove Support can increase this to 60 fps on request) (must be constant)

Slate source file recommendations

  • Resolution: (best in your encoding ladder)
  • FPS: (same as your source)
  • Bitrate: (best in your encoding ladder or better)
  • Audio: (same bitrate, channels, sampling frequency, and bits per sample as your best rendition, or same as your input)

Output recommendations

Below are recommended output settings, but note that for many encoders, the RTMP input is limited to 10 MBPS (video + audio) and a framerate of 30fps.

Output Recommendations
Item Recommendation
Video codec h264
Audio codec aac
Width If no `width` or `height` is supplied, the source dimensions are used. If either `width` or `height` is supplied, the other dimension will be calculated to maintain the aspect ratio of the source.
Height If no `width` or `height` is supplied, the source dimensions are used. If either `width` or `height` is supplied, the other dimension will be calculated to maintain the aspect ratio of the source.
Bitrate Match the input bitrate
Framerate 30 fps
Keyframe rate 1/second
AWS regions

See the Live API Overview.

FAQ

How soon do you have to start streaming after creating a live job?
In Brightcove Live, there are two conditions when the state transitions from waiting to finishing :
  1. if the job is in the waiting state (not yet started) and the max_waiting_time_ms has elapsed, the job is finished/deactivated.
  2. If the job is in the disconnected state (started, but disconnected) and the reconnect_time has elapsed, the job is finished/deactivated.

If the event_length is greater than 30 minutes, the job will terminate in 30 minutes. If the event_length is less than 30 minutes, the job will terminate in event_length .

For example, if the event_length is 60 minutes, then, the live job will terminate in 30 minutes. If the event_length is 15 minutes, then, the live job will terminate in 15 minutes

The reconnect_time has no effect for waiting state.

What are the limitations on concurrent live job_settings?

A maximum of 5 active waiting, unstarted jobs is allowed at any time.

Additional limitations on concurrent jobs:

  • The number of channel (24x7) jobs is limited to 0 or a low number per region (depending on the account type).
  • The number of concurrently running event jobs is limited by region, generally to 100.
  • The number of concurrently waiting to connect event jobs is limited to 5.
  • The number of SEP jobs per region is limited to 3 or 10 (see Supported AWS regions).

Any of these limits can be adjusted on an account level by Support. Contact your account manager if you need additional capacity.

Can Brightcove Live push 1080p quality provided the input bandwidth is sufficient?
Yes, 1080p input is enabled for all accounts.
Are frame rates greater than 30 FPS supported? What are Brightcove's recommendations on frame rate?
Currently the framerate for input streams is limited to 30 FPS. If you are interested in using a higher frame rate, please contact Support.
Is DRM available?
Not currently - it is on the product roadmap for a future release.