[DC] Dreamcast FMV Player in Progress: Riproduzione Video Full Motion su Sega Dreamcast!

La scena homebrew per Sega Dreamcast non smette mai di stupire! Oggi vi presentiamo un entusiasmante proof-of-concept per la riproduzione di video FMV (Full Motion Video) direttamente sull’hardware della console di Sega. Questo progetto dimostra che, nonostante i limiti hardware della Dreamcast, è possibile ottenere una riproduzione video fluida con audio sincronizzato.

Caratteristiche Principali ✅

  • Video: Risoluzione 512×256 in RGB565 a 30fps

  • Compressione: Texture VQ compresse con zlib (raw DEFLATE)

  • Audio: Codifica ADPCM grazie a dcaconv

  • Esecuzione: Direttamente sull’hardware Dreamcast!

Demo 🎥

Non perderti il trailer dimostrativo: JW4 Imagine spot, che mostra la riproduzione in tempo reale su Dreamcast!

Struttura del Progetto

Il toolchain si compone di:

  • pack_dcmv: un packer per frame e audio che utilizza la compressione zlib

  • fmv_play.elf: un player Dreamcast che decomprime e visualizza il video mentre riproduce l’audio ADPCM sincronizzato

  • Strumenti di conversione basati su ffmpeg, pvrtex e dcaconv

Obiettivi del Progetto 🎯

  • Minimizzare l’uso della CPU su Dreamcast grazie al pre-processing di video e audio

  • Sfruttare al massimo l’hardware con texture VQ-compresse e streaming audio per una riproduzione fluida

Come Funziona?

Il processo di conversione e riproduzione segue questi passaggi:

  1. Conversione del video:

    • Estrazione dei frame YUV con ffmpeg

    • Compressione delle texture in formato VQ con pvrtex

    • Compressione dei dati con zlib (DEFLATE)

  2. Conversione dell’audio:

    • Estrazione dell’audio dal file sorgente

    • Codifica in formato ADPCM con dcaconv

  3. Packaging:

    • Creazione del file .dcmv finale che contiene sia video che audio

  4. Riproduzione:

    • Decompressione in tempo reale sulla Dreamcast

    • Renderizzazione delle texture VQ

    • Streaming dell’audio ADPCM sincronizzato

Dipendenze

Per utilizzare questo toolchain sono necessari:

  • ffmpeg (per estrarre frame YUV e audio)

  • pvrtex (per la compressione VQ delle texture)

  • dcaconv (per la codifica ADPCM)

  • zlib (per la compressione DEFLATE)

Come Provarlo?

  1. Modifica convert_to_pvr_fmv.sh impostando il percorso del tuo video sorgente

  2. Regola i parametri come larghezza, altezza, FPS e qualità audio

  3. Esegui lo script di conversione

  4. Masterizza movie.dcmv e fmv_play.elf su un CD o avviali con un emulatore come Flycast

Conclusione

Questo progetto rappresenta un importante passo avanti per la riproduzione di video su Dreamcast, dimostrando che con le giuste ottimizzazioni è possibile ottenere risultati impressionanti. Non vediamo l’ora di vedere come la comunità homebrew potrà espandere e migliorare questo toolchain!

Licenza: GitHub Repository

Restate sintonizzati per ulteriori aggiornamenti! 🚀

Da FRANCESCO

Sviluppatore a tempo perso nato negli anni 80, amante delle console e delle retro console.Il mio motto è quello di aiutare il prossimo senza avere rimorsi di cio' che hai fatto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.