VideoAndAudioDownloader is a suite of projects that enables users to download and save videos and playlists from YouTube to their local file system. It is built using .NET 6 and utilizes dependency injection (DI). The core business logic is contained in a library project, which can be accessed in two different ways: through a command-prompt console app or via a user-friendly desktop app built with WPF.
VideoAndAudioDownloader.BusinessLogic is a project that provides the business logic for fetching YouTube assets and saving them to the file system. It uses the YoutubeExplode library to retrieve details of individual videos and playlists, as well as to manipulate the assets for storage on the file system. This project is essential for the functionality of the VideoAndAudioDownloader app, as it handles all of the behind-the-scenes work required to fetch and save YouTube content. With its robust and reliable logic, VideoAndAudioDownloader.BusinessLogic ensures a seamless experience for the user.
VideoAndAudioDownloader.ConsoleApp is a self-hosted console application that utilizes the functionality provided by the VideoAndAudioDownloader.BusinessLogic project. It allows the user to execute the app from the command prompt, providing a convenient and flexible way to use the app's features. The console app is enhanced with the use of the ConsoleAppFramework library, which enables advanced parameterization of the app's execution. This allows for a more powerful and customizable experience when using the app from the command line. Overall, VideoAndAudioDownloader.ConsoleApp provides a robust and user-friendly interface for accessing the capabilities of the VideoAndAudioDownloader app.
This is a desktop app built with WPF and .NET 7. It follows the MVVM design pattern and has three main windows. The first window allows you to import a YouTube playlist and perform a search to return all of the songs/videos in the playlist. You can also remove certain items from the playlist. The second window allows you to add more playlist and songs using a helper user control. Finally, the third window allows you to select one or more folders as destinations where all of the songs from the playlist will be saved to the file system.