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
Admit one · Blog

How to Schedule a Different Playlist for Each Day in FFmpeg

FFmpeg can read ordered media from concat manifests; use a wrapper or scheduler such as Linux cron to choose a different manifest each day.
Opened Runtime5 min Written byDocumentaryTube Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

FFmpeg can play files in a chosen order from a concat manifest, but it does not provide a built-in calendar scheduler for selecting a different playlist each day. Create a manifest for each day, then use an external scheduler or wrapper—such as Linux cron—to select the right manifest and launch FFmpeg.

1. Create a concat manifest for each playlist

Make one text manifest for each day or schedule variant. Put the media paths in the order you want them played:

ffconcat version 1.0
file /srv/media/clip-one.mp4
file /srv/media/clip-two.mp4

Save this, for example, as /srv/playlists/monday.ffconcat, and create equivalent files for the other days. The ffconcat version 1.0 marker must be the first line, with no leading whitespace or byte-order mark, for FFmpeg to recognize the format automatically. Each directive belongs on its own line. For paths with spaces or special characters, follow FFmpeg’s documented escaping and quoting rules. The concat demuxer’s safe option defaults to 1, which rejects unsafe paths; setting it to 0 allows any filename, so do that only with manifests you trust. FFmpeg concat demuxer documentation.

2. Check that the media is suitable for concat

The concat demuxer is intended for files with matching streams, codecs, and time bases. As the FFmpeg documentation puts it, “All files must have the same streams (same codecs, same time base, etc.).” If the files do not match, normalize them in advance or use a re-encoding/filter workflow instead of assuming stream copy will work. FFmpeg concat demuxer documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sandisk 2TB Extreme Portable SSD, Up to 1050MB/s, USB-C, USB 3.2 Gen 2, IP65 Water and Dust Resistance, Updated Firmware, External Solid State Drive, SDSSDE61-2T00-G25
  • Get NVMe solid state performance with up to 1050MB/s read and 1000MB/s write speeds in a portable, high-capacity drive(1) (Based on internal testing; performance may be lower depending on host device & other factors. 1MB=1,000,000 bytes.)
  • Up to 3-meter drop protection and IP65 water and dust resistance mean this tough drive can take a beating(3) (Previously rated for 2-meter drop protection and IP55 rating. Now qualified for the higher, stated specs.)
  • Use the handy carabiner loop to secure it to your belt loop or backpack for extra peace of mind.
  • Help keep private content private with the included password protection featuring 256‐bit AES hardware encryption.(3)
  • Easily manage files and automatically free up space with the SanDisk Memory Zone app.(5). Non-Operating Temperature -20°C to 85°C

FFmpeg uses file durations to adjust timestamps between inputs. If a duration is missing or inaccurate, transitions can have timestamp problems or artifacts; the concat manifest supports a duration directive to override a duration when needed. Check the resulting output rather than assuming a manifest alone will resolve mismatched media.

3. Run the selected manifest with FFmpeg

For a file output, an illustrative command is:

ffmpeg -f concat -i /srv/playlists/monday.ffconcat -c copy /srv/output/monday.mp4

This is a command pattern, not a tested command for every set of files. Stream copy avoids re-encoding, but it depends on compatible inputs. If the goal is a live broadcast rather than a generated file, the output URL and options must match the destination platform; the FFmpeg references cited here do not establish any particular platform’s ingest requirements.

Rank #2
Sandisk 1TB Portable SSD, Up to 800MB/s Read Speeds, Black (Old Model)
  • Solid state performance with up to 800MB/s read speeds in a portable drive. (Based on internal testing; performance may be lower depending on host device, interface, usage conditions and other factors. 1MB=1,000,000 bytes.)
  • Back up your content and memories on a storage solution that fits seamlessly into your mobile lifestyle.
  • Take it with you on your adventures—up to two-meter drop protection means this durable drive can take a beating. (Based on internal testing.)
  • Secure it to your belt loop or backpack for extra peace of mind thanks to the tough rubber hook.
  • From Sandisk, a brand professional photographers trust to take on assignments.

4. Choose how the day’s manifest gets selected

One daily wrapper

For a recurring daily job, use a wrapper to determine the intended weekday, select the corresponding manifest, and invoke FFmpeg. Keep the mapping in one place so the playlist selection logic is easy to inspect and change. Use absolute paths to the FFmpeg executable, manifests, and media, since cron does not run with an interactive login shell’s environment.

For Linux, a cron entry can run that wrapper at midnight:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
  • Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition no software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.
0 0 * * * /usr/local/bin/run-daily-playlist >> /var/log/daily-playlist.log 2>&1

Set the schedule’s time zone deliberately. The cron implementation documented in the cited manual supports CRON_TZ; use it when the schedule must follow a particular local time zone. Otherwise, the host’s time-zone configuration and cron environment can affect which day the wrapper selects. Linux crontab manual.

Separate cron entries

