Utilitas dan antarmuka baris perintah (CLI & Node.js Module) berkinerja tinggi untuk mengurai (parse), mengekstrak metadata, serta menghasilkan tautan direct streaming URL media video dan audio secara cepat tanpa dependensi eksternal pihak ketiga.
Didesain sangat ringan (pure native standard library) sehingga sangat hemat penggunaan RAM (< 25MB) dan optimal dijalankan di Android Termux, Server VPS Linux, maupun integrasi bot backend (Telegram, Discord, WhatsApp Bot).
- β‘ Zero External Dependencies: Dibangun 100% menggunakan modul bawaan Node.js (
https,zlib). Tidak perlunpm installpaket tambahan yang berat. - π₯ Resolusi Video Fleksibel: Mendukung resolusi dari 144p, 360p, 720p (HD), 1080p (FHD), 1440p (2K), hingga 2160p (4K UHD).
- π΅ Multi-Format & Bitrate Audio: Ekstraksi stream audio ke kontainer MP3, WAV, M4A, OGG, Opus, hingga FLAC dengan kualitas bitrate hingga 320 kbps.
- π Asynchronous Polling Engine: Mekanisme auto-polling status rendering di sisi upstream yang dilengkapi proteksi timeout dan penanganan transient network error.
- π¦ Dual Mode (CLI & Module): Siap dieksekusi langsung dari terminal atau diimpor (
require) sebagai library pada aplikasi Node.js. - π± Termux & Multi-Platform Native: Berjalan lancar di lingkungan Android Termux tanpa memerlukan root, emulator browser berat (Puppeteer/Chromium), maupun binary tambahan.
[Klien / Pengguna CLI / Bot Backend]
β
βΌ
[Input URL Media & Opsi Format]
β
βΌ
[yt-scraper.js / index.js]
βββ 1. Sanitasi URL & Normalisasi Bitrate
βββ 2. POST Permintaan Stream via HTTPS Protocol
βββ 3. Dekompresi Payload Respons (Brotli / Gzip / Deflate)
β
βΌ
[Resolusi Upstream API]
β
βΌ (Status: In-Progress / Processing)
[Async Polling Status Tracker]
β
βΌ (Status: Finished / Completed)
[Direct Stream Link & Metadata JSON Siap Digunakan! π]
Pastikan sistem Anda telah terpasang Node.js (versi 16.0.0 atau lebih baru) dan Git.
Untuk pengguna Android (Termux):
pkg update -y && pkg install git nodejs-lts -yUntuk pengguna Ubuntu / Debian Linux:
sudo apt update && sudo apt install -y git nodejsgit clone https://github.com/Cxslin/tube-stream-resolver.git
cd tube-stream-resolver# Kualitas Default (MP4 1080p / 2160p)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ
# Spesifik Kualitas 1080p (Full HD)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type video --format mp4 --quality 1080p
# Spesifik Kualitas 720p (HD)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type video --format mp4 --quality 720p
# Kualitas Maksimal 4K (2160p) Format WebM
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type video --format webm --quality 2160p# Format MP3 dengan Bitrate Tinggi (320kbps)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type audio --format mp3 --bitrate 320k
# Format MP3 Standar (128kbps)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type audio --format mp3 --bitrate 128k
# Format Lossless / High Fidelity (FLAC / WAV)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type audio --format flac
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type audio --format wav
# Format Ringan (M4A / OGG / Opus)
node yt-scraper.js https://youtu.be/LXb3EKWsInQ --type audio --format m4aOutput respons berupa JSON terstruktur yang mudah diparsing oleh skrip lain:
{
"status": "completed",
"progress": 100,
"title": "COSTA RICA IN 4K 60fps HDR (ULTRA HD)",
"duration": 314,
"downloadUrl": "https://vps-example.domain.shop/files/xxxx/output.mp4?token=xxxx&expires=1788501698"
}Anda dapat mengintegrasikan tool ini langsung ke dalam bot Telegram, WhatsApp bot, REST server Express.js, atau skrip otomatisasi Anda:
const { download, waitForDownload } = require('./yt-scraper');
// atau: const { download, waitForDownload } = require('tube-stream-resolver');
async function resolveMedia() {
try {
const targetUrl = 'https://youtu.be/LXb3EKWsInQ';
console.log('Memproses URL...');
const initResult = await download(targetUrl, {
type: 'video',
format: 'mp4',
quality: '1080p'
});
if (initResult.statusUrl) {
console.log('Menunggu antrean pemrosesan...');
const finalData = await waitForDownload(initResult.statusUrl);
console.log('Judul Media :', finalData.title);
console.log('Durasi :', finalData.duration, 'detik');
console.log('Stream URL :', finalData.downloadUrl);
} else {
console.log('Hasil:', initResult);
}
} catch (err) {
console.error('Terjadi kendala:', err.message);
}
}
resolveMedia();Setelah mendapatkan downloadUrl dari properti JSON:
# Menggunakan cURL
curl -L -o media_output.mp4 "URL_STREAM_DARI_JSON"
# Menggunakan Wget
wget -O media_output.mp4 "URL_STREAM_DARI_JSON"
# Memutar langsung tanpa simpan ke disk (via MPV)
mpv "URL_STREAM_DARI_JSON"| Opsi | Tipe | Default | Pilihan Nilai | Keterangan |
|---|---|---|---|---|
--type |
String | video |
video, audio |
Kategori media yang ingin diekstrak |
--format |
String | mp4 |
mp4, webm, mkv, mp3, wav, m4a, ogg, opus, flac |
Format kontainer berkas |
--quality |
String | 2160p |
144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p |
Resolusi stream video |
--bitrate |
String | 128k |
320k, 256k, 192k, 128k, 64k |
Kualitas kompresi audio |
--help, -h |
Boolean | - | - | Menampilkan panduan bantuan CLI |
- Tujuan Edukasi & Riset: Repositori ini dibuat dan dipublikasikan semata-mata untuk tujuan analisis protokol metadata web, pengujian latensi jaringan, dan pengarsipan konten domain publik / materi berlisensi terbuka.
- Kepatuhan DRM: Perangkat lunak ini TIDAK membobol, mendekripsi, maupun menghindari (circumvent) mekanisme perlindungan hak cipta digital (DRM seperti Widevine, PlayReady, FairPlay) atau kontrol akses teknis berpemilik apa pun.
- Penyimpanan Konten: Perangkat lunak ini tidak meng-host, menyimpan, atau mendistribusikan berkas media atau audio berhak cipta apa pun di server repositori ini. Seluruh URL stream dihasilkan secara dinamis melalui antarmuka pihak ketiga.
- Tanggung Jawab Pengguna: Pengguna bertanggung jawab penuh atas segala tindakan dan penggunaan skrip ini sesuai dengan hukum hak cipta yang berlaku di wilayah hukum masing-masing serta Ketentuan Layanan (Terms of Service) dari platform asal media.
Didistribusikan di bawah lisensi MIT. Bebas digunakan, dimodifikasi, dan dipelajari untuk kepentingan riset dan pengembangan mandiri.