{"id":23894302,"url":"https://github.com/manusoft/yt-dlp-wrapper","last_synced_at":"2026-03-17T06:54:45.010Z","repository":{"id":270168793,"uuid":"909527361","full_name":"manusoft/yt-dlp-wrapper","owner":"manusoft","description":"YTDLP-Wrapper is a C# wrapper around the popular yt-dlp command-line tool for downloading videos, audio, subtitles, thumbnails, and more from various video-sharing platforms. This wrapper provides a simple and easy-to-use API for interacting with yt-dlp in your C# projects.","archived":false,"fork":false,"pushed_at":"2025-03-23T16:06:16.000Z","size":43610,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T05:48:15.793Z","etag":null,"topics":["audio","download","fast","video","youtube","yt-dlp","yt-dlp-wrapper"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/YTDLP-Wrapper","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manusoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-29T01:08:48.000Z","updated_at":"2025-03-18T08:07:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"66813998-ac7b-4ea3-838b-812c12175358","html_url":"https://github.com/manusoft/yt-dlp-wrapper","commit_stats":null,"previous_names":["manusoft/yt-dlp-wrapper"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusoft%2Fyt-dlp-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusoft%2Fyt-dlp-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusoft%2Fyt-dlp-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manusoft%2Fyt-dlp-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manusoft","download_url":"https://codeload.github.com/manusoft/yt-dlp-wrapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249016316,"owners_count":21198832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","download","fast","video","youtube","yt-dlp","yt-dlp-wrapper"],"created_at":"2025-01-04T14:56:37.403Z","updated_at":"2026-03-17T06:54:44.974Z","avatar_url":"https://github.com/manusoft.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NuGet Version](https://img.shields.io/nuget/v/YTDLP-Wrapper) ![NuGet Downloads](https://img.shields.io/nuget/dt/YTDLP-Wrapper)\n\n![Static Badge](https://img.shields.io/badge/ytdlp_executable-red) ![NuGet Version](https://img.shields.io/nuget/v/YTDLP-Executable)  ![NuGet Downloads](https://img.shields.io/nuget/dt/YTDLP-Executable)\n\n# YTDLP-Wrapper\n\n![icon](https://github.com/user-attachments/assets/3848b748-ef25-4e28-9163-b7dba7e42315)\n\n[Download the latest App](https://github.com/manusoft/yt-dlp-wrapper/releases/download/v1.0.0/gui-app.zip)\n\n![Screenshot 2025-01-23 153252](https://github.com/user-attachments/assets/1b977927-ea26-4220-bd41-9f64d6716058)\n\n`YTDLP-Wrapper` is a C# wrapper around the popular `yt-dlp` command-line tool for downloading videos, audio, subtitles, thumbnails, and more from various video-sharing platforms. This wrapper provides a simple and easy-to-use API for interacting with `yt-dlp` in your C# projects.\n\n## Features\n\n- **Download Videos** - Download videos in various qualities.\n- **Download Audio** - Download audio from videos in high quality.\n- **Download Subtitles** - Download subtitles for videos.\n- **Download Thumbnails** - Download video thumbnails.\n- **Download Playlists** - Download all videos from a playlist.\n- **Get Video/Playlist Info** - Retrieve information about videos or playlists.\n- **Get Subtitles** - Retrieve subtitles of video. (stored in App base path)\n- **Get Available Formats** - Get a list of available video formats for a given video.\n- **Get Thumbnail** - Retrieve thumbnail of a video. (stored in App base path)\n\n## Installation\n\nYou can install `YTDLP-Wrapper` from NuGet:\n\n```bash\ndotnet add package YTDLP-Wrapper\n```\n\nOr use the NuGet Package Manager in Visual Studio.\n\n## Usage\n\n### Initialize the Engine\n\nYou can create an instance of the `YtDlpEngine` class with the path to `yt-dlp.exe` (optional, defaults to `\"yt-dlp.exe\"`).\n\n```csharp\nvar ytDlpEngine = new YtDlpEngine();\n```\n\n### Download a Video\n\nTo download a video, specify the video URL and the output directory.\n\n```csharp\nawait ytDlpEngine.DownloadVideoAsync(\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\", \"C:\\\\Downloads\");\n```\n\n### Download a Playlist\n\nTo download all videos from a playlist:\n\n```csharp\nawait ytDlpEngine.DownloadPlaylistAsync(\"https://www.youtube.com/playlist?list=PL4cUxeGkcC9iZ1eqI2gR8SjlzzyLw60EF\", \"C:\\\\Downloads\");\n```\n\n### Download Audio\n\nTo download only the audio of a video:\n\n```csharp\nawait ytDlpEngine.DownloadAudioAsync(\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\", \"C:\\\\Downloads\");\n```\n\n### Download Subtitles\n\nTo download subtitles for a video:\n\n```csharp\nawait ytDlpEngine.DownloadSubtitlesAsync(\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\", \"C:\\\\Downloads\");\n```\n\n### Download Thumbnail\n\nTo download the thumbnail of a video:\n\n```csharp\nawait ytDlpEngine.DownloadThumbnailAsync(\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\", \"C:\\\\Downloads\");\n```\n\n### Get Video Information\n\nTo retrieve information about a video:\n\n```csharp\nvar videoInfo = await ytDlpEngine.GetVideoInfoAsync(\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\");\n```\n\n### Get Available Formats\n\nTo retrieve available formats for a video:\n\n```csharp\nvar formats = await ytDlpEngine.GetAvailableFormatsAsync(\"https://www.youtube.com/watch?v=dQw4w9WgXcQ\");\n```\n\n### Events\n\nThe `YtDlpEngine` provides events that you can subscribe to for progress updates or error handling.\n\n- **OnProgressDownload**: Fired when there is a download progress update.\n- **OnProgressMessage**: Fired for general progress messages (e.g., logging).\n- **OnErrorMessage**: Fired when an error occurs during the download.\n\nExample:\n\n```csharp\nytDlpEngine.OnProgressDownload += (sender, args) =\u003e\n{\n    Console.WriteLine($\"Download progress: {args.Progress}%\");\n};\n\nytDlpEngine.OnErrorMessage += (sender, message) =\u003e\n{\n    Console.WriteLine($\"Error: {message}\");\n};\n```\n\n## Enum Definitions\n\nThe following enums are available to specify download quality:\n\n```csharp\npublic enum VideoQuality\n{\n    All,           // All available quality\n    MergeAll,      // Merge all available formats\n    Best,          // Best available quality\n    BestVideo,     // Best video-only quality (no audio)\n    Worst,         // Worst available quality    \n    WorstVideo,    // Worst video-only quality (no audio)   \n}\n\npublic enum AudioQuality\n{\n    BestAudio,     // Best audio-only quality (no video)\n    WorstAudio,    // Worst audio-only quality (no video)\n}\n```\n\n## License\n\nThis library is licensed under the MIT License. See LICENSE for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanusoft%2Fyt-dlp-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanusoft%2Fyt-dlp-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanusoft%2Fyt-dlp-wrapper/lists"}