Alat NodeJS untuk mengunduh klip dan VOD secara batch (dan metadatanya) dari saluran Twitch.
Alat ini MUNGKIN dapat mengunduh SEMUA klip dari suatu saluran (tidak hanya 1000 teratas). Saat ini alat ini telah diuji di beberapa saluran besar dan tampaknya mampu mendapatkan semua klip (433 ribu klip dari hasanabi
).
Untuk memaksimalkan cakupan klip, alat ini tidak mengizinkan Twitch API melaporkan lebih dari 500 klip dalam satu periode. Penomoran halaman di luar titik ini tidak dapat diandalkan (berbatasan sekitar 1.000 klip tetapi sangat bervariasi). Untuk mengatasinya, periode dengan lebih dari 500 klip, akan dibagi menjadi 2, dan proses akan dimulai ulang hingga satu periode melaporkan kurang dari 500 klip.
Proyek ini tidak ditinggalkan tetapi pada saat yang sama tidak dikembangkan secara aktif karena keterbatasan waktu saya.
Saya menyadari bahwa proyek ini berkembang melampaui namanya: pengunduh klip batch, dan saya merasa perlu mengatur ulang semuanya menjadi bagian-bagian yang lebih mudah dikelola. Saya masih memikirkan apa rencana serangan terakhirnya, untuk saat ini inilah yang saya rencanakan:
Hal ini sebagian besar sudah dilakukan saat ini, namun diperlukan untuk menjaga hal-hal pengguna dari hal-hal pengembang. Hal ini juga memungkinkan saya untuk fokus menjaga fungsi inti tetap mutakhir dan sering diuji serta berbagi kode terpenting di antara semua alat.
Saat ini alat ini hanya akan mengunduh SEMUANYA dari suatu saluran, dan ini bukan kasus penggunaan yang paling umum (bahkan bagi saya). Saya berencana menambahkan hal-hal seperti: unduh VOD/klip tunggal, unduh dari daftar URL, filter, CLI yang lebih baik, dll.
Karena sebagian besar pengguna takut dengan CLI, saya ingin mengimplementasikan GUI menggunakan Electron agar proyek ini lebih mudah diakses dan ramah pengguna.
Alat ini juga mampu mengunduh seluruh obrolan VOD dari Twitch, memungkinkan pemain memutar ulang seluruh obrolan seperti yang Anda bisa untuk VOD yang masih tersedia.
Rencana utamanya adalah mengubah paket fungsionalitas inti menjadi alat canggih untuk pencadangan terkait media Twitch, memungkinkan pengembang mana pun dengan mudah menulis alat pencadangan/pengunduhan mereka sendiri tanpa harus khawatir tentang permintaan, banyak koneksi, autentikasi API, pengambilan VOD Daftar putar .m3u8, dll
youtube-dl
;.ts
ke .mp4
;Client-ID
Aplikasi Twitch dan Client Secret
(dijelaskan di bawah) - untuk mengakses API Twitch. Daftarkan aplikasi di Twitch Console, klik Kelola dan salin ID Klien dan buat Rahasia Klien .
Jalankan perintah ini di konsol Anda:
npm install
Jalankan skrip melalui NPM dengan (ini diperlukan untuk memuat dotenv
):
npm run start
Setiap informasi yang diperlukan akan diminta saat startup melalui terminal de.
Setiap kali Anda menjalankan skrip ini, skrip ini akan menanyakan nama saluran, dan kemudian mengonfirmasi apakah Anda ingin mengunduh semuanya.
Berikut penjelasan masing-masing variabel:
DEBUG
: mencetak banyak sekali informasi, biarkan saja salah untuk penggunaan normal;CLIENT_ID
: ID Klien API Twitch;CLIENT_SECRET
: Rahasia Klien Twitch API;BASEPATH
: tempat file (klip, VOD, fragmen) harus disimpan;YOUTUBE_DL_PATH
: dimana youtube-dl executable berada;VIDEOS_PARALLEL_DOWNLOADS
: berapa banyak fragmen VOD yang harus diunduh secara bersamaan.CLIPS_PARALLEL_DOWNLOADS
: berapa banyak klip yang harus diunduh secara bersamaan;BIN_PATH
: jalur dimana biner akan disimpan;DEFAULT_PERIOD_HOURS
: ukuran periode default dalam jam (12 adalah angka yang bagus untuk saluran besar. Turunkan angka ini untuk menghindari pemisahan periode, tingkatkan untuk mengurangi jumlah API dan mempercepat pengambilan URL).