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

How to Burn Subtitles into Videos for an FFmpeg YouTube Playlist Stream

Burn subtitles into video frames with FFmpeg’s subtitles filter, then prepare the encoded output for a YouTube Live encoder workflow. Learn how to handle external and embedded subtitle tracks, local clip playlists, and common failures.

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

Use FFmpeg’s subtitles video filter to render subtitle text into the video frames, then encode the filtered video and send it to YouTube using the live-stream settings for your channel. You need an FFmpeg build with libass support. Because the subtitles become part of the picture, viewers cannot turn them off as a separate caption track.

“Playlist stream” can mean a local sequence of clips, a YouTube playlist of videos already published, or an HLS playlist. Those are different workflows. The steps below explain burning subtitles into a file and how to approach a local clip sequence; they do not assume that making an HLS playlist sends it to YouTube Live.

Choose the subtitle workflow before you encode

First establish where the subtitles are and what you mean by a playlist. An external SRT or ASS file can be supplied to the filter; subtitles embedded in a media file can be selected from that input. For a local playlist where each clip has its own subtitle file, each clip needs the correct subtitle selection and timing. A single filter expression should not be assumed to pick the right track or file for every clip.

  • One video with an external subtitle file: render the file with the subtitles filter.
  • One video with embedded subtitle tracks: identify the intended text track and select it explicitly.
  • A local sequence of clips with separate subtitle files: render each clip with its matching subtitles, then assemble the rendered clips using a compatible workflow. Check that the clips’ streams and settings are suitable for that assembly method.
  • A YouTube playlist: this is a collection of published YouTube videos, not an FFmpeg playlist input that automatically becomes a live stream.
  • An HLS playlist: this is a media delivery format. FFmpeg documents HLS generation and subtitle renditions, but creating HLS output does not by itself deliver it to YouTube Live.

See the FFmpeg Filters Documentation for the subtitle filter and the Formats Documentation for HLS and playlist-related formats.

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.

Burn subtitles into a video with FFmpeg

1. Check that your FFmpeg build has the filter

The subtitles filter requires an FFmpeg build configured with libass. Check the available filters with ffmpeg -filters and look for subtitles. FFmpeg’s filter documentation specifies the libass requirement; if the filter is unavailable, use a build that includes it.

2. Render an external SRT file

For a compatible input file named input.mp4 and an external subtitle file named subtitles.srt, this illustrates the basic rendering step:

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.
ffmpeg -i input.mp4 -vf "subtitles=subtitles.srt" -c:v libx264 -c:a copy output.mp4

This is an offline example, not a tested command or a complete YouTube playlist configuration. It assumes that your FFmpeg build provides both the filter and the libx264 encoder, and that copying the input audio into the output container is compatible. If the audio cannot be copied, choose an audio encoding and output format that suit your source and delivery requirements.

3. Select an embedded subtitle stream deliberately

If the subtitle track is inside the media file, do not assume the first track is the language or type you want. Inspect the input’s streams, identify the subtitle stream, and pass the appropriate stream selection to the filter. FFmpeg’s subtitle-filter documentation covers selecting subtitle streams from an input; the exact selection depends on the file’s stream layout.

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

Confirm that the selected track contains text subtitles. A wrong stream index, wrong language, or non-text subtitle track can lead to missing or unexpected output.

4. Encode video; do not use video stream copy

The filter changes decoded video frames, so those frames must be encoded again. -c:v copy bypasses frame processing and cannot apply a visual subtitle filter. The example uses libx264; another encoder may be appropriate if it is available and meets your delivery requirements.

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

5. Check appearance and timing before using the result

Review the output at the resolution you intend to stream. Check subtitle timing, language, line breaks, visibility, and font availability. If you use ASS styling, confirm that the rendered appearance is acceptable with the fonts and filter options available in your environment. A local review can catch subtitle problems before you rely on a long-running stream.

