DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
DocumentaryTube
Admit one · Blog

Fix FFmpeg Playlist File Paths for a YouTube Live Shop Promo on Ubuntu

Fix unsafe or missing FFmpeg concat playlist paths on Ubuntu, then verify media compatibility and the correct YouTube ingest protocol.
Opened Runtime6 min Written byDocumentaryTube Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If FFmpeg reports Unsafe file name, the concat demuxer is rejecting a playlist entry under its default path-safety rules. If it reports No such file or directory, the entry is not resolving to a readable file from the playlist’s effective location. Keep the playlist beside its clips and use safe relative paths when possible; for intentional absolute paths to files you trust, put -safe 0 before -i.

First, identify which path problem you have

FFmpeg’s concat demuxer reads a text playlist containing one file directive for each input. The two common errors point to different checks:

  • Unsafe file name: the entry was rejected by the concat demuxer’s safety validation. Absolute paths commonly trigger this when the default safe=1 is in effect.
  • No such file or directory: the entry did not resolve to a file at the path FFmpeg tried, or the file is missing or inaccessible.

Fixing a path only gets FFmpeg to the media. It does not establish that the clips can be joined without re-encoding, or that the output options match YouTube’s selected ingest protocol.

Make the playlist paths resolve predictably

Use relative paths from a persistent playlist

For the least surprising setup, put the playlist in the same directory as the promo clips and use filenames relative to that playlist. For example, if the files are in /home/ubuntu/shop-promo/, save this as /home/ubuntu/shop-promo/playlist.ffconcat:

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.
ffconcat version 1.0
file 'promo-01.mp4'
file 'promo-02.mp4'

The first line identifies the concat script format. Each following file line adds one media input, in playlist order. With the playlist alongside the clips, these relative entries have an uncomplicated base location.

Use absolute paths only when you intend to bypass the default check

The concat demuxer defaults to safe=1. Under that setting, a path must be relative, contain no protocol specification, and use permitted portable characters in each component; components cannot begin with a period. If files live elsewhere and you want to name them absolutely, use entries such as:

ffconcat version 1.0
file '/home/ubuntu/shop-promo/promo-01.mp4'
file '/home/ubuntu/shop-promo/promo-02.mp4'

For trusted playlist contents, disable that path screening with -safe 0 as an input option before -i. This permits unsafe path forms; it is not a repair for a misspelled path, missing file, or permission problem. Do not use it casually with playlist contents you do not trust.

Quote names with spaces and special characters

Quote or escape whitespace and special characters using the concat script’s syntax. For example, a filename containing spaces can be represented as file 'promo day one.mp4'. An embedded single quote requires FFmpeg’s concat-script quoting and escaping rules; shell quoting rules alone do not define how the text inside the playlist is parsed. When possible, rename clips to simple portable filenames to reduce quoting errors.

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

Run FFmpeg with the matching input option

Relative-path example

From the directory containing playlist.ffconcat and the clips, a basic stream-copy pattern is:

ffmpeg -re -stream_loop -1 -f concat -i playlist.ffconcat -c copy -f flv "$YOUTUBE_RTMP_URL"

This is an illustrative RTMP-shaped command, not a tested, complete YouTube encoder configuration. The source streams must be suitable for stream-copy concatenation, and your output settings and destination must match the ingest setup actually selected in YouTube Studio.

Absolute-path example

For a playlist with trusted absolute entries, add -safe 0 before the input:

ffmpeg -re -stream_loop -1 -f concat -safe 0 -i playlist.ffconcat -c copy -f flv "$YOUTUBE_RTMP_URL"

Options that configure an input belong before that input’s -i; placing -safe 0 after -i will not configure the concat input as intended. Store the actual ingest URL and stream key securely. Do not put a stream key in a public script, article, or logs that others can read.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

Check the playlist’s actual base location

Relative paths must be written for the playlist’s effective location, not automatically for the directory where you launched the shell. A normal playlist saved beside the clips makes that location easy to reason about. A playlist supplied through process substitution can instead be presented through a temporary path; relative entries may then be resolved from a different location than expected.

