Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

How to Stream a YouTube Live Playlist from an S3 Bucket with FFmpeg

A practical S3-to-YouTube Live workflow: retrieve your videos, build a compatible FFmpeg concat playlist, configure RTMPS, and test before launch.
Length9 min Posted Quest giverVGSources Team

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Download the S3 objects you want to play, put them in the intended order in an FFmpeg concat manifest, then send FFmpeg’s output to the YouTube Live ingest address and stream key over RTMPS. This is a component-by-component workflow: AWS documents retrieving S3 objects, FFmpeg documents concat manifests, and YouTube documents live ingest, but those sources do not provide or validate one universal command that turns a private S3 bucket directly into a live playlist. The example below assumes you have permission to read the objects and that the files are compatible with FFmpeg’s concat demuxer; test it with your actual files and stream settings before going public.

What you need before starting

  • An S3 bucket or prefix containing the videos you are authorized to stream.
  • A working AWS access method, such as credentials configured for the AWS CLI, with permission to list and retrieve the required objects.
  • FFmpeg installed on a computer or server that can access the downloaded files and maintain a reliable outbound internet connection for the whole stream.
  • A YouTube channel able to use Live Control Room, plus the current ingest address and stream key for the stream you create there.
  • Enough sustained upload bandwidth for your chosen output settings, with room for normal network variation.

Do not put long-lived AWS credentials in a script or a URL, and treat the YouTube stream key as a password. AWS documents console, CLI, SDK, and REST API methods for retrieving objects; for this workflow, downloading the selected files first makes the playlist easier to inspect and reproduce.

1. Download the playlist files from S3

For a small playlist, use the AWS CLI to retrieve named objects one by one. For a set of files under a bucket prefix, syncing that prefix to a local working directory is often easier. AWS CLI authentication must already be configured for the identity you intend to use.

Download a prefix

mkdir -p ./youtube-playlist
aws s3 sync s3://YOUR_BUCKET/YOUR_PREFIX/ ./youtube-playlist/

Replace the bucket and prefix with your own values. Review the downloaded directory rather than relying on S3 listing order: you will set the actual playback order in the manifest. For one object, AWS also documents the aws s3api get-object command; use the object key and a local destination appropriate to that file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Private objects require authorized access. If another account owns the data, the owner may provide a presigned URL; do not treat such a URL as harmless because it can grant access until it expires. AWS notes that external data transfer and GET requests can incur charges. The amount depends on your use and applicable AWS pricing; no fixed cost is assumed here.

Choose between local staging and remote reads

Approach What it means Trade-off
Download to a working directory Fetch the selected objects before starting FFmpeg, then point the concat manifest at local files. Easy to audit and test; requires local or server storage for the files and may incur S3 transfer or request charges.
Read objects remotely Arrange for the encoder to access each object using an authenticated method. Can avoid a separate staging step, but authentication, URL expiration, and FFmpeg input behavior depend on the chosen integration. AWS and FFmpeg documentation do not establish one universal private-S3 playlist command.

The remaining steps use local staging so the file list and access permissions are explicit.

2. Make and validate an ordered FFmpeg concat manifest

Create a text file named playlist.txt in the working directory. Add one file line per video in the order you want it played. Use paths relative to the manifest where practical:

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
file 'clip-01.mp4'
file 'clip-02.mp4'
file 'clip-03.mp4'

FFmpeg’s concat demuxer reads entries sequentially. Its documented constraint matters: files should have the same streams, codecs, and time base for direct concatenation. Duration inaccuracies can produce timestamp problems or artifacts; the manifest can use duration directives when known duration data is inaccurate or unavailable. A directive applies to the preceding file, for example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
file 'clip-01.mp4'
duration 120.5
file 'clip-02.mp4'

Use a duration only when you have a reliable value in seconds. Do not use a guessed duration to conceal incompatible media. If clips differ in video dimensions, frame rate, codecs, audio layout, or other stream characteristics, normalize or re-encode them to a common format before relying on concat demuxer stream-copy behavior.

