The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →To stream a playlist from a VPS to YouTube over RTMPS, put the media files in a compatible FFmpeg concat list, retrieve the RTMPS URL and stream key from YouTube Live Control Room, then run FFmpeg with settings matched to your video and server. The example below loops a local playlist indefinitely; it is a template, not a tested command for every media set or VPS.
Before you start
- Your YouTube channel must be eligible for live streaming, verified, and free of live-streaming restrictions during the preceding 90 days. YouTube also requires streamers to be at least 16 years old. See YouTube’s live-streaming eligibility requirements.
- You need an FFmpeg build on the VPS with the encoders and protocols your chosen settings require. Available codecs vary by build; check yours rather than assuming every package includes the same options.
- Have the video files on the VPS, or use the appropriate FFmpeg input for your playlist source. A local concat list is not interchangeable with every M3U/M3U8 or remote playlist format.
- Allow enough VPS CPU capacity to encode in real time and sufficient network upload capacity for the outgoing stream.
Get YouTube’s RTMPS URL and stream key
- Open YouTube Live Control Room and create or select an encoder stream.
- Copy the RTMPS ingest URL and the stream key shown for that stream. YouTube warns RTMPS may not be the default URL displayed, so explicitly select or retrieve the RTMPS endpoint. Follow YouTube’s encoder setup instructions and RTMPS guidance.
- Keep the key private. YouTube describes stream keys as a password and address for the stream. If the key is exposed, reset it in Live Control Room and update the FFmpeg sender. Do not paste a real key into a public script or shell command that others can read.
The destination usually combines the RTMPS URL and key in the form shown by YouTube. Use the exact values and formatting it provides; do not assume a host, path, or key format.
Prepare a local playlist
Create the concat list
For a local playlist using FFmpeg’s concat demuxer, create a text file such as playlist.txt with one file entry per line:
file 'videos/part-1.mp4'
file 'videos/part-2.mp4'
file 'videos/part-3.mp4'
Use paths that exist on the VPS. The concat demuxer expects the listed inputs to have compatible streams; mismatched codecs, stream layouts, or timing can cause transition problems. Incorrect duration information can also produce gaps or artifacts. Consult the FFmpeg concat demuxer documentation when adapting the list.
#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.
Understand the path-safety option
The example command uses -safe 0 to allow paths that the concat demuxer might otherwise reject as unsafe. Use it only with a playlist you control and paths you trust. Prefer safe relative paths where feasible. This option does not make an untrusted playlist safe.
If your playlist is an M3U/M3U8 URL or another source type, first determine how that specific input is handled by your FFmpeg build and format. The concat-list example below does not establish a universal invocation for every playlist format.
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.
Choose YouTube-compatible output settings
YouTube’s RTMP/RTMPS encoder guidance lists H.264, H.265/HEVC, and AV1 video, AAC or MP3 audio, and frame rates up to 60 fps. It recommends constant bitrate (CBR), a 2-second keyframe interval, and advises not to exceed 4 seconds. Select the bitrate from YouTube’s range for your target resolution and frame rate rather than treating one bitrate as correct for every stream. See YouTube’s encoder settings.
- Resolution and frame rate: Match the intended output and a bitrate range appropriate to it. The sample uses 30 fps; it is not a universal recommendation.
- Keyframes: With the sample’s 30 fps output,
-g 60requests a 60-frame GOP, or 2 seconds. If you change the frame rate, adjust the GOP to preserve the intended interval. - Audio: The sample uses AAC stereo at 44.1 kHz and 128 Kbps, values listed in YouTube’s advanced stereo recommendations. YouTube lists AAC at 48 kHz and 384 Kbps for 5.1 audio.
- Color and HDR: For ordinary SDR, YouTube lists Rec. 709 and 8-bit depth. HDR requires a separate, compatible configuration; YouTube recommends HEVC for HDR and does not support AV1 for HDR in the cited settings guidance.
- Encoding load: H.264 software encoding can be demanding. If the VPS cannot sustain the selected resolution and frame rate in real time, reduce the encoding load or choose a compatible hardware encoder available to that server and FFmpeg build.
Run FFmpeg and loop the playlist
Adapt this illustrative command to your files, target bitrate, FFmpeg build, and YouTube-provided destination:
Recommended Free Tools
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.
ffmpeg -re -stream_loop -1 -f concat -safe 0 -i playlist.txt
-c:v libx264 -preset veryfast -b:v 4500k -maxrate 4500k -bufsize 9000k
-r 30 -g 60 -c:a aac -b:a 128k -ar 44100
-f flv 'rtmps://INGEST_HOST/APP/STREAM_KEY'
Replace the placeholder destination with the RTMPS URL and stream key from Live Control Room, using YouTube’s required formatting. Protect the key: command-line arguments may be visible to other users or processes on a shared server, and commands can remain in shell history. Use an access-controlled configuration method appropriate to your VPS instead of publishing or sharing a command containing the key.
-rereads the input at its native rate, which is useful when sending file-based media as a live stream.-stream_loop -1loops the input indefinitely. FFmpeg documents this as an input option, so place it before the corresponding-i. See FFmpeg’s advanced options.-f concat -i playlist.txtselects the concat demuxer and its list.-c:v libx264selects H.264 encoding if your build includes that encoder. The bitrate flags set a 4,500 Kbps target and maximum with a 9,000 Kbps buffer in this example; change them to suit YouTube’s range for your output and the VPS’s capacity.-f flvselects the output container used for this RTMP/RTMPS-style ingest workflow. FFmpeg documents the RTMPS protocol.
The example combines documented FFmpeg options and YouTube guidance, but it has not been validated against a particular VPS, playlist, or FFmpeg build. If your input files already use compatible codecs and you want to avoid re-encoding, a different stream-copy configuration may be possible; the right choice depends on the files and YouTube’s accepted input settings. Test the actual feed before relying on it.
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
Validate the stream and keep it running
- Start FFmpeg and check its output for connection or encoder errors.
- Wait for the incoming preview in YouTube Live Control Room. For a scheduled stream, YouTube’s encoder workflow has you preview the incoming feed and then select Go live.
- Check that video is moving, audio is present and correctly synced, and the preview reports acceptable stream health.
- Monitor the FFmpeg process, VPS CPU, and network continuity while the stream runs. YouTube recommends continuously monitoring stream quality in its streaming tips.
- To stop, end the stream in YouTube and stop the encoder. YouTube says streams under 12 hours are automatically archived; do not assume a longer, indefinitely looping session will become one complete archived video. See YouTube’s live-stream archiving guidance.
Bandwidth and VPS cost considerations
YouTube recommends upload bandwidth with 20% headroom beyond the combined bitrate of the primary and any backup stream. A VPS’s advertised network capacity is not a guarantee that the stream will have that capacity continuously. Leave room for other server traffic, and use the bitrate for your selected resolution and frame rate from YouTube’s settings rather than copying the sample blindly.
For a DIY setup, account for the VPS rental, storage for the media files, and the server capacity needed to encode at your chosen settings. No specific VPS provider, instance size, or price is listed here, so compare those costs against your actual workload and provider terms.
Free tools Windows power users keep installed
One-click scans. No signup required.
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.
Troubleshooting
No incoming preview in Live Control Room
- Verify that you copied the RTMPS endpoint—not a different ingest URL—and the current key from the selected stream.
- Check that the key was not appended to the URL incorrectly and that the endpoint and key belong together.
- Look for FFmpeg connection errors and confirm the VPS can make outbound connections to the endpoint. Network restrictions can vary by hosting provider.
The playlist stops after one pass
Confirm -stream_loop -1 is present before the relevant -i. If you have multiple inputs, make sure the loop option applies to the playlist input you intend to repeat.
Glitches or gaps between files
Check the concat list’s paths, stream compatibility, and duration information. The concat demuxer’s inputs need compatible streams, and inaccurate durations may create artifacts. If the files differ substantially, normalize them to compatible formats before concatenating or use a workflow designed for those inputs.
Dropped frames, buffering, or an overloaded VPS
Check CPU use and FFmpeg’s reported speed. Reduce resolution, frame rate, or encoding complexity if the VPS cannot encode in real time; lower the bitrate if the uplink cannot sustain it. Preserve YouTube’s recommended bandwidth headroom and inspect the Live Control Room preview while making changes.
The stream key may have been exposed
Reset the key in Live Control Room, then update the FFmpeg configuration to use the replacement. Treat any copied command or script containing the old key as compromised.
Or let it run in the cloud
If the goal is a continuously looping YouTube stream rather than managing a VPS and FFmpeg process, StreamNeo runs uploaded videos and playlists from the cloud: upload your video or build a playlist, add your YouTube stream key, and go live. Nothing has to stay on at home. Each slot streams the upload as made, up to 4K 60fps, at one flat price per slot, with automatic recovery if YouTube drops the stream. The first day is free with no card. The Monthly price is $9.99 per month.
Quick Recap
Start your free StreamNeo 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.




