en-us/about_ytdlWrapper.help.txt
TOPIC
about_ytdlWrapper SHORT DESCRIPTION Explains how the ytdlWrapper module can be used to speed up and automate youtube-dl through templates and jobs. OVERVIEW == This module manages invoking youtube-dl through a simple and intuitive interface. It allows for the creation of templates, which allow the user to reuse a specific configuration whilst giving it some leeway. An example of this would be a template to download music; where, only the url will differ from run to run. The module also allows for the creation of jobs, which allow a certain configuration to be repeated, and to store data between runs. An example of this would be an archival job; where data is stored across runs to maintain a consistent file format. == The cmdlets in this module operate on [YoutubeDlTemplate] and [YoutubeDlJob] objects. the objects retrieved by the `Get-YoutubeDlItem` cmdlet can be piped to: - Set-YoutubeDlItem - Remove-YoutubeDlItem - Invoke-YoutubeDl == This module has custom-defined formatting outputs for: ------- ----- Cmdlet Alias ------- ----- Format-List fl Format-Table ft Format-Custom fc Format-Wide fw The 'Format-Custom' & 'Format-List' views contain the largest amount of information regarding the template or job. == A font with ligatures is recommended for the best and clearest visual display. When running in the 'Windows Terminal', fancy formatting is supported. This formatting uses colours and emojis to make the output even clearer and easier to read/scan through. == The cmdlets in this module have default aliases: ------- ----- Cmdlet Alias ------- ----- New-YoutubeDlItem nydl Get-YoutubeDlItem gydl Set-YoutubeDlItem sydl Remove-YoutubeDlItem rydl Invoke-YoutubeDl iydl USING THIS MODULE == There are 3 main ways of using this module: 1. Executing youtube-dl configuration files as-is. 2. Creating and using templates which ask the user for input before executing. 3. Creating and executing jobs which store variables between runs. == Options (1) involves using a complete youtube-dl configuration file, which gets executed as is. This is an alternative way to running: PS C:\> youtube-dl.exe --config-location "~\config.txt" The benefit of using the module for this is that the module provides a powershell compliant name which may be easier to remember/type. For detailed information, see the "INVOKING YOUTUBE-DL" section below. == Options (2) involves using an almost-complete youtube-dl configuration file as a template. This file will not have everything hardcoded, so when a template is executed, the cmdlet will ask the user for inputs to "fill in the gaps", before invoking youtube-dl. An example of this is a "music" template. The configuration file is set up to download a music stream and save it as a music file, but the url from which to download the music from is not hardcoded. When the template is executed, the cmdlet will ask for a url, which will then be temporarily put into the configuration file. Then youtube-dl is invoked with the "filled-in" configuration file. This allows you to preset some options, and then reuse the configuration file again and again to download different pieces of media manually. For detailed information, see 'about_ytdlWrapper_templates'. == Option (3) involves using an almost-complete youtube-dl configuration file, as a job. This file will not have everything hardcoded, but will rather have variables and scriptblocks defined. When a job is executed, the variable values will be used to "fill in the gaps", before invoking youtube-dl. Afterwards, the scriptblocks decide on the new values for the variables. An example of this is an "archive" job. The configuration file is set up to download a certain playlist in some format. However, the files will be autonumbered consecutively between job runs. When the job is executed, the cmdlet will get the latest number from a variable, and that will be temporarily put into the configuration file. Then youtube-dl is invoked with the "filled-in" configuration file. After youtube-dl finished, a scriptblock will get the latest number from the file names and store that, so when the job is ran next time, the numbering will continue from where it left off. This allows you to create "smart" jobs which can store variables between runs. Archiving is one example of such a use case; there is no limit to what you can do with this. For detailed information, see 'about_ytdlWrapper_jobs'. INVOKING YOUTUBE-DL == To invoke youtube-dl with a completed configuration file, run: PS C:\> Invoke-YoutubeDl -Path "~\config.txt" This command will invoke youtube-dl against the configuration file "config.txt". This configuration file must be complete and valid, otherwise youtube-dl will error. -Path Specifies the path of the location of the configuration file to use. OPTIONAL PARAMETERS -WhatIf Shows what would happen if the cmdlet runs. The cmdlet does not run. -Confirm Prompts you for confirmation before running any state-altering actions in this cmdlet. <CommonParameters> This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (https://go.microsoft.com/fwlink/?LinkID=113216). OTHER == The module stores all data in '%APPDATA%\Powershell\ytdlWrapper'. It is advised to **not** manually modify the '.xml' files within this directory as it could have unintended consequences. == If you create a new template or job using the `New-YoutubeDlItem` cmdlet without specifying the '-DontMoveConfigurationFile' switch, the configuration files will be moved inside of the '\Templates' or '\Jobs' folder respectively, and renamed to the name of the item. KEYWORDS ytdlWrapper Youtube Video Download Wrapper |