Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Il lettore multimediale per consolle Nintendo DS MoonShell è in grado di riprodurre esclusivamente video in formato .dpg. Tale formato non è altro che la fusione di una traccia video mpeg1, una traccia audio mpeg2 ed un file header con le informazioni per la corretta riproduzione dello streaming. Date queste peculiarità risulta impossibile convertire in maniera diretta e automatica un filmato tramite i principali strumenti di conversione audio/video. Questa guida contiene passo passo le operazioni necessarie per l'ottenimento di un file .dpg correttamente eseguibile utilizzando FFmpeg e le informazioni necessarie per ottenere lo stesso risultato con qualsiasi altro strumento di conversione.
Pacchetti necessari
Installare il pacchetto ffmpeg presente nel componente universe dei repository
Preparativi
Prima di cominciare è necessario creare uno script perl per la creazione automatica del file header. Questo file potrà essere posizionato ed eseguito da qualsiasi posizione, tuttavia per motivi di semplicità si consiglia di spostarlo nella cartella contente i video da convertire.
Aprire un editor di testo ed incollare il seguente contenuto:
if($#ARGV!=6){ print "usage: mkheader.pl <totalframes> <fps> <samplerate> <channels> <audiosize> <videosize> <filename>\n"; exit; } open(f,">@ARGV[6]"); binmode(f); print f pack(a4ixCxxiiiiii, 'DPG0', # magic @ARGV[0], # frames @ARGV[1], # fps @ARGV[2], # samplerate @ARGV[3], # channels (0x00 for mp2, 0x0n for n-channel wave) 36, # audio pos (starts right after header) @ARGV[4], # length of audio data 36+@ARGV[4], # video pos (starts after audio data) @ARGV[5] # length of video data ); close(f);
Salvare il documento con il nome desiderato, ad esempio headermaker e chiudere l'editor di testo.
Rendere lo script eseguibile digitando in una finestra di terminale il seguente comando:
chmod +x headermaker
avendo cura di sostituire headermaker con il nome scelto per lo script.
Estrarre la traccia audio
Per estrarre la traccia audio direttamente nel formato compatibile, digitare il seguente comando in una finestra di terminale:
ffmpeg -i input.avi -vn -ab BITRATE -ar AUDIO_SAMPLING_RATE output.mp2
avendo cura di sostituire a BITRATE il corretto valore di audio bitrate e a AUDIO_SAMPLING_RATE il corretto valore di sample rate.
Se non si è sicuri dei valori da utilizzare è possibile utilizzare questi: bitrate=160k samplig rate=32000
Estrarre la traccia video
Per estrarre la traccia video direttamente nel formato compatibile, digitare il seguente comando in una finestra di terminale:
ffmpeg -i input.avi -vcodec mpeg1video -vb BITRATE -aspect 16:9 -s 256x144 -an output.m1v
avendo cura di sostituire a BITRATE il corretto valore di bitrate video.
Il valore massimo di bitrate supportato è di oltre 800k, tuttavia 256k è sufficiente per video di buona qualità meno pesanti.
Creazione headers
Ricavare tramite gli strumenti del proprio file manager (click destro sul file → Proprietà) e annotare le seguenti proprietà dei file audio e video appena creati:
- frames totali del file video
- frames al secondo del file video
- dimensioni file audio in byte
- dimensioni file video in byte
in alternativa è possibile ottenere i dettagli del file video digitando il seguente comando in una finestra di terminale:
ffprobe input.m1v
Creare il file digitando il seguente comando in una finestra di terminale:
./headermaker FRAME_TOTALI FPS SAMPLERATE CANALI DIMENSIONI_AUDIO DIMENSIONI_VIDEO output.bin
avendo cura di sostituire i parametri:
Corrispettivi
Sigla
Valore
FRAME_TOTALI
frames totali del file video
FPS
frames al secondo del file video
SAMPLERATE
il samplerate scelto in precedenza per il file audio
CANALI
il numero dei canali audio, per una traccia stereo inserire 0x00
DIMENSIONI_AUDIO
le dimensioni del file audio in byte
DIMENSIONI_VIDEO
le dimensioni del file video in byte
Creazione file .dpg
Creare il file video risultante digintando il seguente comando in una finestra di terminale:
cat input.bin input.mp2 input.m1v > output.dpg
I file devono essere uniti rigorosamente nell'ordine .bin .mp2 .m1v.