Questa guida è stata verificata solo con versioni obsolete di Ubuntu, potrebbe non essere più valida. Vuoi contribuire ad aggiornarla? Clicca qui!

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

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.

  1. 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);
  2. Salvare il documento con il nome desiderato, ad esempio headermaker e chiudere l'editor di testo.

  3. 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

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

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

  1. 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
  2. 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:

Creazione file .dpg

Ulteriori risorse


CategoryMultimedia CategoryDaRevisionare

Multimedia/Audio/FFmpeg/Dpg (l'ultima modifica è del 23/11/2023 02.40.53, fatta da jeremie2)