Handle a local playlist of clips

When every clip has a different subtitle file, the key requirement is matching each subtitle file to its clip and preserving timing at each clip boundary. The general filter example above does not specify a universal playlist command for per-clip subtitle files, repeats, transitions, and encoder choices.

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.
  1. Map the inputs: list each clip and the subtitle file or embedded track it should use. Verify language and timing for each pair.
  2. Render each clip with its matching subtitles: apply the filter to that clip and encode its video. Do not substitute video stream copy for the filtered video.
  3. Assemble the rendered clips: use a playlist or concatenation workflow compatible with the resulting files. Confirm that the chosen method handles their stream parameters and boundaries as intended.
  4. Test the complete sequence: review transitions and subtitle timing at the point where one clip ends and the next begins. Then configure the live encoder output separately.

FFmpeg documents playlist and HLS formats, but the right assembly method depends on how your clips are prepared. Do not treat an HLS output playlist as a YouTube Live ingest destination.

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

Send the encoded output to YouTube Live

For a live encoder workflow, configure FFmpeg’s outgoing format, video and audio codecs, and ingest destination according to YouTube’s current instructions and the live configuration shown for your channel. YouTube provides the current encoder settings, bitrates, and resolutions and instructions to create a live stream with an encoder. Follow those pages for the selected resolution and channel setup rather than assuming one set of encoder values suits every stream.

Use the stream URL and key provided in your YouTube live setup. Treat the stream key as a secret: do not publish it in a command, screenshot, script, or shared playlist. A complete command depends on the playlist design, codecs, output format, and YouTube configuration, so the offline example above should not be used as if it were a universal live-stream command.

Hard subtitles or selectable captions?

Approach What viewers get Trade-off
Burn subtitles into the video Text is visible in the rendered frames. Viewers cannot switch it off, select another language, or restyle it as a separate caption track.
Provide a separate caption track Viewers can use the relevant YouTube caption controls. It is a separate caption workflow, not text permanently rendered into the video image.

Burn subtitles when fixed on-screen text is the intended presentation. If accessibility, viewer choice, or multiple languages matter, retain or provide a separate caption track through the relevant YouTube workflow as well.

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

Troubleshoot common failures

  • “No such filter: subtitles” or the filter is unavailable: check whether the installed FFmpeg build includes the filter and libass support. The filter requires a build configured with --enable-libass.
  • Subtitles are missing or the wrong language appears: verify the external filename and path, or inspect the input’s subtitle streams and select the intended text track explicitly.
  • Filter expression or path parsing fails: quote the filter expression and escape special characters as required by both your shell and FFmpeg’s filtergraph syntax. Quoting rules vary across shells and operating systems.
  • Encoding is unexpectedly slow or CPU-heavy: filtering requires processing video frames and encoding the result; copying the compressed video cannot apply the filter. Actual throughput depends on the source, resolution, encoder, and hardware.
  • YouTube does not receive or accept the stream: check the current YouTube encoder guidance and the destination URL and key in your channel’s live control room. The correct full command depends on the playlist and output configuration.
  • Subtitles drift, overlap, or look wrong at a boundary: inspect the affected source clip and subtitle timing, then test the assembled sequence at its final output resolution before relying on it for an extended stream.

Or let it run in the cloud

If your goal is to keep a YouTube playlist live without leaving an FFmpeg process and computer running at home, StreamNeo is a cloud alternative: upload a recording or build a playlist, add your YouTube stream key once, and go live. It plays uploaded videos, not a live camera feed.

  • Nothing has to stay on at home; StreamNeo loops the uploaded video or playlist from the cloud and automatically recovers if YouTube drops the stream.
  • Each slot streams your upload as made, up to 4K 60fps, at one flat price per slot, with no re-encode or quality tiers.
  • The first day is free with no card, one free day per account. Monthly: $9.99 per month.

See StreamNeo for details, or start your free 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

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.