Skip to content

`yt-dlp` ve `FFmpeg` üzerine kurulmuş, gelişmiş bir komut satırı arayüzü (CLI) ile YouTube'dan video ve ses indirme aracı. Kullanıcı dostu arayüzü ile belirli format ve kalitelerde indirme yapmayı kolaylaştırır.

License

Notifications You must be signed in to change notification settings

metehansenyer/YouTube-Downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

YouTube İndirici (CLI)

yt-dlp ve FFmpeg üzerine kurulmuş, gelişmiş bir komut satırı arayüzü (CLI) ile YouTube'dan video ve ses indirme aracı. Kullanıcı dostu arayüzü ile belirli format ve kalitelerde indirme yapmayı kolaylaştırır.

İçerik

Kullanılan Araçlar

python ffmpeg yt-dlp rich

  • Backend İndirici: yt-dlp ile güçlü ve hızlı indirme altyapısı.
  • Medya İşleme: FFmpeg ile video-ses birleştirme ve format dönüştürme.
  • Konsol Arayüzü (CLI): Rich kütüphanesi ile modern ve interaktif bir arayüz.
Kullanılan Araç Sürüm (Önerilen) Amaç
Python 3.8+ Ana programlama dili
yt-dlp En son YouTube'dan video/ses akışlarını indirme
Rich En son İnteraktif ve zengin konsol arayüzü (tablolar, ilerleme çubukları vb.)
FFmpeg En son Video ve ses dosyalarını birleştirme (muxing) ve dönüştürme

Amaç

Bu proje, standart yt-dlp kullanımını daha interaktif ve kullanıcı dostu hale getirmek amacıyla geliştirilmiştir. Kullanıcıların komut ezberlemeden, sadece menülerden seçim yaparak istedikleri kalitede ve formatta (MP4, MP3, FLAC vb.) YouTube içeriğini kolayca indirebilmelerini sağlamaktır.

Proje Özellikleri

{
  "İndirme Seçenekleri": "Video veya sadece Ses olarak indirme",
  "Format Çeşitliliği": "Video için 1080p/720p/480p; Ses için MP3, M4A, WAV, FLAC",
  "Playlist Desteği": "Tek link ile tüm oynatma listesini indirme",
  "Akıllı Klasörleme": "İndirilen dosyaları 'indirilenler' klasöründe, playlistleri kendi adıyla açılan alt klasörlerde düzenler",
  "Otomatik Bağımlılık Kontrolü": "Program başlamadan kritik 'FFmpeg' aracının kurulu olup olmadığını kontrol eder",
  "Zengin Konsol Arayüzü": "Rich ile hazırlanmış tablolar, paneller ve anlık ilerleme çubuğu",
  "Kolay Kullanım": "Komut bilgisi gerektirmeyen, tamamen interaktif menü tabanlı arayüz",
  "Hata Yönetimi": "Geçersiz linkler veya indirme hataları için anlaşılır hata mesajları",
  "Çapraz Platform Desteği": "Windows, macOS, Linux üzerinde çalışır"
}

Teknik Detaylar

Özellik Durum Detay
Video/Ses Birleştirme FFmpeg kullanarak en iyi video ve ses akışlarını birleştirir (muxing).
Ses Formatı Dönüştürme İndirilen en iyi kalitedeki sesi istenen formata (MP3, FLAC vb.) dönüştürür.
İnteraktif Arayüz Rich kütüphanesi ile kullanıcıdan anlık girdi alır (Prompts) ve verileri tablolarda sunar.
Anlık İlerleme Takibi İndirme hızını, kalan süreyi ve dosya boyutunu gösteren canlı ilerleme çubuğu.
Hata Yakalama yt-dlp ve ağ hatalarını yakalayıp kullanıcıyı bilgilendirir.
Oynatma Listesi Yönetimi Liste bilgilerini çeker, kullanıcı onayı alır ve tüm videoları sıralı indirir.
Modüler Kod Yapısı Fonksiyonlar görevlerine göre ayrılmış, okunabilir ve bakımı kolay kod yapısı.

İndirme ve Çalıştırma

Projeyi yerel ortamınızda çalıştırmak için aşağıdaki adımları izleyebilirsiniz:

  1. FFmpeg Kurulumu (ÖNEMLİ): Bu araç, video ve ses dosyalarını işlemek için FFmpeg'e ihtiyaç duyar.

    • ffmpeg.org/download.html adresinden işletim sisteminize uygun sürümü indirin.
    • İndirdiğiniz dosyaları bir klasöre çıkarın ve o klasörün yolunu sisteminizin PATH (Ortam Değişkenleri)'ine ekleyin. Bu, programın FFmpeg'i bulabilmesi için kritik bir adımdır.
  2. Repoyu Klonlayın:

    git clone https://github.com/metehansenyer/YouTube-Downloader.git
    cd YouTube-Downloader
  3. Sanal Ortam (Virtual Environment) oluşturun ve etkinleştirin: Projenin diğer Python kurulumlarınızdan izole çalışması için bu adım şiddetle tavsiye edilir.

    Windows için:

    python -m venv venv
    venv\Scripts\activate

    macOS/Linux için:

    python -m venv venv
    source venv/bin/activate
  4. Gerekli Python kütüphanelerini yükleyin:

    pip install --upgrade yt-dlp rich
  5. Programı çalıştırın:

    python main.py

Kullanım

  1. Programı çalıştırdığınızda sizi bir hoşgeldin mesajı karşılar ve FFmpeg kontrolü yapılır.
  2. İndirmek istediğiniz YouTube video veya oynatma listesi linkini yapıştırıp Enter'a basın.
  3. "Video olarak mı, ses dosyası olarak mı indirmek istersiniz?" sorusuna v veya s ile cevap verin.
  4. Ekranda beliren tablodan, indirmek istediğiniz kalite veya formatın numarasını girin.
  5. İndirme işlemi, canlı ilerleme çubuğu ile başlayacaktır.
  6. İşlem tamamlandığında dosyalarınızı indirilenler klasöründe bulabilirsiniz.

Proje Yapısı

Bu proje tek bir betikten oluşur. İlk indirmeden sonra oluşacak klasör yapısı aşağıdaki gibi olacaktır:

YouTube-Downloader/
├── main.py         # Ana program betiği
└── indirilenler/                 # Tüm indirilen medyanın ana klasörü
    ├── Tekil Video Adı.mp4       # Örnek tekil video indirmesi
    └── Oynatma Listesi Adı/        # Oynatma listeleri için oluşturulan alt klasör
        ├── 1 - Listenin 1. Videosu.mp3
        ├── 2 - Listenin 2. Videosu.mp3
        └── ...

Not

Not: Bu araç, kişisel ve eğitim amaçlı kullanım için tasarlanmıştır. İndirilen içeriklerin telif haklarına ve YouTube'un hizmet şartlarına uymak kullanıcının sorumluluğundadır. Lütfen bu aracı sorumlu bir şekilde kullanın.

About

`yt-dlp` ve `FFmpeg` üzerine kurulmuş, gelişmiş bir komut satırı arayüzü (CLI) ile YouTube'dan video ve ses indirme aracı. Kullanıcı dostu arayüzü ile belirli format ve kalitelerde indirme yapmayı kolaylaştırır.

Topics

Resources

License

Stars

Watchers

Forks

Languages