October 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 NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
DocumentaryTube
cron

How to Rotate Video Playlists on a 24/7 YouTube Stream Using Linux Cron

A reliable 24/7 YouTube playlist setup separates FFmpeg process supervision from cron maintenance. Configure the Live Control Room connection, test playlist updates, and verify public playback.

By DocumentaryTube Team 6 min read
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use FFmpeg to send a playlist of local videos to YouTube Live, keep FFmpeg running under a service manager such as systemd, and use cron for bounded jobs such as rebuilding the playlist or running a health check. Cron alone is not the right owner for a process that must run continuously: a short-lived scheduled job cannot supervise FFmpeg between invocations.

How the pieces fit together

YouTube’s Live Control Room supplies the encoder server URL and stream key. FFmpeg reads your media and sends the outgoing audio and video to that endpoint. A service manager owns FFmpeg’s lifetime and can restart it if it exits; cron runs scheduled maintenance tasks around it.

YouTube distinguishes the incoming stream—the media connection and its configuration—from the viewer-facing broadcast. Its API documentation describes using one 24/7 feed alongside a separate interview broadcast. That distinction matters when planning events and the viewer-facing videos around a continuously running encoder: YouTube Live Streaming API: Understanding Broadcasts and Streams.

  • systemd: runs and supervises the long-lived FFmpeg process.
  • Playlist script: creates or updates the list of clips in a controlled way.
  • cron: invokes that script, a health check, or planned maintenance at specified times.
  • Monitoring: checks both local process progress and actual public YouTube playback. A running FFmpeg process alone does not prove viewers are receiving fresh video.

This is a practical architecture, not a YouTube-mandated setup. A community operator has documented a systemd-plus-cron approach, but its particular watchdog and restart choices are not universal requirements: 24/7 YouTube Stream — Setup & Ops Notes.

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.

Prepare compatible video files and a playlist

Put the clips on storage the Linux host can access. FFmpeg supports multiple input and playlist formats, including concat demuxing, but its documentation does not prescribe one cron-based recipe for YouTube rotation. Choose an input method suited to your media and installed FFmpeg version, and test it before leaving the channel unattended: FFmpeg Formats Documentation.

Check the media before combining clips

Inspect each file’s video and audio codecs, dimensions, frame rate, audio streams, and duration. A playlist made from files with substantially different properties may not transition as expected with a given FFmpeg command. Normalize files in advance or use an approach that handles those differences; there is no single encoding profile established here for every channel.

Plan how playlist updates take effect

Do not assume that editing a playlist file changes what a running FFmpeg process is reading. Reload behavior depends on the input format and command. Test the exact playlist type you select: add or reorder a clip while streaming and confirm whether the running process picks up the change. If it does not, design a controlled restart or another update method rather than relying on an unverified assumption.

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.

Set up the YouTube Live connection

  1. Open YouTube Studio and go to the Live Control Room. Create or select the stream you intend to use.
  2. Copy the server URL and stream key shown for the encoder. Enter them in your FFmpeg configuration using the options appropriate for your command and output format.
  3. Start FFmpeg, then use the Live Control Room workflow to check the preview and go live as applicable. Follow YouTube’s current encoder instructions: Create a YouTube live stream with an encoder.
  4. Protect the stream key as a password. Keep it out of public repositories, world-readable files, and logs. If a key is exposed, replace it in YouTube Studio and update the encoder configuration.

The exact FFmpeg command depends on the input playlist, the files’ properties, and the output settings you choose. The FFmpeg formats reference explains the available input formats; it does not provide a ready-made command for every YouTube playlist workflow.

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

Keep FFmpeg running under systemd

Run the encoder as a long-lived service, not as a process attached to an interactive shell. Configure the service to start FFmpeg with explicit paths and to restart it if it exits. Confirm that the service runs under an account that can read the media and configuration but does not expose the stream key unnecessarily.

