You can use a Hetzner Cloud server to send a continuous YouTube Live broadcast from a playlist of video files that you own or have permission to rebroadcast. The basic flow is to make those files available to FFmpeg, configure YouTube Live as the destination, run FFmpeg at real-time speed, and supervise the process. A YouTube watch-page playlist URL is not an established, supported FFmpeg input for this workflow.
This guide explains the setup and operational decisions, but not a tested, copy-and-paste command: the exact FFmpeg output options depend on your installed build, media formats, YouTube’s current ingest instructions, and whether you choose RTMP or HLS.
What “a YouTube playlist” means here
This method broadcasts local media files to YouTube Live. You first create a sequence of files that FFmpeg can read; YouTube is the destination, not the source. The official FFmpeg and YouTube material cited below does not establish that a YouTube watch-page playlist URL can be fed directly to FFmpeg as a supported, rights-cleared source. Do not treat a playlist URL as a substitute for media files you are entitled to use.
Use recordings you own or have permission to rebroadcast. Technical instructions about ingest and packaging do not grant rights to copy or retransmit videos from YouTube.
#1 Best Overall
Plan the server and estimate outgoing traffic
Choose a Cloud server for the actual workload
Hetzner Cloud servers are virtual machines for running an operating system and programs. Hetzner distinguishes shared-resource and dedicated-resource server types; consider the CPU resources your workflow needs, especially if FFmpeg must encode rather than simply package compatible media. A public connection requires a Primary IP. Check current server and IP pricing for your chosen region and type: Hetzner’s overview page says it was last changed on 2022-06-28, so do not rely on it as a current price list. Hetzner Cloud server overview.
Estimate egress before choosing a plan
Hetzner bills outgoing traffic for Cloud servers. Its billing FAQ says overage is charged in blocks of 100 MB; notifications at 75% and 100% are informational and do not cap or stop traffic. Check the current included traffic for the server type and region you intend to use. Hetzner Cloud billing FAQ.
Rank #2
For a continuous stream, a rough planning calculation in decimal gigabytes is:
monthly GB ≈ encoded bitrate in Mbit/s × 0.45 × 24 × 30
Rank #3
This is an estimate, not a Hetzner-published statistic. Refine it for protocol overhead, reconnects, and the actual billing period. For example, use the bitrate of the output stream FFmpeg sends—not simply the size or resolution of the source files.
Understand the network and availability limits
Hetzner says Cloud bandwidth is not guaranteed and that users can expect about 300–500 Mbit/s; the host connection is shared among instances. That is an expectation from Hetzner, not a per-VM minimum or assurance of uninterrupted streaming. Hetzner Cloud technical FAQ.
Rank #4
Hetzner’s Cloud and vServer service agreement says it will use commercially reasonable efforts to provide monthly availability of 99.9% for each Cloud Server, measured during a calendar month. The agreement excludes, among other cases, failures caused by customer software or configuration and network interruptions outside Hetzner’s reasonable control. This applies to the Cloud Server, not to the whole path through FFmpeg and YouTube ingest, and it does not promise that your broadcast stays live. Hetzner Cloud and vServer service agreement.
Choose RTMP or HLS using YouTube’s current setup instructions
In YouTube Live’s setup flow, select the ingestion protocol and use the endpoint and stream key provided for that setup. Follow the current instructions shown in YouTube Studio; do not assume one protocol or endpoint applies to every stream.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall| Choice | What matters |
|---|---|
| RTMP | YouTube describes it as a continuous stream in contrast to HLS’s segmented delivery. If your media and encoder support the required format and you want lower latency, compare the current RTMP instructions in YouTube’s setup flow. |
| HLS | YouTube says HLS has higher latency because it sends video segments rather than a continuous stream like RTMP. Its HLS guidance specifies segment durations of 1–4 seconds, Transport Stream segments, no byte range, HTTPS POST/PUT, and a rolling playlist with no more than five outstanding segments. Encryption beyond HTTPS is unsupported by that guidance. |
These HLS requirements are for YouTube ingestion, not universal FFmpeg HLS settings. FFmpeg’s HLS muxer exposes playlist and segment controls, but using that muxer alone does not make an output acceptable to YouTube. Match FFmpeg’s output to the destination’s current requirements. YouTube Help: Set up an HLS stream · FFmpeg Formats Documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Prepare a local playlist and the YouTube destination
- Put rights-cleared media where the server can read it. Upload the files to the server or make them available from accessible storage. Keep filenames and paths organized, and verify the server account that will run FFmpeg can read every file.
- Create an FFmpeg-readable sequence. Build a local playlist or input sequence using a format and options supported by your installed FFmpeg build. The FFmpeg formats documentation describes the relevant formats and muxer options; it does not provide a complete, tested command for looping a concat playlist into YouTube Live. Consult the documentation for your chosen input and output method: FFmpeg Formats Documentation and FFmpeg Documentation.
- Set up the live broadcast in YouTube. In YouTube Live, select the intended ingestion protocol and obtain the endpoint and stream key from the live setup flow. Keep the key private. Do not expose it in public logs, screenshots, shell history shared with others, or published examples.
- Match the output to the selected ingest. Confirm that your media and FFmpeg output meet YouTube’s current requirements for the chosen protocol. If you select HLS, account for YouTube’s segment format, duration, transport, and rolling-playlist requirements. Do not assume generic FFmpeg defaults satisfy them.
- Run at real-time speed and supervise the process. Configure the broadcast to proceed in real time, then use an operating-system service manager or another process-monitoring arrangement to detect and restart an exited process. A restart arrangement can help with a stopped FFmpeg process; it cannot guarantee that YouTube accepts the stream or that every failure recovers cleanly.
- Verify the end-to-end broadcast. Check FFmpeg’s logs, YouTube’s live status, server resource use, and outgoing traffic. A process that starts successfully is not proof YouTube is receiving a valid broadcast.
There is no single safe command to give without knowing the installed FFmpeg build, source compatibility, and YouTube’s selected endpoint settings. Validate any command against those specifics before relying on it for a continuous broadcast.
Keep the stream observable and recoverable
- Watch FFmpeg logs for input, encoding, muxing, and connection errors.
- Check YouTube Live’s status to confirm it is receiving a usable stream, rather than relying only on FFmpeg’s process status.
- Monitor CPU and memory use, especially if FFmpeg is encoding the media.
- Track outgoing traffic against the selected server’s included allowance; billing notifications do not stop usage.
- Arrange process supervision and a way to investigate failures. Hetzner’s availability-effort language does not cover customer software/configuration failures or every external network interruption.
Common problems and what to check
| Symptom | Likely area to check | Action |
|---|---|---|
| FFmpeg cannot open a file or playlist | Input path, permissions, playlist syntax, or unsupported media | Check paths from the service account’s perspective, verify read permissions, and confirm the installed FFmpeg build supports the input format. |
| FFmpeg runs, but YouTube does not show a valid incoming stream | Wrong endpoint/key, protocol mismatch, or output that does not meet ingest requirements | Recheck the endpoint and protocol in the current YouTube Live setup flow, keep the key private, and compare the output format with YouTube’s instructions. |
| HLS ingest is rejected or unstable | Segment or playlist behavior may not match YouTube’s HLS requirements | Check segment duration, Transport Stream format, byte-range use, HTTPS method, and the rolling playlist limit against YouTube’s current guidance. FFmpeg’s generic HLS options are not a substitute for those requirements. |
| The stream stops after an error or disconnect | FFmpeg process exit, server/network interruption, or YouTube ingest interruption | Inspect logs and YouTube status to identify where the failure occurred; ensure process supervision is configured and verify whether a restart re-establishes a valid broadcast. |
| Traffic costs exceed expectations | Continuous egress, bitrate, protocol overhead, reconnects, or plan allowance | Recalculate from the encoded output bitrate, check current included traffic for the chosen region and server, and remember overage notifications are informational rather than a cap. |
Or let it run in the cloud
If your goal is an always-on YouTube stream from uploaded videos, StreamNeo is a managed alternative: upload a recording or build a playlist, add your YouTube stream key once, and go live. It loops the uploaded videos from the cloud, so nothing has to stay on at home; it supports any uploaded quality up to 4K 60fps at one price per slot, automatically recovers if YouTube drops the stream, and the first day is free with no card. The monthly option is $9.99 per month. StreamNeo is for YouTube streams from uploaded videos, not camera broadcasts. See StreamNeo or start the free first 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.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →




