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

To turn a YouTube playlist into one video with chapter markers, first download its items as separate, numbered files. If their stream layouts are compatible, join them with FFmpeg’s concat demuxer and enable chapter_per_file. If they are incompatible or need a common output format, concatenate with a filter and re-encode, then map or create chapter metadata explicitly. In either case, inspect the finished file’s chapter table and test it in the player you intend to use.

Choose the right way to join the playlist

Keep the downloaded playlist items separate until you have chosen the join method. The concat demuxer can join compatible streams without re-encoding; the concat filter is the better fit when streams differ or you need to normalize the output. yt-dlp also has a playlist-concatenation option, but it has constraints and should not be assumed to create the chapter layout you want.

Method Use it when Trade-offs
FFmpeg concat demuxer Input files have compatible stream layouts, codecs, and time bases, and you want to avoid re-encoding. Duration inaccuracies can shift later timestamps or cause gaps and artifacts. It can make one chapter per file, but chapter support in the output container and player still needs checking. FFmpeg concat demuxer documentation.
FFmpeg concat filter and re-encode Inputs need normalization, have incompatible streams, or must be encoded to a chosen profile. Requires more processing and can introduce lossy generation. Plan chapter boundaries from the actual segment durations and map or author chapters explicitly. FFmpeg recommends the concat filter when re-encoding. FFmpeg FAQ on concatenating video files.
yt-dlp --concat-playlist The playlist meets yt-dlp’s concatenation restrictions and you want a consolidated download. Its policy can be never, always, or multi_video; files must have the same codecs and number of streams. Handle chapter creation and validation separately. yt-dlp usage and options.

Use the method that fits the files you actually have. A blind stream-copy join is not a safe assumption for a mixed playlist.

Download and preserve playlist order

Playlist order must survive the download stage. Include the playlist index in filenames so the manifest can be audited and rebuilt without relying on alphabetic title order. yt-dlp documents output templates with playlist indices, along with a download archive for tracking successfully downloaded IDs. Check the current option syntax against the installed version in the yt-dlp output template documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Alienware Aurora Gaming Desktop, RTX 5070, Intel Core Ultra 7 265F
  • Legend perfected: Modern design with a matte basalt black finish in an optimized chassis with customizable AlienFX lighting zones, including the striking stadium lighting.
  • Game changing graphics: Step into the future of gaming and creation with the NVIDIA GeForce RTX 5070 graphics, powered by NVIDIA Blackwell architecture.
  • Marathon gaming unlocked: This high-performance technology ensures clean energy is consistently available, unleashing the top-level power of Intel Core Ultra 7 265F processor as you game, livestream, and multi-task for hours on end.
  • Total command: Alienware Command Center software allows you to create and edit AlienFX lighting across the ecosystem, choose and monitor your performance mode across distinct power states, and create custom gaming profiles for your whole library.
  • Dell Services: 1 Year Onsite Service provides support when and where you need it. Dell will come to your home, office, or location of choice, if an issue covered by Limited Hardware Warranty cannot be resolved remotely.
  1. Keep each item as its own file. Do not concatenate during download if you need to inspect individual durations or recover a partial job.
  2. Name files with stable order information. Use a playlist-indexed output template, such as a pattern based on playlist_index and the title. Confirm the actual output names before building the manifest.
  3. Keep a download record. A yt-dlp download archive can let a later run skip IDs already downloaded. Retain the source files until the joined output is validated.
  4. Save the job inputs together. Store the ordered file list, metadata file if used, command line, and output in a job folder. This makes it easier to audit or resume without overwriting the only copy of a source.

Check compatibility and create the concat manifest

The concat demuxer expects compatible streams. Compare the files’ stream layouts, codecs, and time bases before choosing stream copy; if these do not match, use a re-encoding workflow instead. FFmpeg’s probe tools can expose stream and duration information for each input, but the cited documentation does not establish a universal compatibility checker or guarantee for every file combination.

Create a plain-text manifest with one file entry for each input, in playlist order. For example, a manifest named playlist.txt might contain:

file '0001 - Opening.mp4'
file '0002 - Session.mp4'
file '0003 - Closing.mp4'

Concat-script filenames have their own escaping rules: spaces and quote characters must be handled correctly. By default, the demuxer restricts paths to safe relative names. Its safe=0 option permits arbitrary names and paths; use that only with a manifest you control, not an untrusted list.

Join compatible files and make a chapter per item

