Creating and Managing Live Events using the Live Module

Product(s)
Video Cloud
Live
Role(s)
Studio User
Topic(s)
Live Module
Live Streaming

In this topic you will learn how to create and manage live events using the Live module.

 

Introduction

The Live module can be used to help you broadcast a live event to both desktop and mobile devices. After entering your event information into the Live module, you will be provided with a set of encoder settings that you plug into your on-site encoder. All transcoding is done in the cloud so you don't need a hardware based transcoder.

Depending on your Live subscription, you may have the ability to create events, channels or both. Typically, events are created to stream shorter length, one time or recurring events. Channels are typically used when delivering 24/7 live events.

Note: Live streaming support is available only for Video Cloud Pro and Enterprise publishers.

Prerequisites

Before you can broadcast a live event, the following items are required:

  • A Video Cloud Pro or Enterprise account with access to the Live module
  • A camera to broadcast the event
  • You must have your own encoding software, for example Telestream's Wirecast

Limitations

  • SSAI Live streams currently cannot be published via the Media module. If you wish to publish an SSAI Live stream, you must do it from the Live Module.
  • DVR Live streams currently cannot be published via the Media module. If you wish to publish a DVR Live stream, you must do it from the Live Module.
  • Your encoder must output an RTMP stream.
  • Live broadcasts will experience a 20-30 second delay.
  • Streaming must begin within 30 minutes of the event start (default-level account setting).
  • For users using Internet Explorer, version 10 or later is required.
  • For recurring events, the Elapsed Time counter shown in the Standby Tab will continue run when the job has been deactivated.

Managing live events

To access the Live module, login to Video Cloud Studio and click Live in the navigation header. After logging in, your Video Cloud account name will appear in the upper right corner of the page. If you have multiple accounts, use the account switcher dropdown to select the account you would like to work with. If the account you select hasn't been enabled for Live, a "Feature not enabled" message will appear. The Manage Events page displays three main tabs:

  • Live - Lists live events that are in progress
  • Standby - Lists recurring events that are in standby mode
  • Completed - Lists completed events
  • Abandoned - The event finished without an encoder being connected

Note: The ability to create live channels is based upon your Live subscription.

The body of the page will display a list of live events with related information:

  • Total live job run time
  • Created date and time (for recurring events, this will be the last time the event was activated)
  • Event name and ID
  • Total views
  • Job Status - Status of the live stream
    • Processing - Stream is live
    • Processing Error - The Live stream has encountered an error
    • Standby - Stream ready to be activated (static entry points only)
    • Stopping - The live stream is stopping and creating any associated VOD outputs
    • Completed - Live stream has completed
    • Cancelling - The live stream is stopping and will NOT process any pending VOD outputs
    • Cancelled - The live stream has been cancelled
    • Disconnected - The encoder has been disconnected
    • Deactivated - Recurring event is in a deactivated state
    • Not Activated - Recurring event has been activated but a stream start has not occurred
    • Waiting - Waiting for the RTMP stream (encoder to start)
    • Failed - The job has stopped as a result of a system error

To view the live event video properties, click on the event name to open the Control Room.

Creating a new event

To create a new event, follow these steps.

  1. From the Manage Live Events page click the Create Event button or click Create Live Event or Create Live Channel in the left navigation. The Create Live Event or Create Live Channel page will open. The properties when creating events and channels are the same. The screen shots in this document cover creating an event.
  2. Enter the event details:
    • Event Name - Name for the event; this name will also appear in the Media module if the video is saved as a video asset
    • Short Description - Description of the event
    • Tags - Tags to associate with the event; tags will be assigned to the video if the video is saved as a video asset
    • Reference ID - Reference ID for the event; must be unique
  3. Any required custom fields for the account will be displayed. Assign values to the custom fields.
  4. Select a Live Ingest Profile. The dropdown list will list all Live ingest profiles. The ingest profile will control the quality and number of live renditions that are created. Clicking the Manage Profiles link will open the ingest profile editor in another browser tab. Note that you must be an account administrator to access the ingest profile editor. Click the RENDITIONS link to view the renditions that will be created using the selected ingest profile.

    Note: For details on the standard Live ingest profiles, see the Standard Live Ingest Profiles document.

    Note: For information on creating Live ingest profiles, see Creating Custom Live Ingest Profiles.

  5. Select Convert event to video asset when complete to save a VOD version of the live video to your Video Cloud account. When this option is selected, the highest quality rendition from the selected Live Ingest Profile is used as the source for the VOD video. The default ingest profile for the account is used when creating renditions. The video will be available once the ingestion process is complete.

    Note: This option is not supported when using a recurring event.

  6. Click ADVANCED OPTIONS and configure the advanced options.
  7. Still in ADVANCED OPTIONS, if you are outside North America, you must select an appropriate region. By default, the region is set to Oregon (US West), which will produce bad results if you are streaming from another continent.
  8. Click Start Streaming to start the live event. The Control Room page will open with details about the live event including the Streaming Endpoint (RTMP URL) and Stream Name which will be used by your encoder.

    Note: By default, the encoder must be started within 30 minutes from when a new event is created.

