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.
  • 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.

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

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

The Show dropdown can be used to filter the events that appear on the Completed tab.

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

  • 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
    • Abandoned - The event finished without an encoder being connected
  • Completed date and time
  • Event name and ID
  • Total views
  • Duration
  • Created date and time (for recurring events only)

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 Events page click Create Event. 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 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. Click Create Event 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: It will take about a minute to process your streams.

    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.
    • Ad Audio - When checked, normalizes the audio levels on ads based on the adjustment that is set. This can be used as a way to help make sure ads aren’t significantly louder than the content.
  • 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.
  • Input Format - The input format from the encoder that will be sent to the Live module. This feature enables additional metadata in a live stream like now, now-next, more flexibility in subtitles and captioning, audio tracks and enables streamlined digital experiences with standard broadcast level data. The following input formats are supported:
    • RTMP (default)
    • Real-Time Transport Protocol (RTP)
    • Secure Reliable Transport (SRT)
  • RTMP credentials to use - 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. By default, the region is set to Oregon (US West) which will produce bad results if you are streaming from another continent. The following regions are supported:
    • Oregon (US West) (default)
    • 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 using a Static Entry Point (SEP) - 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 using a Static Entry Point (SEP) 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.

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 using a Static Entry Point (SEP) option when creating a live event and then click Create Event.

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

The recurring event status can be one of:

  • Not Activated - Recurring event has been created and streaming has never started
  • Waiting - Recurring event is activated and waiting for stream
  • Streaming - Recurring event in progress
  • Disconnected - Recurring event is in the process of being stopped
  • Deactivated - Recurring event is 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 streaming begins, 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 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.

RTMP

The RTMP section can be used to add RTMP Outputs. This allows the live stream to be sent to other RTMP entry points. This can be used to send the live to stream to Facebook or YouTube for example.

Note: RTMP Outputs are not available in the Live UI when using recurring events (static entry points).

Enter the RTMP Output URL and the Rendition to send. Note that the format of the output URL may change depending on where the RTMP stream is being used. For more information, see Using Live RTMP Outputs to Stream to Facebook and YouTube.

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 at the top of the page. 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 Create Event.

Generating the embed code for a live event

To generate the embed code for an event, click Publish and Embed in the left navigation. 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 in the left navigation.
  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. When Allow DVR is checked, the player will request the DVR manifest instead of the live manifest.
  5. 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, a message will appear when hovering over Create Clip in the left navigation. 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