When the files are compatible and their durations are known accurately, the concat demuxer is the efficient first choice. Its chapter_per_file option creates a chapter for each listed file. FFmpeg uses title metadata for a chapter name when available; otherwise it uses the filename.

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.
Rank #2
Dell Optiplex 7050 SFF Desktop PC Intel i7-7700 4-Cores 3.60GHz 32GB DDR4 1TB SSD WiFi BT HDMI Duel Monitor Support Windows 11 Pro Excellent Condition(Renewed)
  • Model: Dell OptiPlex 7050 Small Form Factor (SFF)
  • Processor: Intel Core i7-7700 3.60 GHz
  • Memory: 32GB DDR4 Ram
  • Storage: 1TB Solid State Drive (SSD) Fast Boot + Storage
  • Operating System: Windows 11 Pro (64-bit)
ffmpeg -f concat -chapter_per_file 1 -i playlist.txt -c copy joined.mp4

This command stream-copies the inputs and writes an MP4 output. The container must support the chapter data you need, so inspect the resulting file rather than treating a successful command as proof that chapter navigation will appear everywhere.

Accurate durations matter. The demuxer uses file durations to set chapter boundaries and subsequent timestamps. If a duration is wrong, later boundaries can shift; if a duration is unknown, reliable discovery stops at that file, which receives the last chapter. When all durations are known, the total duration is known and the output is seekable. See the concat demuxer documentation for the option and duration behavior.

Re-encode when the inputs need normalization

If the playlist parts have different codecs or stream layouts, or you need a common resolution, frame rate, or audio arrangement, use FFmpeg’s concat filter and encode the result. A re-encode does not by itself mean chapters are lost: FFmpeg normally maps chapters from the first input that contains chapters. If the intended chapter source is ambiguous, select it explicitly with -map_chapters; a negative input index disables chapter copying.

The exact filter graph and encoder settings depend on the source streams and desired output profile. There is no single safe command for unknown inputs: first inspect each file, decide how video and audio should be normalized, then build a concat-filter command for those streams. FFmpeg documents chapter mapping and metadata behavior in its main options and the concat FAQ.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
ZYNEEX Prebuilt Gaming Desktop PC, AMD Ryzen 5 5500, GeForce RTX 3050 6GB,16GB DDR4 3200MHz RAM, 1TB NVMe SSD, ARGB Air Cooling, Wi-Fi,Tower Computer for Gaming, Streaming, Editing
  • 【POWERFUL PERFORMANCE】 – AMD Ryzen 5 5500 6-Core 12-Thread Desktop Processor (up to 4.2GHz). Effortlessly handle 3A games, 4K video editing, and multitasking.
  • 【SMOOTH GAMING】 – Equipped with GeForce RTX 3050 6GB GDDR6 Graphics Card. Experience high-frame-rate 1080P gaming with ray tracing.
  • 【FAST & AMPLE STORAGE】 – 16GB DDR4 3200MHz RAM + 1TB NVMe SSD. Enjoy rapid game loads, quick file transfers, and ample space for your entire library.
  • 【KEEP COOL】 – Advanced ARGB air cooling system with multiple fans. Maintains stable performance and low noise even during marathon gaming sessions.
  • 【READY TO USE】 – Features built-in Wi-Fi, multiple USB ports, HDMI and DisplayPort (DP) outputs for flexible monitor connectivity. A complete prebuilt gaming computer, plug and play right out of the box.

For chapters that are not already present or cannot be represented as one chapter per input, create an FFMETADATA file and use explicit boundaries. Its documented format begins with ;FFMETADATA; each chapter section can specify a time base, start, end, and title. A minimal shape is:

;FFMETADATA1
[CHAPTER]
TIMEBASE=1/1000
START=0
END=120000
title=Opening
[CHAPTER]
TIMEBASE=1/1000
START=120000
END=480000
title=Main session

Here the example boundaries are illustrative only: replace them with the intended boundaries measured for your own joined timeline. Start and end values use the declared time base. Make the ranges non-overlapping and ensure they cover the intended segments. FFmpeg’s FFMETADATA documentation describes the format.

When adding authored chapters, include the metadata input in your command and select it as the chapter source with -map_chapters and its input index. Likewise, explicitly map a source input when preserving existing chapters from a particular playlist item. Remember that creating a mapping disables the corresponding automatic mapping behavior; consult FFmpeg’s mapping options for the syntax applicable to your inputs.

Verify chapters, streams, and transitions