If paths work from a saved playlist but fail when you switch to process substitution, keep the playlist as a persistent file or use a path strategy that matches its effective location. For diagnosis, print or inspect the exact playlist contents and confirm where that playlist is stored before changing the entries.

Verify every file and the Ubuntu permissions

  1. Open the playlist and check every filename, directory component, capitalization, and extension against the actual file. Linux paths are case-sensitive.
  2. Check that each listed file exists at the path represented by the entry, relative to the playlist when using a relative path.
  3. Confirm the same Ubuntu user that runs FFmpeg can read the playlist and every media file. A path can be correct but inaccessible because of ownership or permissions.
  4. Rerun FFmpeg and read the exact error. If it changes from an unsafe-name error to a missing-file error, the safety check was bypassed, but path resolution still needs correction.

No specific installed FFmpeg version, playlist, command, file permissions, or media properties are known here. If the general checks do not resolve the problem, those details are needed to diagnose the individual setup.

After paths work, check whether the clips can be concatenated

The concat demuxer expects compatible streams. If clips differ in stream layout or codecs, -c copy may fail or produce unsuitable output even though every path is valid. Compare their video and audio streams after resolving the path error. Where they cannot be concatenated as-is, FFmpeg’s concat filter can be used with re-encoding to normalize the inputs; that is a media-compatibility solution, not a path fix.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Do not mix up YouTube RTMP and HLS ingest

The command examples above show an RTMP-shaped output, but the title alone does not establish which ingest protocol you selected. YouTube’s HLS requirements apply specifically when sending HLS: use TS segments of 1–4 seconds, a rolling playlist with no more than five outstanding segments, no byte ranges, HTTPS POST/PUT, and no encryption beyond HTTPS. YouTube also notes that HLS has higher latency than continuous RTMP. These HLS settings should not be copied into an RTMP setup; confirm the protocol and its settings in your YouTube streaming configuration.

Troubleshoot by symptom

Symptom Likely cause What to check or change
Unsafe file name The entry violates concat demuxer safe-path validation, often because it is absolute. Prefer a safe relative path. If an absolute path is intentional and the playlist is trusted, add -safe 0 before -i.
No such file or directory The path is relative to a different playlist location than expected, or the name does not match. Check the playlist’s effective location, filename spelling and case, and whether the file exists there.
The path appears correct, but FFmpeg cannot read it The FFmpeg process’s Ubuntu user may not have access to the playlist or media. Check readability and permissions for the same user that launches FFmpeg.
Paths resolve, but stream-copy concat fails The clips’ streams may not be compatible for concat demuxer stream copying. Compare stream layouts and codecs; use a concat-filter workflow with re-encoding if normalization is required.
FFmpeg runs, but YouTube does not accept the stream The output protocol or settings may not match the selected YouTube ingest method. Confirm RTMP versus HLS before applying protocol-specific output settings. For HLS, follow YouTube’s HLS requirements rather than assuming RTMP options apply.

Or let it run in the cloud

If the goal is to keep a prerecorded shop promo looping on YouTube, StreamNeo is an alternative to running FFmpeg continuously on Ubuntu: upload the video, add your YouTube stream key once, and go live. The cloud keeps it running, so nothing has to stay on at home; it streams the upload as made, up to 4K 60fps, at one price per slot; and it automatically recovers if YouTube drops the stream. The first day is free with no card. Monthly pricing is $9.99 per month. StreamNeo plays uploaded videos and streams to YouTube only. See StreamNeo, or start the free first 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.

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. The Big Apple: Origin of New York’s NicknameAdmit one · ArticlesThe Big Apple: Origin of New York's NicknameOpened05 OCT 2026Runtime3 min
  2. Thunderbolts of the GodsAdmit one · ScienceThunderbolts of the GodsOpened05 OCT 2026Runtime2 min
  3. Carrier Global: What the Company DoesAdmit one · ScienceCarrier Global: What the Company DoesOpened05 OCT 2026Runtime2 min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

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.