- Artikel tentang cara melewati pembatasan kecepatan unduhan video di YouTube
- YouTube menghasilkan pendapatan dari tayangan iklan, dan menerapkan pembatasan untuk mencegah video ditonton atau diunduh melalui klien tidak resmi
- Langkah pertama untuk melewati pembatasan kecepatan adalah berkomunikasi dengan API YouTube untuk menemukan URL sebenarnya yang berisi file video
- YouTube menggunakan parameter khusus bernama
n pada sebagian besar URL file, yang harus ditransformasikan menggunakan algoritma JavaScript yang berada di file base.js. Parameter ini berfungsi sebagai tantangan untuk memverifikasi apakah unduhan dimulai dari klien yang "resmi"
- Karena algoritma JavaScript tersebut diobfuskasi dan sering berubah, mencoba memahaminya melalui rekayasa balik tidaklah realistis. Solusinya adalah mengunduh file JavaScript, mengekstrak kode algoritmanya, lalu menjalankannya dengan memberikan parameter
n
- YouTube tetap menerapkan aturan pembatasan kecepatan unduhan yang bervariasi berdasarkan ukuran dan durasi video. Untuk melewati pembatasan ini, unduhan dapat dipecah menjadi beberapa bagian kecil menggunakan header HTTP Range
- YouTube mendistribusikan kanal video dan audio sebagai dua file terpisah. Langkah terakhir adalah menggabungkan kedua kanal ini menjadi satu file, yang dapat dilakukan menggunakan ffmpeg
- Saat ini banyak proyek menggunakan teknik-teknik ini untuk melewati pembatasan yang dipasang guna mencegah pengunduhan video YouTube. Yang paling populer adalah yt-dlp yang diprogram dengan Python (fork dari youtube-dl), tetapi ini menyertakan interpreter JavaScript kustomnya sendiri untuk mentransformasikan parameter
n
- Artikel ini menjelaskan prosesnya dan menyediakan cuplikan kode, sehingga dapat diakses oleh insinyur perangkat lunak pemula
1 komentar
Komentar Hacker News
yt-dlpyang disebut dalam artikel: fork berbasis Python dariyoutube-dl, mencakup interpreter JavaScript kustom untuk mengubah parameter