This article outlines how to enable in-player captions for your Facebook Live events (encoded into your video stream via 608 caption encoding). 3Play supports the RTMP streaming protocol, however Facebook has recently limited their support to only the RTMPS protocol. In order to convert the stream from RTMP to RTMPS, this workflow will require the use of a 3rd party service, the steps outlined here utilize Restream.io.
In this workflow you will stream from your video source (encoder) to 3Play. From there, 3Play will encode captions into your video stream, and then send that video stream with captions to the specified Restream URL, which in this scenario is Restream.io. Restream.io will convert the stream from RTMP to RTMPS, and from there you will configure Restream.io to stream to your Facebook Live event. In summary:
Encoder --> 3Play --> Restream.io --> Facebook Live
Note that events default to US-Eastern time unless a new timezone has been configured at the user level and configured for users outside of the US-Eastern time zone.
Before Getting Started...
- Enable Live Captions within the Facebook integration's settings page
- Activate the Live Auto Captioning module within 3Play Media
Step 1: Log in to Facebook and Schedule a Facebook Live event
From the Facebook page....
- Navigate to Create > Live from within the Facebook page
- On the left-hand side of the screen click Schedule a Live Video and enter a date and time for the upcoming event.
- Enter an event title and description.
- Under Settings > Stream ensure that the option Embed live video is selected.
Once these steps are completed please click Schedule Live Video.
Step 2: Log in to Restream.io
Once the event has been scheduled within Facebook, log in to Restream.io and follow the directions within Restream.io for manually connecting to a Facebook stream.
Step 3: Log in to 3Play Media
Once the event has been configured in Restream.io, log in to 3Play Media.
Click into the Live Auto Captioning module within your 3Play Media project, and select “I want to caption another RTMP stream."
Step 4: Select Event Start Time
Click the calendar icon to choose the MM/DD/YYYY and HH:MM:SS of the event. The time will automatically be set to the current time but can be manually edited within the field.
Please note: The live event must be scheduled at least 5 minutes in the future and it is editable up until 5 minutes prior to the scheduled start time. If you need to edit your event within 5 minutes of the event start, please cancel or end the original order and create a new event. 3Play will initiate a service to listen for your stream at this time. Do not attempt to stream to 3Play before the event start time, as the stream connection will fail to connect from your encoder to 3Play and your encoder will display an error message.
Step 5: Add Event Name (optional)
Edit the event name if desired. If not edited, the default event name will be "Live Stream at [today’s date].”
Step 6: Streaming to 3Play from your encoder
To allow 3Play to receive your stream and create captions, you will stream to 3Play's caption service from your encoder. As a default, 3Play will provide you with a stream target (transcoder). The RTMP URL address and Key to the stream target are provided on the confirmation page of this workflow; you'll enter this information into your encoder stream settings in preparation for the event.
If you prefer to use your own transcoder, please check the box “Override 3Pay-provided RTMP URL and key” and enter your own RTMP URL and key information in the fields provided.
Step 7: Provide a Wordlist (optional)
To improve accuracy of automated captions for a scheduled Live Auto Captioning event, add a Wordlist of the proper nouns, terms, and phrases unique to your organization that may be commonly used during the event.
Step 8: Adjust Advanced Settings (optional)
Advanced settings will allow you to adjust caption latency, filter offensive words, event wait time, max event time, elect to save the video stream, and destination folder where your files will be saved post-event.
Step 9: Add Restream URL from Restream.io
Select the checkbox “Add Restream URL” in 3Play. Next, navigate to Restream.io and select RTMP Settings. From there, you will see an RTMP URL and Stream key, copy the RTMP URL and Stream Key from Restream.io and paste it into the 3Play Restream URL field. The Restream URL should concatenate the stream URL & Key, separated by a forward slash.
For example, let’s say your stream URL is: rtmp://xyz123.entrypoint.com/app-345QRS, and your stream key is: 12345. Your restream URL will be: rtmp://xyz123.entrypoint.com/app-345QRS/12345
This URL represents the destination to which 3Play will send video with captions encoded via 608 standard, and must be in RTMP format (additional formats, such as HLS or RTMPS are not supported in this workflow). 3Play will send video with captions encoded via a 608 standard to this destination.
Step 10: Click Schedule Event & Copy Input RTMP URL & Key from confirmation page
3Play will provide you with an Input RTMP URL & Key on the confirmation page. Enter this information into your encoder.
Step 11: Start streaming at the 3Play event start time
The specified start time in 3Play represents the time at which 3Play will initiate a service to listen for your stream at this time. Do not attempt to stream to 3Play before the event start time, as the stream connection will fail to connect from your encoder to 3Play and your encoder will display an error message.
<1mbps - 600+ minutes
1-2mbps - 330 minutes
2-3mbps - 220 minutes
3-4mbps - 160 minutes
4-5mbps - 135 minutes
5-6mbps - 110 minutes
- Facebook accepts video in maximum 720p (1280 x 720) resolution,
- 30 frames per second,
- Key frame interval 2 seconds,
- Maximum bitrate 4000 Kbps.
- Titles must be less than 255 characters otherwise the stream will fail.
- H264 encoded video and AAC encoded audio only.
Stream Redundancy Management:
In this workflow, 3Play is streaming both video and captions to the end video player - if you choose to End Event through the 3Play interface, this will also end the video stream. Do not select this unless you want to stop streaming your video.
Additionally, if your stream to 3Play, or the 3Play stream to your specified restream URL is compromised, both captions and video will be impacted. As such we recommend that customers using this workflow have a secondary stream directly between their encoder and the end video player as a fall back.