Reference

Recommended Settings

To ensure a successful broadcast, live video must:

  • Include both audio and video data
  • Not exceed 8 hours
  • Utilize recommended settings as specified below (example: must be H264/AAC)
  • Not change settings mid-broadcast

Failure to meet these constraints can lead to:

  • Unexpected termination of stream
  • Lower quality for viewers
  • Unexpected behavior

Video Settings

  • Key Frame Size — Recommended 2 seconds. Do not exceed 4 seconds.
  • Resolution and Bitrate —

    1080p @ 60 FPS
    Resolution: 1920x1080
    Video Bitrate Range: 4,500-9,000 Kbps

    1080p @ 30FPS
    Resolution: 1920x1080
    Video Bitrate Range: 3,000-6,000 Kbps

    720p @ 60 FPS
    Resolution: 1280x720
    Video Bitrate Range: 2,250-6,000 Kbps

    720p @ 30 FPS
    Resolution: 1280x720
    Video Bitrate Range: 1,500-4,000 Kbps

    480p @ 30 FPS
    Resolution: 854x480
    Video Bitrate Range: 600-2,000 Kbps

    360p
    Resolution: 640x360
    Video Bitrate Range: 400-1,000 Kbps

  • Protocol — RTMPS Streaming
  • Pixel Aspect Ratio — Aim for 16:9; if you are too far from this ratio we may not be able support your stream
  • Video Codec
    • H.264, Level 4.1 for up to 1080p 30 FPS
    • H.264, Level 4.2 for 1080p 60 FPS

Audio Settings

  • Audio Codec — AAC low complexity
  • Sample Rate — 44.1kHz or 48kHz
  • Audio Bitrate — 128 kbps (preferred) to 256 kbps (do not exceed)
  • Channel Layout — Stereo

Endpoints

LiveVideo

LiveVideoInputStream

Polls

EndpointDescription

GET /{live-video-id}/polls

Get a collection of VideoPolls on a LiveVideo.

GET /{video-poll-id}

Get fields and edges on a VideoPoll.

POST /{live_video_id}/polls

Create a VideoPoll on a LiveVideo.

POST /{video_poll_id}

Update fields on a VideoPoll.

Error Codes

Error messages will be sent via RTMP then will persist through to the Graph API. You can use the broadcast/video ID and query for the errors in the Graph Explorer tool via a GET request. Errors returned will contain the error code, description, and a timestamp.

error_subcodeError SummaryDescription
COPYRIGHT__LIVE_COPYRIGHT_VIOLATION

Live Copyright Violation

Your live video has been stopped because it may contain audio or visual content that belongs to a different Page.

VIDEO__CREATE_FAILED

Upload Problem

There was a problem and your video was not uploaded. Please try again.

LIVE_VIDEO__DELETE_FAILED

Live Video Not Deleted

There was a problem and we were not able to delete your live video. Please try again.

LIVE_VIDEO__EDIT_API_NOT_ALLOWED

Editing Via Video API Is Not Allowed While Live

Editing a live video using the Video Edit API is not allowed. Use the live video ID.

LIVE_VIDEO__LIVE_STREAM_ERROR

Generic Stream

There was an error during the stream

LIVE_VIDEO__NOT_EXIST

Live Video Does Not Exist

The live video you are trying to access does not exist in the system any more.

LIVE_VIDEO__PRIVACY_REQUIRED

Privacy Setting Required

You need to set a privacy before going live.