Overview

This document is an overview for the Live Video API for streaming a live broadcast on Facebook.

On June 10th, 2024, Meta is launching new requirements that must meet before an account can go live on Facebook. The new requirements are as follows:

  • The Facebook account must be at least 60 days old
  • The Facebook Page or professional mode profile must have at least 100 followers

Visit our Help Center to learn more about this change.

How it works

Live video broadcasts are represented by LiveVideo objects in the Graph API. To broadcast a live video, you first use the API to create a LiveVideo object on a User, Page or Event. Upon creation, the API will return a LiveVideo object ID and an ingest streaming URL. You can then use the streaming URL to stream live video data from your encoder to the LiveVideo object and use the object to manipulate the broadcast’s visibility.

Components

Broadcasts

Live video broadcasts are represented by LiveVideo objects. By manipulating a LiveVideo object's properties, you can control the live video broadcast. For example, you can change the live video broadcast's visibility, update its description or title, add labels, define audiences, add polls, or perform many other actions.

LiveVideo objects are associated with LiveVideoInputStream objects, which represent the broadcast’s ingest streaming data. LiveVideoInputStream objects are created and managed automatically for you.

Broadcasts can be created on User, Page or Event objects using their /live_videos edge.

Stream URLs

Stream URLs are ingest URLs that you can use to stream live video data from your encoder to a LiveVideo object. When you use the API to create a LiveVideo object, the API will respond with a LiveVideo object ID and a unique stream URL. The stream URL must be used within 24 hours before expiring. Once used, a stream URL can be streamed to for up to 8 hours.

RTMPS

Live video broadcasts on must be encrypted using the RTMPS data transfer protocol. When starting a broadcast, the API will return an RTMPS secure stream URL which you must use when streaming to our servers.

Polls

You can use the API to create polls on live video broadcasts and get real-time responses from your viewers. Polls are represented by VideoPoll objects in the Graph API, and can be created with the POST /LIVE_VIDEO_ID/polls endpoint on a LiveVideo object. Upon creation, the API will return a VideoPoll object ID, which you can use to manipulate the poll and query for viewer interactions.

Tools

Live Video Composer

If you are using streaming software that does not integrate with the Live Video API, you can use our Live Video Composer tool to get stream URLs and plug them into your preferred streaming software manually. The Live Video Composer allows you to create broadcasts on your own User profile, or on Pages or Events that you manage.

Live Video Composer

Live Ingests

The quality of your live video broadcast starts with a reliable connection to our servers. Poor connections can result in low quality video, playback interruptions, and failed broadcasts. The Live Ingests tool allows you to test your ingestion quality so you can diagnose connection issues, identify the best video ingestion server for your broadcast, and provide high quality broadcasts with fewer playback issues.

Live Ingests

Next Steps