Check the manifest before going live

  • Confirm every listed path exists and is readable by the account running FFmpeg.
  • Check that the order is correct; filenames and bucket listing order do not set playback order once the manifest is written.
  • Check that all clips have compatible streams, codecs, and time bases for the concat demuxer.
  • Review durations and test transitions between files, especially where audio or picture has failed in previous attempts.
  • Keep the manifest and media in a location that will remain available for the entire broadcast.

If you need a playlist that changes as objects are added to S3, this static manifest workflow will not update itself. Build and validate an updated manifest using your own process, then test how your chosen FFmpeg process handles the change; the component documentation does not validate a continuously refreshed private-bucket playlist integration.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

3. Create the YouTube Live stream and protect its key

  1. Open YouTube Studio and go to Create > Go live to reach Live Control Room.
  2. Create or select the intended stream and copy its current server or ingestion URL and stream key.
  3. Keep the key private. If it is exposed, replace or reset it in YouTube Studio before using the stream again.
  4. Check whether your encoder fields accept a server URL and stream key separately or expect them joined. YouTube’s ingestion data can expose primary and backup addresses and a stream name; how those values fit into fields depends on the encoder.
  5. For a scheduled stream, wait for the encoder preview and verify it before choosing Go live.

YouTube’s API model treats the incoming liveStream feed and the audience-facing liveBroadcast as separate resources; API setup creates them and binds them. You do not need the API for the Studio workflow above. Whichever route you use, confirm that the ingest address and key are for the exact stream you intend to test.

4. Send the playlist to YouTube over RTMPS

For an ordinary FFmpeg encoder workflow, RTMPS is the clearest default. YouTube recommends RTMPS as encrypted transport. The command below is an illustrative template, not a tested universal S3-to-YouTube integration. It assumes you have compatible H.264 video and AAC audio in the input clips, a 30 fps output, and an FFmpeg build with the required codecs. Set the environment variables to your current YouTube values; join the key to the URL only if your ingest configuration expects that form.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
export YOUTUBE_INGEST_URL='YOUR_RTMPS_INGEST_ADDRESS'
export YOUTUBE_STREAM_KEY='YOUR_STREAM_KEY'

ffmpeg -re -stream_loop -1 -f concat -safe 0 -i ./youtube-playlist/playlist.txt 
  -c:v libx264 -b:v 14M -maxrate 14M -bufsize 28M 
  -r 30 -g 60 
  -c:a aac -b:a 128k -ar 44100 
  -f flv "${YOUTUBE_INGEST_URL}/${YOUTUBE_STREAM_KEY}"

Run the command from a location where the manifest’s relative file paths resolve, or change the paths in the manifest. -re reads the input at its native rate rather than sending it as fast as possible; -stream_loop -1 requests indefinite looping of the concat input. The output settings above are an example for 1080p at 30 fps, not a promise that every source or connection can sustain them. YouTube Help’s current live encoder guidance, accessed in 2026, lists 14 Mbps as its recommended H.264 bitrate for 1080p at 30 fps and 8 Mbps for 720p at 30 fps. These are recommendations for the listed settings, not performance guarantees. Pick the output resolution, frame rate, codec, bitrate, and keyframe behavior to suit your source and sustained upload capacity; consult the current YouTube encoder guidance for the selected combination.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

The example uses a two-second GOP interval for 30 fps output (-g 60). If you change frame rate, choose a keyframe interval appropriate to the current YouTube guidance and verify it in stream health. The sample assumes audio is present. If the playlist has no audio, or some clips have different audio streams, adjust or normalize the files before using the command rather than assuming this encoding line will repair every mismatch.

Testing and launch

  1. Start with a private or unlisted test stream, not the intended public event.
  2. Use representative motion and audio, including a transition between two playlist files.
  3. Wait for the preview in Live Control Room. Check that picture, audio, order, and loop behavior are correct.
  4. Review YouTube’s stream health and warnings while the encoder is running. If the feed is healthy and the audience-facing watch page behaves as expected, proceed with the intended launch.
  5. Keep FFmpeg, the host, the media, and the outbound network available for as long as the stream needs to run.

