Adding captions to a live stream without a caption encoder onsite- Falcon solution
Live closed captions are an increasingly important part of live broadcasts. Many industries are beginning to have regulations in place requiring that live content be captioned. Captioning equipment and talent can be expensive. IBM is pleased to offer a partner to broadcasters in this process: EEG and their Falcon captioning solution.
What it does:
The Falcon service allows you to send your stream to the service as opposed to directly to your IBM Streaming Manager endpoint, and in conjunction with a closed caption service agency (selected by the broadcaster), captions can be generated in real-time. The captioned stream is then sent to your IBM Streaming Manager endpoint, with closed captions then available directly on your live broadcast, and on the VOD created from your live broadcast.
Closed Caption agency:
As the broadcaster, it is your responsibility to contract with a closed caption provider to provide the captions for your stream. To clarify: the Closed Caption agency you select provides the captions. The Falcon system collects the captions from your agency using what is known as the iCap system, and sends them to your streaming manager endpoint. You can find a (non-exhaustive) list of Captioning Services that use the iCap system here.
The process for setting up service based captions may seem complicated as you look below, but understanding the general steps that you are taking will keep you on track.
Step 3: Modifying your encoder settings
Step 4b (alternate): Start receiving generated captions with Automatic Speech Recognition (ASR)
Here is an image showing an overiew of the signal flow:
NOTE: Access to the Falcon system is not included in your IBM Streaming Manager account. In order to take advantage of this service, you will need to create an account with EEG.
Assuming that you have an account with EEG and access to the Falcon system, your first step is to get the RTMP URL and Stream Key information for the channel you will be broadcasting to. Log in to your IBM Streaming Manager account, and navigate to the Channels > Broadcast Settings tab in your dashboard.
Next, click on 'View' to the right of the Encoder settings field. This will bring you to the encoder settings page.
The first field on this page contains the two pieces of information that you will need when using any 3rd party encoder- the RTMP URL and the Stream Key. These values are unique to each channel, and they are also permanent- this URL and this Stream Key will always point to this particular channel. You can think of the RTMP URL as the address of the channel, and the Stream Key as permission to stream to it. You can either copy these values to your notepad, or simply leave this page open and copy over the values when necessary.
The next step is to open the Falcon instance. In order to do so, open a new browser tab and go to https://eegcloud.tv/. If you already have an account with EEG, log in. If not, you will need to create an account.
Once you are logged in, you will have access to whatever services you have signed up for with EEG. First, click on the Falcon service.
Next, select the RTMP option for creating your stream.
On this page you will be able to direct the Falcon service to your Streaming Manager endpoint. In order to correctly configure the Falcon instance, take the following steps:
- Select "Allow Falcon to push/forward the stream (standard)"
- Enter the RTMP URL for your Streaming Manager channel in the Forwarding URL field (enter the RTMP URL only, NOT the Stream Key)
- Under Caption Format, select RTMP onCaptionInfo for UStream.
- Select the caption service provider you will be using for your stream.
- Create an iCap Access Code. This is a codephrase generated by you that you will give to the caption service to correctly direct it. In this case we are using "IBMdemocode".
When you are finished, click the "Launch" button at the bottom of the page. This will begin the Falcon instance and bring you to a status page with several important pieces of information. The most important is the RTMP Ingest URL. This will be the first piece of information that appears in the top field. Unlike the RTMP URL for your channel, this URL is not permanent- this will change every time you stop and restart a new Falcon instance, so be sure to double check this value before streaming. Copy this URL into a notepad for the time being to be added to your encoder later.
Navigate to the output configuration panel for your encoder. In this example, we are using Wirecast, but this step will differ depending on your encoder. Check the streaming manual for your particular encoder to determine details of this step. In your encoder output configuration panel, set your output resolution and bitrate as usual. However, for your destination (RTMP URL) add the URL copied from Falcon INSTEAD of the RTMP URL for your Streaming Manager channel. The Stream Key should still be the key copied from your channel, however.
If you are using a caption service with a remote live captioner:
Give the iCap Access Code you generated when provisioning the Falcon configuration to your captioner. They will enter this iCap Access Code into their iCap software client and generate captions through their typical live workflow using their own stenography software. The iCap client allows the stenographer to hear the audio from your stream, and automatically routes captions from their steno software over to your Falcon encoder via the iCap network where it is encoded directly into the RTMP stream.
The iCap software client is pictured below for informational purposes- you do not need access to this system, as this will be handled by your caption provider.
Begin your stream. Your encoder will now be sending your stream to the Falcon system. The captions service you have chosen will begin to generate captions for your stream, and the Falcon system will redirect that broadcast to your Streaming Manager endpoint, with captions!
If you are using an automated caption generator:
In addition to having a caption agency that provides a live captioner, some services offer automatic caption generation systems. If you have contracted with a service that will be offering automatic caption generation, you will want to click on the 'Switch Service' dropdown menu at the top of the page and select the captioning service you have contracted with. In our example, we are using Lexi Live Captioning. On this page, you will see a list of all the historical instances you have with this particular captioning service.
On the bottom of this page, click 'New Instance'. This will bring you to the services configuration page. NOTE: configuration pages for different services may differ in appearance and options available. On the right hand column of the screen, you can determine certain behaviors of the captions, such as row number, indentation, etc. On the left, you can choose your caption language. Also, you will need to add the iCap Accesscode that you generated on the Falcon configuration page. Enter this in the first field on the left.
Once you have your captions configured, click "Start ASR" at the bottom of the page. This will then bring you to a status page showing the status of the caption service as well as a json settings overview.
You should now have your caption service running as well as the Falcon ingest- the platform is now waiting for your content! Open up your streaming encoder. In this example, we are using Wirecast.
Navigate to the output configuration panel for your encoder. NOTE: this step will differ depending on your encoder. Check the streaming manual for your particular encoder to determine details of this step. In your encoder output configuration panel, set your output resolution and bitrate as usual. However, for your destination (RTMP URL) add the URL copied from Falcon INSTEAD of the RTMP URL for your Streaming Manager channel. The Stream Key should still be the key copied from your channel, however.
Begin your stream. Your encoder will now be sending your stream to the Falcon system. The captions service you have chosen will begin to automatically generate captions for your stream, and the Falcon system will redirect that broadcast to your Streaming Manager endpoint, with captions!