Click the Stop Streaming button to end the event.

Note: Make sure the encoder is closed/stopped when the live stream is complete. Leaving a connection open between any encoder and Brightcove, even when no data is being sent, may result in unexpected connection charges.

Configuring advanced options

When creating a new event, advanced options can be configured. To configure the advanced options, click the ADVANCED OPTIONS link when creating the event.

The following options can be configured:

  • Reconnect Time - If the encoder is disconnected, this is the amount of time that the live stream will be kept available. This setting has no effect on how soon the encoder must be started when a new event is created.
  • Enable Server Side Ad Insertion (SSAI) - Enables server side ad insertion. Ads are configured as part of the live settings.
    • Fill Slate - Select a fill slate. The fill slate will be displayed when there are gaps in a live stream ad break that cannot be filled with a dynamically-served ad. Create fill slates as part of the live settings.
  • Create Cloud DVR - Enables DVR capability. You must also use a player with the Live DVRUX Plugin.
    • DVR Window - The amount of time, in seconds, to keep in the live DVR manifest.
  • RTMP Credential - Select the RTMP credential used to secure the Streaming Endpoint. Note this option will only appear if at least one RTMP credential was created as part of the Live settings.
  • RTMP IP whitelist - Enter a set of IP addresses that are allowed to connect to the RTMP endpoint. This controls who can connect to the RTMP endpoint.
  • Region - The Amazon Web Services (AWS) region to use. To reduce latency, you should select the region that is closest to where your encoder is located. The following regions are supported:
    • Oregon (US West)
    • Virginia (US East)
    • Tokyo (Asia Pacific)
    • Singapore (Asia Pacific)
    • Sydney (Asia Pacific)
    • Mumbai (Asia Pacific)
    • Frankfurt (EU)
    • Ireland (EU)
  • Content Encryption - Select the type of encryption to apply to the live stream:
    • None - No encryption is applied
    • AES-128 - Secure the stream using AES-128 encryption. If this option is selected, you must enter your Encryption Key. The key must be 32 hexadecimal characters. For best results, use a key generator, choosing the 128-bit and Hex options.

      Note: Clips can't be created from encrypted live streams.

  • Enable stream status notifications - When checked, enter a Notification URL. An http request will be made to the Notification URL when there is a change in the job status. This can be used to update a server in response to changes in the job status.
  • + Add multi CDN configuration - Enter a label and URL for additional CDNs. This is a whitelist of CDNs that are allowed to ask our primary CDN for the video segments. You are responsible for configuring the secondary CDN correctly.
  • Create this as a recurring event - Allows a single live stream to be created and then activated/deactivated when needed. For information, see the Introduction to recurring events section of this document.

Click Edit Configuration to view/edit the API request that will be made to create the live stream. Caution should be used when editing the API call directly.

Introduction to recurring events

Selecting the Create this as a recurring event option allows for a long-running live stream that can be activated and deactivated while keeping the same entry point URL and playback URL. When using recurring events, the streaming endpoint URL and video ID will not change.

All accounts have the following limits by default:

