Real-time Video: RTMP
Receive a real-time RTMP stream from your bots.
If you'd like to broadcast a livestream of a call outside of the meeting itself, you can configure your bots to send an RTMP stream to an endpoint.
- The video of the RTMP stream is 720p at 30fps.
- Currently RTMP only supports a single, mixed video/audio.
The Video Layout of the RTMP stream will be the same as the format of the recording produced by the bot. If you select
speaker_view, the RTMP stream will only show the active speaker, but if you setgallery_view_v2, it will show the full gallery view.
Configure the bot
Now it's time to send a bot to a meeting while configuring a real-time websocket endpoint.
To do this, call the Create Bot endpoint while providing a real-time endpoint object where:
type:rtmpconfig.url: Your publicly exposed ngrok tunnel URLconfig.events: An array including thevideo_mixed_flv.dataevent
Include video_mixed_flv media object in recording_config . Don't forget to set meeting_url to your newly-created Google Meet call.
Example curl:
curl --request POST \
--url https://us-west-2.recall.ai/api/v1/bot/ \
--header "Authorization: $RECALLAI_API_KEY" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data '
{
"meeting_url": "https://meet.google.com/sde-zixx-iry",
"recording_config": {
"video_mixed_flv": {},
"realtime_endpoints": [
{
"type": "rtmp",
"url": "rtmps://your-app.com/api/...",
"events": ["video_mixed_flv.data"]
}
]
}
}
'Your RTMP destination URL should have the following format:
rtmp://hostname[:port]/{APPLICATION-NAME}/{STREAM-KEY}
If you'd like an extra layer of authentication in addition to the stream key, we recommend generating a short-lived JWT and providing this as a query parameter. Your backend can then verify this token prior to accepting the RTMP connection.
Updated 4 days ago