YouTube Help says streams under 12 hours are automatically archived after the encoder stops. Platform behavior can change, so confirm the current archive behavior against your production plan rather than relying on it as your only recording or recovery method.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

5. Know when YouTube HLS ingestion is a different choice

An HLS playlist stored in S3 or read as an FFmpeg input is not the same thing as sending a stream to YouTube using its HLS ingestion protocol. YouTube’s HLS ingest guide requires a specific payload and upload method: muxed M2TS, H.264 or HEVC video, AAC audio, closed GOPs, HTTPS upload, and Media Playlists plus media segments. It ignores Master Playlists and describes HLS ingestion as relatively higher latency than RTMP- and WebRTC-based ingestion.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Ingest path Use it when Key consideration
RTMPS You are sending an ordinary encoder output from FFmpeg to YouTube Live. YouTube recommends it for the conventional encoder path; use the current server address and key and match settings to the source and bandwidth.
YouTube HLS ingest You have a specific requirement for YouTube’s HLS ingestion protocol and can produce its required segments and playlists. It has distinct container, codec, playlist, and HTTPS requirements; it is not simply an S3 HLS input URL.

6. Troubleshoot common failures

Symptom Likely cause What to check or change
YouTube shows no incoming feed The stream is not configured in Live Control Room, or the current ingest address or stream key is wrong. Confirm the selected stream, copy its current connection details again, and check whether the encoder expects the key joined to the server URL.
FFmpeg cannot retrieve a file The object path is wrong, local permissions block access, or the AWS identity lacks access. Confirm the object key and downloaded path; verify the authorized AWS CLI identity and its list/read access. Avoid placing long-lived credentials in a script or URL.
Picture or audio breaks at a clip boundary Files may have different streams, codecs, time bases, or inaccurate duration metadata. Inspect the listed files, correct reliable duration values where needed, and normalize or re-encode incompatible clips before concatenating.
Quality warnings or buffering appear The selected output may exceed sustained upload capacity, or the encoder settings may not match YouTube’s current guidance for that resolution and frame rate. Check YouTube stream health, reduce output demands if needed, and review the current encoder recommendations for your selected settings.
The stream stops when the machine sleeps or loses connection FFmpeg depends on a running host, access to the media, and working outbound networking. Keep the host awake and connected, monitor the process, and consider a suitably operated cloud compute host if you need a machine to run continuously. A cloud host adds its own cost, access-control, and monitoring responsibilities.
A bucket update does not appear in the running playlist The downloaded files and manifest are a fixed snapshot, not an automatically refreshing S3 playlist. Retrieve the new objects and update the ordered manifest using your own process; test restart or update behavior before depending on a live change.

Copyright, permissions, and channel policy

Only stream video and audio you have the rights and permissions to use. A file being in your S3 bucket does not by itself establish permission to broadcast it. Check the applicable YouTube copyright rules and your channel’s live-stream eligibility before a public stream. Replaying prerecorded material also does not, by itself, establish that a channel meets any monetization policy; review YouTube’s current reused-content and monetization rules for your situation.

Or let it run in the cloud

If your goal is a YouTube channel that stays live from uploaded recordings without keeping this FFmpeg host online, StreamNeo is a cloud alternative: upload a recording or build a playlist, add your YouTube stream key once, and go live. StreamNeo plays uploaded videos to YouTube; it does not go live from a camera or stream to other platforms.

  • Nothing needs to stay powered on at home; the stream runs in the cloud.
  • Each slot streams what you upload, up to 4K 60fps, at one flat price per slot rather than quality-based tiers.
  • It automatically recovers if YouTube drops the stream.
  • The first day is free with no card; one free day is available per account.
  • Monthly: $9.99 per month.

See StreamNeo or its plans, then start your free day.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How To Create Custom Stickers & Shoutouts In Monster Hunter WildsMonster Hunter WildsBlog20min
  2. How to Get XL Gogoat in Pokemon Legends Z-A (An Extra-Large Gogoat)Pokemon Legends Z-ABlog20min
  3. How to Get Rotting Lightbringer in Diablo 4Diablo 4Blog17min
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.