Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsUse FFmpeg’s concat demuxer to play a text playlist of compatible video files in sequence, then loop that playlist and send its output to YouTube Live. The playlist is only one part of a 24/7 broadcast: your FFmpeg process, host, upload connection and YouTube ingest must stay available, and you need rights to stream every animation, narration, soundtrack and image.
What you need before building the playlist
- A current FFmpeg installation on a computer or server that can remain powered on and connected to the internet.
- Video files you are authorized to broadcast publicly and, if applicable, archive.
- A YouTube channel with access to create a live stream in YouTube Studio.
- A stable upload connection with enough capacity for the selected video bitrate, plus overhead. YouTube recommends testing the upload bitrate against the intended stream settings.
- A text editor to create a UTF-8 or plain-text playlist file.
This guide uses H.264 video and AAC audio as a practical RTMPS example. FFmpeg’s command-line options and YouTube’s encoder recommendations can change, so check YouTube Help’s current “Choose live encoder settings, bitrates, and resolutions” guidance before going live. The figures below were checked against YouTube Help on 2026-10-03.
Prepare compatible fairy-tale videos
The concat demuxer reads the listed files sequentially and adjusts timestamps so each file follows the previous one. It works best when every entry has the same stream layout and matching parameters, including codecs and time bases. Files that merely share an MP4 extension are not necessarily compatible.
Inspect the source files
Before assembling a long playlist, compare each file’s video and audio stream count, codec, time base, dimensions, frame rate and audio layout. FFmpeg’s project documentation describes the concat demuxer as a way to join compatible files without re-encoding; its FAQ points to the concat filter when a re-encode is needed.
#1 Best Overall
- 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.
If a file has different dimensions, frame rate, codec or audio layout, normalize it to a common profile before using the demuxer, or create the sequence with the concat filter and re-encode. Normalizing the files takes extra processing and can affect image or sound quality, but it gives you a more consistent output. Do not assume that arbitrary downloads or exports will join cleanly.
Create the playlist file
- Put the video files in one folder, or decide which paths you will use in the playlist.
- Create a text file named
playlist.ffconcat. Make the first line exactlyffconcat version 1.0so FFmpeg can recognize the format automatically. - Add one
fileentry for each video, in the order you want it to play. For example:ffconcat version 1.0 file 'episode-01.mp4' file 'episode-02.mp4' file 'episode-03.mp4' - Save the file in UTF-8 or plain text. If the videos are not in the same folder, use valid paths to them; test the paths from the same working directory you will use to launch FFmpeg.
The example uses simple filenames. Filenames containing quotes or other special characters need correct quoting in the ffconcat file. Test the playlist before leaving it to run unattended.
Build and test the FFmpeg stream command
This illustrative command assumes a compatible playlist and a 1080p, 30-fps H.264 output. It is a starting example, not a tested command for your files or a universal preset. Replace the RTMPS endpoint and stream key with the values YouTube Studio provides for your stream.
Rank #2
- 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.
ffmpeg -re -stream_loop -1 -f concat -i playlist.ffconcat
-c:v libx264 -preset veryfast -b:v 14000k -maxrate 14000k -bufsize 28000k
-pix_fmt yuv420p -g 60 -c:a aac -b:a 128k -ar 44100
-f flv 'rtmps://YOUTUBE_INGEST_URL/YOUR_STREAM_KEY'
What the important options do
-rereads the file input at its natural rate instead of allowing FFmpeg to consume it as fast as possible.-stream_loop -1repeats the input indefinitely. It does not restart FFmpeg if the process exits or restore a failed connection.-f concat -i playlist.ffconcatselects the concat demuxer and opens the playlist.-c:v libx264encodes video as H.264.-preset veryfasttrades encoding efficiency for lower processing demand compared with slower presets; whether it is suitable depends on the host and workload.-b:vand-maxrateset the video bitrate target and cap in this example;-bufsizecontrols the rate-control buffer. Set them to suit your resolution, frame rate and YouTube’s current chart rather than copying them blindly.-pix_fmt yuv420pselects a commonly compatible pixel format.-g 60sets a 60-frame GOP. At 30 fps that is a two-second interval; at other frame rates, change the value so the interval matches your target.-c:a aac -b:a 128k -ar 44100encodes AAC audio at the example bitrate and sample rate. Confirm that the source audio and intended output settings are appropriate for the program.-f flvselects the muxer used for this RTMP/RTMPS-style output.
Choose a bitrate and keyframe interval
YouTube’s encoder guidance for RTMP/RTMPS lists H.264, H.265 and AV1 video; AAC or MP3 audio; constant bitrate (CBR); up to 60 fps; and a recommended two-second keyframe interval that should not exceed four seconds. YouTube recommends RTMPS to encrypt the connection between the encoder and Google’s servers.
Recommended Free Tools
For H.264 at 1080p and 30 fps, YouTube’s chart listed a 5 Mbps minimum and 14 Mbps recommended bitrate when checked on 2026-10-03. The sample command uses the recommended 14 Mbps figure for that specific format, not for every resolution, frame rate or codec. Use the current chart for your chosen output and test the real animation and audio; complex motion and your encoding setup can affect whether the output is healthy.
Keep the stream key private
Copy the server URL and stream key from the live stream setup in YouTube Studio into your encoder configuration. Treat the key like a password: do not publish it in a public script, share it in screenshots or include it in logs you distribute. If you store the command in a script, restrict access to that file. Use the actual endpoint format shown by YouTube rather than the placeholder in the example.
Rank #3
- 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.
Start the stream in YouTube Studio and verify it
- Open YouTube Studio and create or schedule a stream in the Live Control Room.
- Copy the server URL and stream key YouTube provides into the FFmpeg output configuration.
- Start FFmpeg. YouTube creates the watch page when the encoder begins sending.
- Check the Live Control Room preview and stream-health messages. Confirm that picture and sound are present and that the stream is not reporting an ingest problem.
- Before announcing a permanent channel, test the actual playlist, including scenes with representative movement and audio. YouTube recommends testing the stream and running a speed test against the intended upload bitrate.
Do not treat a successful first connection as proof that the stream will run indefinitely. Monitor both FFmpeg’s logs and YouTube’s stream health, and arrange a restart strategy appropriate to the computer or server you use.
Choose between the concat demuxer and concat filter
| Method | Best fit | Trade-off |
|---|---|---|
| Concat demuxer | Files with matching stream layouts and parameters that can be joined without re-encoding. | Less processing than re-encoding, but mismatched streams or inaccurate duration metadata can cause artifacts or gaps. |
| Concat filter | A sequence that needs re-encoding or inputs that need conversion to a common output. | Requires encoding work, but offers a way to produce a consistent output from differently configured sources. |
Inspect the files first, then choose the least complicated method that produces a reliable, consistent stream. FFmpeg’s project FAQ describes these approaches and when each is appropriate.
Plan for long-running operation and archives
Keep the encoder available
An infinite loop only repeats files while FFmpeg is running. A process exit, computer reboot, power loss, network failure or unhealthy upload can stop the broadcast. Monitor the process and its logs, check YouTube’s stream-health status, and decide how you will detect a stopped stream and restart it. A local computer gives direct access to the files, while a rented server can run remotely but still requires you to transfer the media and maintain the machine and connection. No specific cost or reliability advantage is established for either option here.
Rank #4
- 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
Do not rely on a single 24/7 archive
YouTube Help says streams under 12 hours are automatically archived. A stream that runs continuously for 24 hours or more falls outside that stated automatic-archive condition, so do not rely on the automatic archive to preserve one complete replay. If a complete replay matters, keep a separate local recording or arrange shorter sessions with planned transitions. A separate copy also helps if a broadcast is interrupted.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Clear rights and set the audience correctly
A traditional fairy tale may be old, but a particular adaptation, animation, narration, recording, illustration or soundtrack may still be protected. Confirm that you have the rights needed for public live streaming and for any replay you intend to keep. YouTube says all live streams are scanned for matches to third-party content. A match can cause the stream to be replaced by a placeholder, interrupted or terminated. If you have a license for third-party content, YouTube says the rights owner may also need to add your channel to its Content ID allowlist where applicable; a license alone may not prevent an interruption.
Decide the intended audience for the actual episodes and apply YouTube’s current audience designation and content policies. “Animated” or “fairy tale” by itself does not determine the correct audience setting; the content and intended audience do.
Best Value
- 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.
Troubleshoot common playlist and stream failures
| Symptom | Likely cause | What to check or change |
|---|---|---|
| FFmpeg cannot open a playlist entry. | The path is wrong, the file is missing, or the filename is not quoted correctly. | Check the working directory and each path in playlist.ffconcat. Test with simple filenames, then handle special characters with valid ffconcat quoting. |
| Playback stops, glitches or has a gap at a file boundary. | Files have mismatched streams or parameters, or duration metadata is inaccurate. | Inspect stream count, codecs, time bases, dimensions, frame rate and audio layout. Normalize incompatible inputs or use the concat filter when re-encoding is needed. |
| FFmpeg connects but YouTube reports poor or unstable stream health. | The upload cannot sustain the configured bitrate, the encoder settings do not match the target, or the connection is unstable. | Run a speed test against the intended upload bitrate, check the current YouTube chart, and test representative audio and motion while watching Live Control Room health messages. |
| The stream disconnects and does not resume. | The loop repeats the media, but does not recover from an exited FFmpeg process, host failure or lost connection. | Check FFmpeg logs and host/network status. Set up monitoring and an environment-appropriate restart plan, then confirm the stream has returned in YouTube Studio. |
| The stream is interrupted after a third-party match. | Animation, narration, music, artwork or another element triggered a copyright match; a licensed channel may not be allowlisted where required. | Review the matched content and your rights. Contact the rights owner about allowlisting when applicable, and do not assume that a license prevents automated interruption. |
| A complete replay is missing for a long broadcast. | The continuous session exceeded YouTube’s stated under-12-hour automatic-archive condition. | Use a separate recording or plan shorter sessions with transitions if preserving a complete replay is important. |
Or let it run in the cloud
If you want to avoid maintaining an FFmpeg host and connection at home, StreamNeo is a cloud service for keeping a YouTube channel live from uploaded videos. Upload a recording or build a playlist, add your YouTube stream key once, and go live. StreamNeo loops the uploaded videos in the cloud; it does not stream from a camera, and it streams to YouTube only.
- Your computer and home connection do not have to stay on for the stream to continue.
- Every slot streams what you upload, up to 4K 60fps, at one flat price per slot with no re-encode or quality tiers.
- Automatic recovery is included if YouTube drops the stream.
- Each slot includes one always-on stream, 10 GB storage per slot pooled across active slots, 24/7 looping and playlists, and support from the StreamNeo team.
- The first day is free with no card, with one free day per account. Short and long billing periods are available; cancel any time. UPI and cards are accepted in India, with card checkout worldwide. Contact support for five or more slots.
Monthly: $9.99 per month. Learn more at StreamNeo, or start your free day.
Quick Recap
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.




