Scaricare Contenuti Bilibili Direttamente in Emby con Tauri e Rust
Chiunque abbia costruito un media server domestico con Emby o Jellyfin conosce questa routine. Trovi un corso utile, un tutorial di sviluppo o una conferenza sul cinese Bilibili, esegui yt-dlp e ottieni un file mp4 senza nome, senza copertina, descrizione o sottotitoli. Poi passi mezz'ora a inserire manualmente i metadati affinché il player mostri correttamente la locandina e le descrizioni degli episodi.
Recentemente mi sono imbattuto nel progetto open-source bilibili-video-downloader. È un client GUI desktop che si occupa di tutto il lavoro tedioso di raccogliere metadati e scaricare contenuti.

Cosa può fare l'app
Il set di funzionalità principali ruota attorno all'idea di "scaricato e immediatamente inviato a Emby." L'app analizza Bilibili ed estrae i materiali nella massima qualità disponibile: 8K, HDR, Dolby Vision con codec AVC, HEVC o AV1. Lo stesso vale per l'audio, inclusi Flac e Dolby Atmos.
Oltre al semplice download di file, l'utility affronta diversi punti critici specifici:
- Generazione di file NFO e download delle copertine. Insieme al video, vengono scaricati poster.jpg e fanart.jpg insieme a un file .nfo contenente la descrizione, così Emby mostra la scheda del film o del corso senza scraper aggiuntivi.
- Conversione dei commenti (danmaku). I commenti cinesi fluttuanti da XML o JSON vengono automaticamente convertiti in sottotitoli .ass standard con caratteri e stili personalizzabili.
- Marcatura dei capitoli e taglio delle integrazioni. Il programma estrae i timestamp dal video e li incorpora come capitoli. Se c'è un'integrazione promozionale nel video, viene contrassegnata come segmento separato tramite il database SponsorBlock, così un player compatibile la salta al volo.
- Modelli di denominazione flessibili. Definisci la tua struttura di cartelle e i nomi dei file usando tag come BV-id, title, part, date e uploader.
Puoi accedere tramite codice QR o Cookie. Questo ti dà accesso alle sottoscrizioni personali, alla cronologia di visione, alla lista "guarda più tardi" e ai contenuti premium se hai un abbonamento Bilibili.
Dettagli tecnici
Lo sviluppatore lanyeeee ha scelto Tauri v2 + Rust per il backend e Vue 3 con Naive UI per l'interfaccia. È una scelta solida: invece di un Electron gonfio con il suo consumo infinito di memoria, otteniamo un binario compatto che gira rapidamente anche su macchine di fascia bassa. I download vengono eseguiti in thread multipli con supporto alla ripresa in caso di caduta della connessione.
Un dettaglio interessante: il progetto include un sistema di plugin sperimentale costruito in Rust. Utilizza librerie dinamiche (.dll, .so, .dylib) che vengono eseguite all'interno del processo dell'applicazione.
Non c'è isolamento o sandboxing qui. L'autore è esplicito al riguardo: l'approccio garantisce ai plugin completa libertà ma introduce rischi di sicurezza. Quindi la raccomandazione è di compilare i plugin autonomamente dal codice sorgente dopo averlo esaminato.
Come compilare il progetto dal codice sorgente
Le release precompilate per Windows e macOS sono disponibili nella scheda Releases su GitHub. Per compilare il binario autonomamente, dovrai avere installato Rust, Node.js e pnpm.
Il processo di compilazione richiede tre comandi da terminale:
git clone https://github.com/lanyeeee/bilibili-video-downloader.git
cd bilibili-video-downloader
pnpm install
pnpm tauri build
Il binario finale si troverà nella cartella src-tauri/target/release/bundle.
A chi è rivolto
Questo strumento è utile per chi memorizza materiali educativi localmente o configura un media server domestico. È anche un buon riferimento per costruire moderne app multipiattaforma con Tauri v2 che gestiscono compiti complessi come l'elaborazione multimediale e la conversione dei sottotitoli.
Progetti correlati