Previous Post

Stacher, yt-dlp, and ffmpeg: what does each program do?

Next Post
Stacher, yt-dlp, and ffmpeg: what does each program do?
1 / 7
DESCRIPTION

To get the most out of Stacher, it helps to understand a bit about how it works under the hood. While Stacher provides a smooth, visual interface, some of its functionality relies on external, command-line tools:

yt-dlp is an open source utility for managing online media files

ffmpeg is a program that can convert and combine video and audio files across many different codecs. 

There are many websites that stream their audio and video files separately and then combine them in the video player. When yt-dlp encounters one of these, it needs to use ffmpeg to merge the audio and video tracks into a single file. If ffmpeg isn’t available, then it won’t do this and you’ll end up with separate video and audio files on your computer. If this happens to you, make sure you have ffmpeg installed correctly.

Both of these programs have no user interface and are instead only usable on the command line. Command line tools can be very powerful, as they can support countless options and pieces of configuration. As of September 2025, yt-dlp has almost 290 different command line flags that can be passed to it!

With this extreme flexibility comes difficulty in day-to-day use. Command line tools are typically only text based. There are no visual switches, toggles, text boxes, icons, pictures, etc. All of the configuration is passed to the program as text options and all of its output is shown as text.

If you want to use yt-dlp directly, you’ll need to read its documentation to find the right flags to use, open a command line terminal on your machine and type in all of the options that you need. For the majority of people and use cases, this isn’t a very user-friendly workflow.

Stacher comes in and helps with this by providing a thoughtfully designed graphical interface around yt-dlp. When you start a processing from a site with Stacher, it will choose the command line flags to pass to yt-dlp based on your configuration in the Stacher settings and runs yt-dlp in a background process.

TIP: If you enable “Pro Mode” in Stacher’s Advanced settings, Stacher will show you what command line option is used by any of the configurations: 

Note the gradient badge text below each configuration. That's the yt-dlp argument!

You can see the yt-dlp command line that was run by clicking the “Copy Command Line” button in the item’s menu. If you click “View Log”, you can see the text output directly from yt-dlp! 

This feature is primarily for users who want to learn more about how Stacher works internally or troubleshoot their own setups.

You may be wondering how yt-dlp updates? Without Stacher, typically you would have to run the following command in your terminal window:

But with Stacher, you don't need to worry about this. Stacher will automatically update yt-dlp whenever you launch Stacher. That means, if you've had Stacher open for days at a time, it may be worth restarting it to make sure you're on the most recent version of yt-dlp.

You can see what version of yt-dlp you are using in the footer of Stacher

Note that this screenshot shows the version being "[email protected]". You can probably guess that the date is the day the yt-dlp build was released. But what about this "stable"?

There are several "branches" you can set your yt-dlp to update to. Stable is the default and it basically means that you'll get an update whenever the yt-dlp think things are tidy enough to release it to the masses.

If you notice that things are "broken", it may be worth comparing the current day with the date of your yt-dlp build. If it was a while ago, you may want to consider changing your update branch for yt-dlp.

This is super easy to do in Stacher. Open the Settings window and go to the Advanced tab. There, you will a section labeled "YT-DLP Update Branch" with a few options to choose from.

Master will update your yt-dlp build to the most recent code that is available. On this branch, you'll get fixes "right off the press" as soon as they're implemented. There is a trade-off though... there may be some bugs here and there or unexpected behavior

Nightly will update your yt-dlp build to the most recent "nightly build". These builds are generated nightly by the yt-dlp team and will contain all of the implementations, bug fixes, etc that were made up to that point.

Stable, as previously discussed, will give you the "Stable Release" that the yt-dlp devs have deemed ready for the masses

In Stacher, you can even set the "tag" that you would like yt-dlp to be updated to!

By default, this is "latest". That means that yt-dlp will be updated to the latest version of whatever is available on the branch that you have selected. If, for some reason, you needed to "roll back" your version of yt-dlp to a previous build, you could change this to the tag of the build you would like!

Disclaimer: Stacher and its integrations are intended for lawful, personal use with media you have the rights to manage. This post is purely educational and focuses on software functionality and technical concepts, not on downloading copyrighted content.

Any integration with external tools is intended solely for personal, lawful use with content you own the rights to or that is freely available to the public. Please respect the terms of service of any platforms you access, including (but not limited to) the terms of use agreements made within Stacher.

Stacher.io PATREON 1 favs
VIEWS1
FILES7 files
POSTEDOct 3, 2025
ARCHIVEDOct 3, 2025