Before enabling automatic restarts, check that an intentional stop or configuration error will not trigger a confusing restart loop. Record useful service and FFmpeg output in logs, and verify that a forced process exit leads to the expected recovery. The systemd details vary by distribution and local configuration; the community example is one operator’s implementation, not a guarantee of uninterrupted delivery.

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.

Use cron for playlist refreshes and checks

Schedule a specific, bounded task rather than asking cron to be the only process manager. For example, cron can run a script that rebuilds a playlist after new files arrive, checks a health signal, or performs planned maintenance. Use explicit executable and file paths, account for cron’s limited environment, and send output to a log you review.

  • Make playlist generation safe to repeat, so a second run does not corrupt the list.
  • Use a lock or equivalent guard so a scheduled task cannot start a duplicate FFmpeg process.
  • Decide how an update is handed to the running encoder. Test whether the selected input reloads; if it requires a restart, make that restart deliberate and account for the interruption.
  • Keep the roles separate: systemd owns FFmpeg’s process lifetime; cron triggers maintenance; monitoring checks the process and the public stream.

Cron syntax, locking methods, and playlist reload behavior depend on your Linux distribution, shell, FFmpeg command, and playlist format. If you schedule a restart, it will interrupt the outgoing feed and may affect the live broadcast. There is no universal cron expression or restart interval for this setup.

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

Test before relying on unattended rotation

  1. Run a short test stream and confirm that clips play in the intended order.
  2. Watch across playlist boundaries for missing video, unexpected pauses, audio problems, or a dropped connection.
  3. Change the playlist while FFmpeg is running and verify whether the change takes effect. Test the update or restart procedure you plan to use.
  4. Stop FFmpeg unexpectedly and confirm that systemd responds as configured. Check that a watchdog or scheduled task does not create a second encoder process.
  5. Open the public YouTube playback separately and confirm that viewers receive current video. Local logs and a live process are not enough to establish that.

Account for YouTube’s archive and copyright rules

YouTube Help says streams shorter than 12 hours are automatically archived. Do not rely on a continuous stream longer than that being archived in full; plan how you will preserve or publish source recordings if a complete archive matters. Check YouTube’s current live-stream guidance for the workflow and eligibility details that apply to your channel.

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

Only stream material you have the right to use, including music, footage, and other embedded content. A playlist that runs technically is not proof that its contents comply with copyright rules or YouTube policies. Review rights for every clip and any music before scheduling it.

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

Or let it run in the cloud

If you want a 24/7 YouTube stream of uploaded recordings without maintaining a Linux host, StreamNeo is the cloud alternative. Upload your recording or build a playlist, add your YouTube stream key once, and go live. Your computer and home connection do not have to stay on. Every slot streams uploads as made, up to 4K 60fps, at one flat price per slot; StreamNeo can recover automatically if YouTube drops the stream. The first day is free with no card. Monthly billing is $9.99 per month. UPI and cards are available in India; card checkout is available worldwide. See StreamNeo plans, then start a free day.

Common problems and practical fixes

FFmpeg exits when your terminal closes

The encoder was started in an interactive session rather than as a service. Run it under systemd and check the service logs and configured restart behavior.

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.
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.

The playlist changes but the stream does not

The running FFmpeg input may not reload the file list. Verify the behavior for your chosen playlist format, then use a tested reload or controlled restart procedure.

A scheduled job starts a second encoder

Cron and the service manager may both be starting FFmpeg. Assign process ownership to systemd and make scheduled scripts check or lock before taking an action that could launch another instance.

The local process is healthy but playback is stale or unavailable

A local process check cannot confirm delivery to YouTube or what viewers see. Check FFmpeg output, the Live Control Room, and the public playback; investigate the connection and encoder state before changing the playlist.

Clips have broken transitions or audio issues

Compare codecs, dimensions, frame rates, audio streams, and durations across the files. Test the actual playlist boundary, then normalize incompatible media or choose a compatible input approach.

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

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.

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 from the Screening Room

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair 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.