Region Maximum # of recurring events that can be created
Oregon 10
Virginia 3
Tokyo 3
Singapore 3
Sydney 3
Mumbai 3
Frankfurt 3
Ireland 3
São Paulo 3

Contact your account manager if you need to increase the number of recurring events for your account.

Limitations

The following limitations apply when working with recurring events:

  • The Convert event to video asset when complete option is not available. An alternative is to use clipping to archive the full live event as a VOD. Clips can be created up until the next activation of the stream, or for 24 hours, whichever is shorter. When the stream is re-activated, previous recording sessions are removed from the server and can no longer be clipped.
  • Job settings can not be modified, they are currently tied to the settings that initially created the recurring event.
  • Activating the stream can take up to 60 seconds for the event to become available. Some encoders have built-in retry (Wirecast, Elemental, etc.) so the encoders will reconnect as soon as the entry point is available.
  • Reconnect Time is still applicable for recurring events on encoder disconnects. If the Reconnect Time is reached, the recurring event will be set to a deactivated state. Brightcove recommends deactivating a stream when a job completes and setting the Reconnect Time to an acceptable window of time to wait in the event of a disconnect (input hour costs are accrued during this wait period).
  • You should always stop the encoder before deactivating a recurring event. Accounts are allocated a finite number of recurring events. If the limit is reached, you will need to stop one of your recurring events before you can create a new one. If you have reached the maximum number of recurring events and attempt to create another one, an error will be returned.

Working with recurring events

To create a recurring event, select the Create this as a recurring event option when creating a live event and then click Start Streaming.

When the recurring event is created, it will appear in the Standby tab on the Manage Events page.

Recurring events also have a Static Entry Point status:

  • WAITING - Recurring event is deactivated
  • READY - Recurring event is activated and waiting for RTMP stream
  • PENDING_DEACTIVATION - Recurring event in the process of being deactivated
  • ARCHIVED - Recurring event has been archived

 

Activating a recurring event

Activating a recurring event makes the job available for streaming. The recurring event should be activated before the encoder is started. To activate a recurring event:

  1. Click on the Standby tab.
  2. Click on the event name to open the event in the Control Room.
  3. Click Activate.
  4. Start your encoder.

When the recurring event is activated, it will move from the Standby tab to the Live tab.

Deactivating a recurring event

Deactivating a recurring event disables the job for streaming. When the event is over, the recurring event should be deactivated. To deactivate a recurring event:

  1. Click on the Live tab.
  2. Click on the event name to open the event in the Control Room.
  3. Click Deactivate.
  4. Stop your encoder.

Archiving a recurring event

Archiving a recurring event permanently deactivates the job so it can't be enabled for streaming. Eventually the event will be deleted. Only events where streaming was started can be archived. If a recurring event was created and streaming never started, a Cancel button will appear vs. an Archive button.

To archive a recurring event:

  1. Click on the Standby tab.
  2. Click on the row for the event to select it.
  3. Click Archive.

Viewing live event info using the Control Room

The Control Room page is used to view information about a live event. When you create a new live event and click Start Streaming, the Control Room page will open. A preview of the event will appear in the player. The Control Room page is also displayed when you click on an event on the Manage Live Events page.

The buttons on the page can be used to:

The Control Room page is organized with the following sections:

Event Status

The Event Status section is displayed only while an event is in progress. The following information is displayed:

  • Job Status - Current job status
    • Processing - Stream is live
    • Processing Error - The Live stream has encountered an error
    • Standby - Stream ready to be activated (static entry points only)
    • Stopping - The live stream is stopping and creating any associated VOD outputs
    • Completed - Live stream has completed
    • Cancelling - The live stream is stopping and will NOT process any pending VOD outputs
    • Cancelled - The live stream has been cancelled
    • Disconnected - The encoder has been disconnected
    • Waiting - Waiting for the RTMP stream (encoder to start)
    • Failed - The job has stopped as a result of a system error
  • Current Viewers - Number of current viewers. Please note this is just an estimation and the figure may not be accurate for events with a low number of viewers or spikes in the audience.
  • Elapsed Time - Stream elapsed time
  • Current Time - Current UTC time

Event Information

