Schedule a Prerecorded Video as Live on Facebook and YouTubeJuly 22, 2021
Imagine if it were possible to schedule prerecorded videos as live weeks in advance with the streams automatically starting and stopping at a specific time on both Facebook Live and YouTube Live? Not only is this dream scenario possible, it’s also an essential workflow for several customers using the Wowza Streaming Cloud service.
Consider the following use case from Freeman, a global live event leader that leveraged this workflow and seamlessly converted to all virtual events during the pandemic. By scheduling hundreds of prerecorded videos as live through Wowza, they were able to accommodate an increase of over 3,000% in streaming hours with no increase in staff.
Benefits of scheduling and streaming a prerecorded video as live include:
|Hands-Off Management||No need to have anyone start and stop the stream the day of the event.|
|Simplicity||The setup is simple using a scheduling page dashboard in Streaming Cloud.|
|Fewer Streaming Issues||Prerecording your event reduces the chance of potential camera or network issues that could occur during a true live stream.|
|Editing Capability||Prerecorded files allow you to edit the video to your liking or even add graphics before streaming it as live.|
|Social Media Algorithms Prefer Live Over VOD||You’ll attract more viewers on Facebook and YouTube when the stream is displayed as live.|
How It Works
Wowza Streaming Cloud allows you to stream .mp3 and H.264-encoded .mp4 and .flv files as live on social media, but the files must be hosted on a web server, Google Storage, or an Amazon S3 bucket. With just a few simple settings, the Stream Scheduler in Wowza Streaming Cloud will download the file from a specified URL and automatically start and stop the stream at a specific time on your Facebook and YouTube pages.
For this tutorial, we will stream a file as live from an S3 bucket on AWS. We’ll also show you how to schedule that stream on both Facebook Live and YouTube as Stream Targets, but it’s not required to configure both.
- A. Upload Your .mp4 File to an S3 Bucket in AWS
- B: Create the Source File URL
- C. Schedule the Stream Event in Facebook Producer
- D. Schedule the Stream Event in YouTube Studio
- E. Schedule the Stream to Start and Stop in Wowza Streaming Cloud
Note: Creating a simple spreadsheet to list the URLs we’ll be creating throughout this tutorial can be quite helpful and is highly recommended.
Ok, if you’re ready, let’s get started!
A. Upload Your .mp4 File to an S3 Bucket in AWS
Log into your AWS console and navigate to your S3 bucket. If you do not yet have an S3 bucket, the directions to create one can be found here.
It’s critical you have the permissions for your bucket set to public, so confirm that before moving onto the next step. On the S3 homepage, just click on Permissions in the nav bar across the top. If you already had it set as public, you’ll see a message: “Objects can be public” and you’re good to go.
1. After checking your permissions, click on Objects in the navbar and this will take you to the Objects page. Objects are entities or files stored in Amazon S3.
2. Click on your S3 bucket name. For this tutorial, you can see below I’ve named my personal S3 bucket rose-schedule-test.
3. Once you click your bucket name, the next page will appear with an orange Upload button. Click that Upload button and then click Add Files.
4. Select the file from your local system that you’d like to upload to your S3 bucket. In the image below, I selected a file named DancingCass.mp4.
5. Important! It will prompt you to click an orange Upload button again to finalize the upload to your bucket, but before you click it, you must first click on the arrow to the left of Permissions (circled in red above).
6. In the Permissions section, you must grant public-read access so Wowza can have access to your file(s). Next, click the checkbox saying you understand the risk of making it public. In this case, the public is not the general public, it simply makes the file a publicly readable object.
Note: This step is in addition to your bucket permissions being set to public, so don’t skip this. You need both the bucket and the file you’re uploading to be set to public in order for Wowza to access them.
7. Once the file is set to public, you can click the orange Upload button. Your uploaded file will appear shortly with a green check mark / success message.
B. Create the Source File URL
In the S3 bucket where you’ve just uploaded your file, click on that file name and it will take you to the Object Overview page.
1. In the lower right section of the page, you will see an Object URL.
3. You’ll need to copy and paste that object URL into the Wowza Streaming Cloud Manager later in this tutorial, so keep this S3 bucket page open.
Note: Before continuing, you’ll want to copy and paste that object URL in a browser and make sure that video file plays. In order for it to work in Wowza Streaming Cloud, it must work here first in a browser, so check this before moving onto the next step.
C. Schedule the Stream Event in Facebook Producer
Facebook Producer allows you to schedule a stream using encoder software and it will create an upcoming event post for you. You must already have a Facebook account.
1. Open facebook.com/live/producer in a browser.
2. In the left column, select if you’d like to stream to your own page or to a page you manage.
3. Select Schedule Live Video Event and click Next.
4. You must enter an Event Name, Description and configure the Audience Settings based on your stream type (potential age restrictions, etc.).
5. Be sure to select the Date and Start Time for your event to begin streaming on Facebook.
6. Click Create Event.
7. Note the Server URL and the Stream key that Facebook generates. You’ll use those values when configuring the stream target for your application.
D. Schedule the Stream Event in YouTube Studio
A YouTube channel is required to schedule a stream in YouTube Studio. If you don’t have one, you can easily create one here before continuing to the next step below.
1. Open studio.youtube.com in a browser.
2. In the upper right near your profile photo, click Create and then Go Live.
3. Click Schedule Stream. A popup box will appear, click Create New.
4. Enter a stream Name and Description. Do not change the default privacy setting, leave it as Public.
5. Be sure to select the Date and Start Time for your event to begin streaming.
6. In the Audience settings, you are required to select yes or no, so make your selection based on your streaming content. If you’re not sure which to select or want to know how it affects live chat and ads, you can click on the “What’s content made for kids?” link.
7. Click Create. YouTube Studio will now create your event page.
8. You must select to Enable Auto-start and Enable Auto-stop. If you’d like to Enable DVR, select that as well, but it’s not required.
9. Note the Stream URL and the Stream key that YouTube generates. You’ll use those values when configuring the Stream Target for your application.
Your new YouTube event page will list other pieces of information related to your streaming event. If you click on the Share arrow to the left of your account avatar (upper left corner of the screen) a popup will appear with the share links for multiple social media sites.
Ok, we’re moving right along with just one big step remaining! You’ll need to log into Wowza Streaming Cloud next, so if you still need a license, we have a free trial here or you can check out our subscription monthly plans as well.
In the next step, we’ll create a new stream in the Streaming Cloud Manager and schedule our prerecorded file to stream as live on both Facebook Live and YouTube Live.
E. Schedule the Stream in Wowza Streaming Cloud
1. Log into your Wowza Streaming Cloud account and in the top nav bar, click on Advanced.
2. In the dropdown, select Transcoders
3. Click the Add Transcoder button and create a name for it.
4. You can select Passthrough instead of Adaptive Bitrate as the transcoder type since YouTube and Facebook both have built-in Adaptive Bitrate (ABR) support.
5. On the Transcoder Setup page, under Source Protocol, select File.
6. You need to enter the Source File Name. This is the Object URL that we created in your AWS S3 bucket page back in Section B: Create the Source File URL. Locate the Object URL on your S3 page and paste into the Source File field.
7. Complete the remaining fields to finish creating the Transcoder. Click Add.
When the transcoder is successfully added, you will end up on this page in the Streaming Cloud Manager.
In the image above, you can see I’ve successfully added a transcoder named Blog Test. Please note the location of the Add a Stream Target button, but don’t click it just yet.
Let’s pause a moment and recap what we’ve done so far. We created a transcoder in Wowza Streaming Cloud and also added our Source File, which was the prerecorded video we uploaded earlier in AWS. We also created a new streaming event in both Facebook Producer and YouTube Studio.
Our next step is to add the Stream Targets in Streaming Cloud for Facebook and YouTube and schedule our file to automatically start and stop streaming at a specific date and time.
Facebook Live Stream Target
1. Go ahead and click the Add a Stream Target button in the Streaming Cloud Manager on the Transcoder home page. In the dropdown, select Custom. (Do not click Facebook Live from the dropdown for this particular workflow).
2. Enter a Name for the Stream Target. I’ll name mine Facebook Live.
3. Select RTMPS as the provider.
4. In the Primary URL field, enter the Server URL from your FB event page, but just the part after the rtmps:// since Streaming Cloud already has that part pre-populated.
5. In the Stream Name field, you will enter the unique Stream Key from your Facebook event page.
6. Leave both the username and password fields blank and if they auto-populate, delete them.
7. Leave the RTMP Playback field blank, click Add.
YouTube Live Stream Target
1. Click the Add a Stream Target Button in the Streaming Cloud Manager on the Transcoder home page. In the dropdown, select Custom.
2. Enter a Name for the Stream Target. I’ll name mine YouTube.
3. Select RTMP as the provider. (Not RTMPS as you did for Facebook)
4. In the Primary URL field, enter the Stream URL from your YouTube event page, but just the part after the rtmp:// since Streaming Cloud already has that part pre-populated.
5. In the Stream Name field, you will enter the unique Stream Key from your YouTube event page.
6. Leave the rest of the fields blank and make sure the username and password do not auto-populate. If they do, delete them and leave them blank.
Part 1: Create the Schedule in Cloud to Start the Transcoder
1. In Wowza Streaming Cloud, click on Advanced in the top navigation bar and select Schedules.
2. Click on the Add Schedule button.
3. Create a schedule name to differentiate it from any other schedule. For this tutorial, I’ll name mine File as Live.
4. In the Live Stream/Transcoder field, you can click on the dropdown arrow and select the name of your transcoder you created earlier since it is already connected to the schedule. It should appear in the dropdown.
5. Specify the exact date and start and stop times. Be sure to use the correct time zone.
Important! When choosing the start time, keep in mind that it takes a few minutes for Wowza Streaming Cloud to configure the live stream or transcoder and download the Source File. If your event begins at 9am on Facebook or YouTube, for example, it’s a good idea to set the transcoder start time a little earlier, say, at 8:50am.
Depending on the size of the file to download and network conditions, you may want to schedule the transcoder to start up to 20 minutes before the time the of the streaming event. You don’t need to worry that it will start streaming early, it will just make sure the file is downloaded and ready in time.
My event will begin at 9am and it’s not a very large file to stream, so I will schedule my transcoder to start at 8:50 a.m.
6. Click Add to finalize the schedule.
Part 2: Create the Schedule for the Source File to Begin Streaming
1. On the Transcoder page in Streaming Cloud, click on Properties in the nav bar.
2. Click Edit.
3. Check the box Start Source File at Specified Time.
4. Click on the Calendar Icon to the right. It can be easy to miss, but there is a little clock icon to select the time as indicated by the red arrow.
5. Select the date and time you’d like the source file to start streaming.
Let’s summarize since it’s very important these two steps are configured correctly.
For this tutorial, I scheduled my transcoder to start at 8:50 a.m. to give it time to download my Source File from my S3 bucket. I then scheduled that Source File to begin streaming as live at 9 a.m. on both Facebook and YouTube.
If you select Play source file on a loop, be sure you have it scheduled to stop, as it will loop endlessly and accumulate charges in Streaming Cloud.
You’ve completed all the steps to schedule a prerecorded stream as live on both Facebook and YouTube using Wowza Streaming Cloud.
If you have a recurring streaming event on your Facebook page and YouTube channel such as a weekly church service and you’d like to stream a new prerecorded video as live the following week, simply update the same Streaming Cloud transcoder and schedule in the manager without repeating all of the steps we’ve just covered.
If you bookmark the Cloud Manager pages where you need to make quick updates in a spreadsheet, it will save you a lot of time.
To Update the Same Transcoder and Schedule With a New Prerecorded File:
- On the Transcoder page, Click Transcoder Overview and then click Edit.
- Paste in a new Source URL file from your S3 bucket or Wowza Streaming Cloud server of your choice.
- On the Transcoder page, click on Properties and Edit. Update the specific date and start and stop times for Start Source File at a Specific Time.
- Create a new streaming event in both Facebook Producer and YouTube Studio.
- From the Transcoder page, select Outputs & Targets, and click Edit.
- Copy your new Stream Key from Facebook and paste it in the Stream Name field.
- YouTube does not update the Stream Key, so you don’t have to do that one.
- Update your Streaming Cloud Schedule with the new Streaming Event date and time and make sure you’ve saved all of your changes for each step!
For information on advanced schedule and transcoder settings in Wowza Streaming Cloud, please click here.