This guide provides a comprehensive walkthrough for setting up and streaming live video to Facebook Live using Wowza Streaming Engine. It covers everything from system prerequisites to stream configuration, stream target setup, and troubleshooting tips. Follow these steps to ensure a smooth streaming experience from Wowza to Facebook Live.
Prerequisites
To successfully stream to Facebook Live using Wowza Streaming Engine, you must have:
- Wowza Streaming Engine version 4.5 or later
- A valid Facebook account (personal or business)
- Facebook Live requires RTMPS as of May 1, 2019
Facebook Stream Requirements:
- Resolution: Maximum of 720p (1280x720) at 30 fps
- Keyframes (I-frames): Must be sent at least every 2 seconds
- Video Bitrate: Recommended maximum of 4 Mbps
- Audio: Required; must be AAC
- Audio Bitrate: 128 Kbps mono
- Audio Sample Rate: 44.1 kHz
- Maximum Stream Duration: 8 hours
- 360 Video Format: Equirectangular projection recommended
Note: If the stream exceeds the 8-hour limit, Facebook will end the post and save the video. Wowza will automatically create a new post and continue streaming.
Step 1: Facebook Setup
- Log into Facebook.
- Create or access a Facebook Page to stream to. If you're streaming to your timeline or an existing Page, no further configuration is needed.
Step 2: Create a Stream Target in Wowza
- In Wowza Streaming Engine Manager, navigate to Stream Targets and click Add Stream Target.
- Select "Facebook Live" under third-party destinations.
- Fill in the following details on the configuration page:
- Stream Target Name: Unique name (avoid special characters like < > : " / \ | ? * .. ~)
- Source Stream Name: The input stream name defined in Wowza
- Title/Description: These will appear in the Facebook Live post
- 360 Projection: Select "Equirectangular" if streaming 360 video, otherwise select "None"
- Click Login and authorize Wowza to access your Facebook account.
- When prompted, set your preferred default privacy level (public, friends, etc.).
Notes:
- If login fails, try logging out and back into Facebook in another tab.
- Stream targets are associated with the Facebook account used during setup.
- We recommend not exceeding 10 concurrent stream targets per Facebook account.
Step 3: Choose Video Destination
- My Timeline: Stream directly to your personal timeline.
- Page: Choose a Page you manage from the My Pages dropdown.
If streaming to your timeline, also set the privacy level (Only Me, Friends, Friends of Friends, or Public).
Click Add This Target to save the configuration.
Step 4: Set Business Integration Privacy
- Log into Facebook.
- Navigate to Settings > Business Integrations.
- Click on Wowza Streaming Engine.
- Choose your desired visibility level, then click Save.
Step 5: Enable Stream Targets
- In Wowza Streaming Engine Manager, go to your application.
- Click Stream Targets and then click Enable Stream Targets.
Status indicators:
- Waiting: Enabled but waiting for input stream
- Active: Stream is being sent to Facebook
- Error: Stream failed to connect (check credentials, source stream, or token validity)
If the Facebook token has expired or been invalidated, the log will show:
PushPublishFacebookTokenInfo.log: token is invalid
To resolve:
- Re-edit the stream target
- Log in to Facebook again and save
Enable debug logging in the Advanced tab to track token issues.
Step 6: Test the Stream
- Start the encoder or camera sending the H.264 stream to Wowza.
- In Wowza Manager, go to Incoming Streams and click the stream name.
- Verify the status is Active.
- Check Facebook to confirm the live video is posted.
- To end the test, stop the encoder or camera stream.
About Facebook Live Posts
When a Facebook stream target becomes active:
- The post is labeled LIVE.
- If the source stream disconnects briefly, Facebook waits and resumes the stream.
- If disconnected for too long, Facebook ends the live post and converts it to an on-demand video. Wowza will generate a new live post if the stream resumes.
Triggers for a New Live Post:
- Restarting the Wowza server or application
- Disabling, editing, or deleting the stream target
Troubleshooting Facebook Stream Targets
If a stream fails, increasing the read/write timeout may help:
- In Wowza Streaming Engine Manager, go to your application.
- Select your Facebook stream target.
- Click the Custom tab > Edit.
- Click Add Custom Property and enter:
- Name:
facebook.readWriteTimeout
- Type: Integer
- Value: 15000 (in milliseconds)
- Name:
- Save and restart the application.