The Event Information section displays the following information:

  • Name - Name of the event
  • Job ID - Internal job ID
  • Video ID - Video ID of the live video
  • Streaming Endpoint (RTMP URL) - Streaming endpoint used by the encoder
  • Region - Streaming region
  • Playback URL - Playback URL; can be used to view the live stream in a non-Brightcove Player

Renditions

The Renditions section displays details about the renditions that were created. Clicking the View link will show the encoding settings for the rendition.

Clips

The Clips section displays all of the clips that were created from the live stream. Clicking the clip name will open the clip in the Media module. For information on creating a clip, see Creating a Video Clip Using the Live Module.

Real-Time Analytics

Clicking the Retrieve updated data and graphs link will display the Output drift and Input drift.

Output drift displays the output drift graph and is only displayed when an event is in progress. Output Drift measures the healthiness of the stream. Output drift is defined as the difference between the wall clock vs. stream timestamps (TS). In live streaming, ideally, the wall clock should run at the same pace as stream TS, if the stream TS arrives slower than real time this means that there is a problem (bottleneck) in the system.

Input drift displays the input drift graph and is only displayed when an event is in progress. Input drift measures the healthiness of the input stream. Input drift is defined as the difference from the input timestamp and the real time clock.

Duplicating an event

Duplicating an event makes it easy to create another event with the same settings that were used to create a prior live event. To duplicate an event, follow these steps:

  1. Click on an event to open the Control Room page.
  2. Click Duplicate Event. A new live event will be created using the settings from the prior live event. Make changes to the event properties as needed.
  3. Click Start Streaming.

Generating the embed code for a live event

Two types of embed code are available:

  • Standard - iframe embed code. Recommended for most cases. This type places the player inside an <iframe> tag.
  • Advanced - In-page embed code. Allows the player to exist in the HTML page directly, not in an iframe. This offers developers the benefits of ease of accessing the player and associated properties and events.

You also have the ability to get the URL to the published player. This is useful for viewing the event in a browser.

To generate the embed code for a live event, follow these steps:

  1. Click on an event to open the Control Room page.
  2. Click Publish and Embed.
  3. Select a Player.

    Note: If the event is configured to enable server-side ads (SSAI), DVR or multi-CDN, Brightcove Player version 6.18.3 and above must be used. Only version 6.18.3 and above players will appear in the dropdown list.

  4. Click the Player URL to preview the event in a browser or copy the appropriate embed code to use.

Creating a clip

Clips can be created while the event is in progress or after the event has ended. If clips can't be created, the Create Clip button will be disabled. For information on creating a clip, see Creating a Video Clip Using the Live Module.

If the Enable Server Side Ad Insertion (SSAI) option was selected when the event was created, the Control Room page will display a Goto Ad button. When clicked, the length of the ad break can be selected.

Click Insert to insert an ad break into the live stream. If the ad doesn't fill the entire ad break time, the fill slate will be displayed. Ad tag URLs and fill slates are configured as part of the Live settings. For information, see Managing Live Settings.

Captions

Brightcove Live currently supports 608 captions in-band (inside h.264 headers). If captions are inside the h.264 input signal (correctly signaled in the user_data packet) those are passed through to the h.264 outputs.

If you are using a broadcast Elemental live encoder you can get captions from SDI (EIA-608/CEA-608) or other sources (SCTE-20, SCC, Teletext, DVB-Sub, Ancillary, ARIB, TTML, SCTE-27, STL, SRT, SMI) and put them into the h.264 stream that you send to us. Other broadcast grade encoders probably can do the same, but we have not formally tested them.

WebVTT captions are not supported for Live streams.

The Brightcove Player has support for in-band captions.

Troubleshooting live stream issues

If you need further help getting your live event to work, you can contact us. To make sure you get the fastest response possible, below is a list of what support will need to solve the problem.

  • The specific symptoms the stream is having. For example, does it not play at all or does it stutter or freeze?
  • Whether this stream worked correctly in the past
  • The entry point URL you are using in your encoder
  • The encoding software and hardware are you using
  • The URL to the player to which you have published the live event
  • The video ID of your live asset in Video Cloud Studio
  • The results of a trace-route from your encoder to the publishing point host