After joining, use ffprobe to inspect the output’s streams, duration, and chapter start, end, and title values. Then open the file in the target application and test several chapter transitions, including a boundary near the beginning and one near the end. FFmpeg can carry chapter data internally, but container support and whether a particular player exposes chapter navigation are separate compatibility questions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Thermaltake LCGS View i570-170 Gaming Desktop (Intel Core™ i9-14900KF, ToughRam 32GB DDR5 6000MT/s RGB Memory, NVIDIA® GeForce RTX™ 5070, 1TB NVMe M.2, WiFi, Windows 11) V17B-B76B-570-LCS
  • Intel Core i9-14900KF CPU, B760 chipset motherboard, 32GB DDR5 6000MT/s RGB Memory, 1TB NVMe M.2, WiFi, Windows 11
  • NVIDIA GeForce RTX 5070, Display Port/HDMI
  • Closed Loop Liquid Cooling with 240mm Radiator
  • 2x USB 3.0, 1x Headphone, 1x Mic
  • PSU Power cover with Filtered Ventilated Vertical Side mount Radiator support
  • Confirm the output duration is plausible against the ordered source files.
  • Check that chapter names match playlist titles or the names you authored.
  • Check that chapter starts and ends are in the intended order and do not overlap unexpectedly.
  • Play across boundaries to catch timestamp gaps, artifacts, or incorrect transitions.

Keep a long job recoverable

Long jobs are easier to audit when downloads remain separate, filenames carry stable playlist indices, and the download archive tracks completed items. Keep temporary outputs distinct from final outputs so an interrupted encode cannot replace your only source copy. Preserve the manifest and any FFMETADATA file beside the result. These are practical workflow precautions, not a guarantee of a particular encoding time or recovery behavior.

Encoding time, output size, and quality depend on playlist length, resolution, codec, bitrate, and hardware. There is no general run-time or size estimate that applies to every playlist.

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

Common problems and fixes

Concat demuxer reports mismatched streams or the output is broken

The parts may have different stream layouts, codecs, or time bases. Do not force a blind stream-copy join; normalize them with a concat-filter workflow and re-encode.

Later chapters or timestamps drift

Check whether every input duration is known and accurate. Correct the source duration information or use explicitly authored chapter boundaries based on the actual segment durations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
HP Workstation PC Desktop Computer | Editing and Design | NVIDIA Quadro K1200 4GB GPU | Intel Core i5 | 32GB DDR4 RAM, 1TB SSD + 4TB HDD | Wi-Fi 5G + Bluetooth | Windows 11 Pro (Renewed)
  • Content Creation Workstation PC: Powered by the Intel Hexa-Core i5 (8th Gen) processor with 32GB DDR4 RAM and NVIDIA's Quadro K1200 4GB Graphics Card, this Workstation PC Computer is built for creative environments
  • NVIDIA's Quadro K1200 4GB Graphics Card: Graphic support built to be an efficient workstation for creative applications like photo and video editing, 3D Design, AutoCAD, and much more
  • Software Compatibility: Workstation PC for use with independent software vendors (ISV) and certified for use with modeling, rendering, and engineering software from Adobe, AutoCAD, 3DS Max, and many more
  • Massive Storage Solutions: An ultra-fast 1TB Solid State Drive (SSD) setup as the primary boot device; Boot and load programs with little to no lag; An additional 4TB Hard Disk Drive (HDD) is installed for additional storage; Never run out of storage
  • Connectivity for Creative Projects: USB 3.0 (x5) | USB 2.0 (x4) | USB Type-C (x1) | DisplayPort (x2) | Serial Port (x1) | VGA Port (x1) | Audio Combo Jack (x1) | Audio In (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)

Only one chapter appears, or names are unexpected

Confirm that chapter_per_file is enabled and inspect each input’s title metadata and filename. For custom chapter names or boundaries, use FFMETADATA and explicitly map that chapter source.

FFmpeg contains chapters but the player does not show them

Check the output chapter table first, then test another application or a container/workflow known to expose the chapter data you need. A successful encode does not guarantee identical chapter UI support across players.

The manifest cannot open a file

Check the filename spelling, quoting, and relative path from the manifest’s location. Avoid safe=0 unless the manifest is yours and you have checked every path.

Or let it run in the cloud

If your goal is to keep a YouTube channel live with uploaded videos rather than create one long local file, StreamNeo is a different workflow: upload a recording or build a playlist, add your YouTube stream key once, and go live. It plays uploaded videos on YouTube; it does not encode a playlist into a chaptered master file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Nothing has to stay on at home: the stream runs from the cloud with your computer off.
  • Uploaded quality is streamed as made, up to 4K 60fps, at one flat price per slot with no re-encode or quality tiers.
  • It can recover automatically if YouTube drops the stream.
  • The first day is free with no card; one free day is available per account.
  • Monthly access is $9.99 per month.

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.