Website downloader video dan audio dari YouTube yang mendukung fitur pencarian video, informasi video (termasuk resolusi dan bitrate), serta unduhan video dan audio. Aplikasi ini dikembangkan dengan FastAPI untuk backend dan HTML/CSS/Python untuk frontend.
- Pencarian Video: Cari video YouTube berdasarkan kata kunci.
- Informasi Video: Dapatkan detail tentang judul, durasi, resolusi yang tersedia, bitrate audio, dan lainnya.
- Unduh Video: Unduh video dengan resolusi tertentu (misalnya 720p, 1080p).
- Unduh Audio: Ekstrak dan unduh audio dari video YouTube dengan bitrate tertentu.
Untuk menjalankan proyek ini, Anda membutuhkan:
- Python 3.8+: Untuk menjalankan backend menggunakan FastAPI.
- Node.js (opsional): Jika ingin menambahkan fitur lebih lanjut di frontend.
- FFmpeg: Untuk penggabungan video dan audio.
- Browser modern: Untuk menjalankan antarmuka berbasis HTML.
- FastAPI: Framework web untuk API backend.
- uvicorn: Server ASGI untuk menjalankan FastAPI.
- yt-dlp: Untuk pengunduhan video/audio YouTube.
Instal pustaka Python yang diperlukan:
pip install -r requirements.txtPastikan FFmpeg terinstal di sistem:
sudo apt update && sudo apt install ffmpegUnduh FFmpeg dari situs resmi dan tambahkan ke PATH sistem.
Jalankan backend menggunakan uvicorn:
uvicorn backend.main:app --reloadBisa juga menggunakan PM2 untuk manajemen proses:
pm2 start "python3 -m uvicorn main:app --host 0.0.0.0 --port 8000" --name fastapiBuka file index.html di folder static menggunakan browser atau akses URL berikut:
http://127.0.0.1:8000/static/index.html
Backend FastAPI menyediakan beberapa endpoint API:
GET /search/: Cari video YouTube berdasarkan kata kunci.GET /info/: Ambil detail video, termasuk resolusi dan bitrate.GET /download/: Unduh video dengan resolusi tertentu.GET /download/audio/: Unduh audio dengan bitrate tertentu.Get /download/ytsub/: unduh video YouTube dengan subtitle.Get /download/playlist/: unduh video/audio yutube.Get /spotify/search: cari lagu di spotify.Get /spotify/info: dapatkan info track Spotify.Get /spotify/download/audio: download audio Spotify.Get /spotify/download/playlist: download playlist Spotify.Get /douyin: unduh foto,video,audio douyin.Get /stats: info server dan lain lain
- Aplikasi ini memerlukan file cookies (yt.txt) untuk mengakses video yang membutuhkan autentikasi (misalnya video berusia 18+ atau dibatasi lokasi).
- Pastikan koneksi internet Anda stabil untuk unduhan yang lebih cepat.
- Dokumentasi telah disertakan dalam proyek ini.
M. Nauval Sayyid Abdillah
Sains Data UNESA 2024F
NIM 24013554092
- penambahan endpoint douyin
- penambahan endpoint stats
- pengoptimalan pada endpoint /download
- pengoptimalan pada endpoint /download/audio
- penambahan auto blokir ip ketika lebih dari 35request/menit