You can instead put a separate scheduled entry for each day in the crontab. That makes the schedule visible in the crontab itself, but repeats the launch configuration and can be harder to maintain if paths or options change. The wrapper approach centralizes the weekday-to-manifest mapping; separate entries expose each scheduled launch directly.

Rank #4
Sale
Sandisk 1TB Extreme Portable SSD, Up to 2000MB/s Transfer Speeds-New Model
  • NEARLY 2X FASTER THAN OUR PREVIOUS GENERATION(8) – move 1,000 high-res photos in under 60 seconds(6) with up to 2000MB/s transfer speeds(2).
  • IP65 RATING AND UP TO 3M DROP PROTECTION(3) – protects against spills and drops.
  • POCKET-SIZED – fits easily in pockets and small bags.
  • SPACE TO OWN YOUR AI CONTENT – speed and capacity to download your high-res clips and photo edits.
  • 256-BIT AES ENCRYPTION(4) – helps keep private files secure with password protection.

5. Decide what should happen at midnight

A daily cron launch is enough for a batch job that creates one output per day. It does not, by itself, specify how to replace an FFmpeg process that is already running when the date changes. For continuously running output, use a process supervisor or a long-running wrapper designed to stop the old invocation and start the new one. Define what should happen after a failed launch or restart, and account for daylight-saving transitions if the schedule follows local time. Those choices depend on whether you are producing files or maintaining a continuous stream; cron’s time-zone and job behavior are described in the Linux crontab manual.

6. Troubleshoot common problems

  • FFmpeg does not recognize the manifest automatically: Confirm ffconcat version 1.0 is exactly the first line, without leading whitespace or a byte-order mark.
  • A path with spaces or unusual characters fails: Apply the concat demuxer’s documented escaping and quoting rules. Review whether the default safe setting rejects the path before considering a less restrictive setting; only disable safety checks for manifests you trust.
  • Concat reports incompatible streams or output artifacts appear: Check the files’ streams, codecs, and time bases. Normalize incompatible files or use a re-encoding/filter workflow. If timestamps are wrong between files, check whether durations are accurate and consider the manifest’s duration directive.
  • The wrong day’s playlist runs: Make the schedule’s time zone explicit and have the wrapper select the weekday in that same zone. Cron jobs have a defined environment, so do not rely on variables or paths available only in an interactive shell.
  • The old playlist keeps running after midnight: A cron launch does not automatically define replacement of a live FFmpeg process. Add explicit stop-and-restart behavior through a supervisor or a wrapper, and decide how it should respond to failures.
  • A live destination rejects the output: Verify the destination’s current ingest requirements and configure the output accordingly. The concat and cron references describe playlist sequencing and scheduling, not platform-specific live settings.
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 your goal is a YouTube channel that plays uploaded videos continuously, StreamNeo is an alternative to running this FFmpeg schedule yourself. Upload your recording or build a playlist, add your YouTube stream key, and go live. Nothing has to stay on at home; StreamNeo loops the uploaded video from the cloud. It streams the uploaded file as made, up to 4K 60fps, at one price per slot regardless of quality, and automatically recovers if YouTube drops the stream. The first day is free with no card. Monthly pricing is $9.99 per month. StreamNeo is for YouTube and uploaded videos, not a live camera feed. Learn about StreamNeo, then start your free day.

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

Quick Recap

Bestseller No. 2
Sandisk 1TB Portable SSD, Up to 800MB/s Read Speeds, Black (Old Model)
Sandisk 1TB Portable SSD, Up to 800MB/s Read Speeds, Black (Old Model)
From Sandisk, a brand professional photographers trust to take on assignments.
$188.90
SaleBestseller No. 3
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
Seagate 2TB Portable Hard Drive | USB 3.0 (STGX2000400)
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$119.99
SaleBestseller No. 4
Sandisk 1TB Extreme Portable SSD, Up to 2000MB/s Transfer Speeds-New Model
Sandisk 1TB Extreme Portable SSD, Up to 2000MB/s Transfer Speeds-New Model
IP65 RATING AND UP TO 3M DROP PROTECTION(3) – protects against spills and drops.; POCKET-SIZED – fits easily in pockets and small bags.
$250.48
Bestseller No. 5
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable; The available storage capacity may vary.
$229.99
Best Value
Seagate Portable 5TB External Hard Drive HDD – USB 3.0 for PC, Mac, PS4, & Xbox - 1-Year Rescue Service (STGX5000400), Black
  • Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
  • Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
  • To get set up, connect the portable hard drive to a computer for automatic recognition software required
  • This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
  • The available storage capacity may vary.

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

  1. Richard Dawkins: The Greatest Show on EarthAdmit one · AsiaRichard Dawkins: The Greatest Show on EarthOpened05 OCT 2026Runtime2 min
  2. How it Works: ElectricityAdmit one · ScienceHow it Works: ElectricityOpened05 OCT 2026Runtime3 min
  3. Rolls Royce – How To Build A Jumbo Jet EngineAdmit one · AviationRolls Royce - How To Build A Jumbo Jet EngineOpened05 OCT 2026Runtime4 min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

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.