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

    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






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

Live Copyright Violation

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


Upload Problem

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


Live Video Not Deleted

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


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.


Generic Stream

There was an error during the stream


Live Video Does Not Exist

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


Privacy Setting Required

You need to set a privacy before going live.