Skip to content

Reference

Updated: Apr 16, 2026

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:

Visit our

Help Center

to learn more about this change.

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

EndpointDescription
DELETE /{live_video_id}Delete a LiveVideo.
GET /{event-id}/live_videosGet a collection of LiveVideos on an Event.
GET /{group-id}/live_videosGet a collection of LiveVideos on a Group.
GET /{live-video-id}Get fields and edges on a LiveVideo.
GET /{live-video-id}/commentsGet a collection of Comments on a LiveVideo.
GET /{live-video-id}/crosspost_shared_pagesGet a collection of Pages able to share a LiveVideo.
GET /{live-video-id}/likesGet a collection of Profiles that liked a LiveVideo.
GET /{live-video-id}/pollsGet a collection of VideoPolls on a LiveVideo.
GET /{live-video-id}/reactionsGet a collection of Profiles that have reacted to a LiveVideo.
GET /{page-id}/live_videosGet a collection of LiveVideos on a Page.
GET /{user-id}/live_videosGet a collection of LiveVideos on a User.
POST /{event-id}/live_videosCreate a LiveVideo on an Event.
POST /{group-id}/live_videosCreate a LiveVideo on a Group.
POST /{live_video_id}Update fields on a LiveVideo.
POST /{live_video_id}/input_streamsCreate a LiveVideoInputStream on a LiveVideo.
POST /{live_video_id}/pollsCreate a VideoPoll on a LiveVideo.
POST /{page-id}/live_videosCreate a LiveVideo on a Page.
POST /{user-id}/live_videosCreate a LiveVideo on a User.

LiveVideoInputStream

EndpointDescription
GET /{live-video-input-stream-id}Get fields and edges on a LiveVideoInputStream.
POST /{live_video_id}/input_streamsCreate a LiveVideoInputStream on a LiveVideo.

Polls

EndpointDescription
GET /{live-video-id}/pollsGet a collection of VideoPolls on a LiveVideo.
GET /{video-poll-id}Get fields and edges on a VideoPoll.
POST /{live_video_id}/pollsCreate 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_VIOLATIONLive Copyright ViolationYour live video has been stopped because it may contain audio or visual content that belongs to a different Page.
VIDEO__CREATE_FAILEDUpload ProblemThere was a problem and your video was not uploaded. Please try again.
LIVE_VIDEO__DELETE_FAILEDLive Video Not DeletedThere was a problem and we were not able to delete your live video. Please try again.
LIVE_VIDEO__EDIT_API_NOT_ALLOWEDEditing Via Video API Is Not Allowed While LiveEditing a live video using the Video Edit API is not allowed. Use the live video ID.
LIVE_VIDEO__LIVE_STREAM_ERRORGeneric StreamThere was an error during the stream
LIVE_VIDEO__NOT_EXISTLive Video Does Not ExistThe live video you are trying to access does not exist in the system any more.
LIVE_VIDEO__PRIVACY_REQUIREDPrivacy Setting RequiredYou need to set a privacy before going live.

Permission error codes

CodeSubcodeMessageTypeMitigation messaging
2001363120Permissions errorOAuthExceptionYou're not eligible to go live Your profile needs to be at least 60 days old before you can go live on Facebook. Learn more at https://www.facebook.com/business/help/167417030499767?id=1123223941353904
2001363144Permissions errorOAuthExceptionYou're not eligible to go live You need at least 100 followers before you can go live from your profile. Learn more at https://www.facebook.com/business/help/167417030499767?id=1123223941353904

Get Support

Visit Meta for Developers Support to get help with a variety of issues, report a bug, view bug reports, and more.

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About