A lightweight Windows desktop app (.NET 9 / WPF) that downloads videos from YouTube, Instagram, Facebook and hundreds of other sites as MP4, MP3, or both. Turquoise-themed UI, available in Türkçe / Deutsch / English.
- One URL, one click. Paste a link, pick MP4 and/or MP3, press Download.
- MP4 + MP3 together. When both are selected the MP3 is extracted from the downloaded MP4 with ffmpeg, so the media is fetched only once.
- Sensible file names. Files are named after the media title. If no title is
available the name is derived from the URL, e.g.
youtube_dQw4w9WgXcQorinstagram_DavUIURsVSl. Duplicates get_2,_3, ... - Output folder next to the app:
downloaded/. - Progress, speed and ETA, a log panel and a cancel button.
- Three languages, switchable at runtime and remembered in
settings.json. - Browser cookies option for sites that require a login (private Instagram posts, some Facebook videos): Chrome, Edge, Firefox, Brave, Opera, Vivaldi.
- Zero setup.
yt-dlp,ffmpeganddenoare downloaded automatically intotools/on first run. Ifffmpegis already on yourPATH, it is reused. - Update tools button re-downloads
yt-dlp(sites change often; a staleyt-dlpis the most common cause of download errors).
Everything supported by yt-dlp: YouTube (videos, Shorts, Music), Instagram (posts, reels), Facebook (videos, reels, fb.watch), TikTok, Twitter/X, Vimeo, Dailymotion, Twitch clips and many more.
Requirements: Windows 10/11, .NET 9 SDK.
git clone https://github.com/kaplanerkan/PandaMultimediaDownloader.git
cd PandaMultimediaDownloader
dotnet run --project src/PandaMultimediaDownloader.\build.ps1This runs a self-contained single-file publish (the .NET 9 runtime is embedded
in the exe) and downloads yt-dlp, ffmpeg and deno into tools/. Result:
dist/PandaMultimediaDownloader/
PandaMultimediaDownloader.exe ~57 MB, runtime included
tools/yt-dlp.exe
tools/ffmpeg.exe
tools/deno.exe
dist/PandaMultimediaDownloader-v1.0.0-win-x64.zip
Copy the folder (or unzip) anywhere and run the exe. downloaded/ and
settings.json are created next to it.
Options: .\build.ps1 -NoTools skips the tool download (the app fetches them on
first run instead); plain dotnet publish src/PandaMultimediaDownloader -c Release
does the same as the script without zipping, -p:DownloadTools=false to opt out.
Pushing a v* tag builds the zip on GitHub Actions and attaches it to a release.
dotnet testxUnit tests cover file-name derivation, sanitising, unique naming and localization.
src/PandaMultimediaDownloader/
Localization/Loc.cs TR / DE / EN strings, runtime language switch
Services/ToolManager.cs locates or downloads yt-dlp, ffmpeg, deno
Services/DownloadService.cs download pipeline, MP3 extraction, progress
Services/FileNameHelper.cs title / URL -> safe, unique file name
Services/AppSettings.cs settings.json persistence
ViewModels/MainViewModel.cs UI state and commands
Themes/Turquoise.xaml palette and control styles
tests/PandaMultimediaDownloader.Tests/
| Symptom | What to do |
|---|---|
| "Sign in to confirm you're not a bot" / login required | Select your browser under Use browser cookies and retry. |
| Download fails right after a site update | Press Update tools. |
| First start takes a while | Only when tools/ is missing: yt-dlp (~17 MB), deno (~90 MB) and, if not on PATH, ffmpeg are downloaded once. Builds from build.ps1 ship them already. |
YouTube, Instagram, Facebook ve yt-dlp'nin desteklediği diğer sitelerden medyayı MP4, MP3 veya her ikisi olarak indiren .NET 9 / WPF uygulaması.
- URL yapıştır, format seç, İndir.
- Dosya adı medya başlığından gelir; başlık yoksa URL'den türetilir.
- Çıktı uygulamanın yanındaki
downloaded/klasörüne yazılır. - Dil: Türkçe / Deutsch / English, çalışırken değiştirilebilir.
- Oturum isteyen içerikler için Tarayıcı çerezlerini kullan seçeneği.
yt-dlp,ffmpeg,denoilk açılışta otomatik iner; hata alırsan önce Araçları güncelle dene.
MIT
