en-us/about_ytdlWrapper.help.txt
TOPIC
about_ytdlWrapper SHORT DESCRIPTION ytdlWrapper is a module designed to speed up and automate the use of youtube-dl in powershell. OVERVIEW This module relies on using youtube-dl configuration files, a feature that youtube-dl comes with. Commands in this module execute youtube-dl with the --config-location argument, which means that anything that you can do in youtube-dl, this module supports. The module allows for primarily three functions: 1. Executing youtube-dl configuration files as-is. 2. Creating and using templates which ask the user for a few parameters before running. 3. Creating and executing jobs which have the ability to store variables persistently between sessions. Option (1) involves just using a complete youtube-dl configuration file, which will be passed to youtube-dl and executed as-is. This is an alternate way to running: youtube-dl.exe --config-location "/some/path/here". Option (2) involves using an almost-complete youtube-dl configuration file. This file won't have every argument hard-coded, so when the template is invoked, the module will ask the user for missing argument values. An example of this is having a "music" template, which has arguments such as the --format defined to download music rather than video, and the --output defined to save the file correctly as an mp3, but it lacks the url. When the user invokes this template, they provide just the url for a specific music video, and the rest of the options are defined already. This allows for easy downloading of music without having to specify all the arguments manually each time. Option (3) involves using an advanced youtube-dl configuration file. This file has multiple variables defined within it. Variables are pieces of data which are calculated once youtube-dl finished running, and are then used the next time the job is ran. An example of this is having an "archive" job, which downloads a certain channel's upload playlist every month for archiving. It only downloads the new videos since the last run to save time, and numbers them all in the filename: 0001 - oldest video 0002 - slightly newer video 0003 - slightly newer x2 video After youtube-dl finishes running, the command finds the latest number that the video's have reached, in this example it would be 0003. Now the next time this job is run, --autonumber-start is given 0004 (0003+1) and it downloads the two latest videos which have come out since. Now the filenames look like: 0001 - oldest video 0002 - slightly newer video 0003 - slightly newer x2 video -> 0004 - new video -> 0005 - latest video This allows the same job, for e.g. archiving a specific channel, to carry on the numbering scheme without having to manually update the --autonumber-start value in the configuration file. In this example, if you downloaded the whole playlist each time, this wouldn't be necessary. But that would waste both a lot of bandwidth and time so it makes more sense to use the youtube-dl --download-archive feature, and in this scenario being able to automate the process is ideal. The main command which invokes youtube-dl is: Invoke-YoutubeDL, which either accepts a configuration filepath or a job name. For detailed information about Templates, see about_ytdlWrapper_templates For detailed information about Jobs, see about_ytdlWrapper_jobs OTHER The module stores all data in %appdata%\Powershell\ytdlWrapper It is advised to **not** manually modify any files within this directory as it could have unintended consequences. KEYWORDS ytdlWrapper |