ProjectX reference

Nella TV digitale l'immagine viene compressa utilizzando il ben noto formato MPEG-2, prima di venire diffusa come flusso di dati digitali (MPEG2 transport stream - MPEG-2 TS). Gli MPEG-2 transport streams fanno parte dello standard MPEG-2, però molti apparecchi non riescono a maneggiarli direttamente, poiché la loro struttura è differente dagli MPEG-2 elementary streams che usiamo nei DVD o SVCD. E' a questo punto che entra in scena ProjectX. Opera come un decoder harware MPEG-2 TS , suddividendo il flusso nei suoi vari componenti (MPEG elementary streams come audio, video, e altri dati (per es. teletext)). Mentre suddivide i flussi, ProjectX li controlla anche per vedere se ci sono errori e sincronizza video e audio. Se ProjectX converte il transport stream in un altro formato, non analizzerà e correggerà i flussi in modo così accurato come fa in modalità suddivisione (split mode).

ProjectX supporta i seguenti formati di transport stream

ProjectX è un progetto open source avente scopo educativo e di testing. E' scritto in Java (e da qui proviene il suo look), e viene distribuito solamente come codice sorgente, cosicchè lo dovete compilare da voi, oppure dovete scaricare una versione compilata da questo stesso sito. Potete usare ProjectX in modalità GUI, oppure tramite CLI (commandline; se non sapete che cosa vuol dire CLI, è probabile che non userete mai questa modalità).

Indice

main
files
out
special
video
audio
teletext
extern
options
info

Poiché ProjectX è un programma Java, si avvia in modo un po' diverso da quello al quale siete abituati. Non vi è un file .exe sul quale fare doppio click. Per avviarlo, dovete avere installato il Java Runtime Environment (JRE). Dopo l'installazione, basta fare doppio click su ProjectX.jar e il programma si avvierà.

Pannello info

La prima volta che avviate ProjectX, verrete direttamente condotti all'Info tab, dove dove dichiarare di essere d'accordo con le condizioni d'uso.

Cliccando I agree, potrete passare ad un altro pannello. Ciò creerà tra l'altro un file di inizializzazione (ProjectX.ini) nella stessa cartella nella quale è posizionato ProjectX.jar.



Come potete vedere, ProjectX ha un aspetto alquanto differente da altri programmi ai quali siete abituati. Qualcuno potrebbe apprezzare questo look differente, ma se preferite quacosa di più vicino alle vostre solite abitudini, fate click su Options, poi selezionate com.sun.java.swing.plaf.windows.Windows (è la terza ed ultima opzione) dall'elenco a discesa look & feels.

Pannello main

Nel pannello principale si selezionano i principali e basilari compiti di ProjectX. E' anche il punto di partenza di default, come anche il il posto dal quale si inizia una operazione.

Più flussi possono venire trattati come una singola unità (collezione) e processati assieme. Per far questo, dovrete attivare work with all coll's. Se non attivato, verrà processato solamente quello attivo al momento.

ProjectX può avviare applicazioni esterne. Per abilitare questa caratteristica dovrete selezionare p.exe e configurare i programmi esterni nel pannello options .

Il menù a discesa coll.# elenca le collezioni disponibili. Lo potete usare per muovervi tra le collezioni. I files appartenenti alla collezione che è attiva al momento, vengono visualizzati sulla destra (attualmente sono: c:\capture01.pva e c:\capture02.pva). Il click col destro sull'area nella quale sono visualizzati i files di input, apre un menù dal quale si possono aggiungere o togliere dei flussi, oppure passare ad un particolare menù per collezioni (specials).

Utilizzando lo stesso menù, potete anche inviare i files correntemente selezionati direttamente ad un programma esterno (sendTo CL#3). I files possono anche venire messi con drag and drop dentro la finestra delle collezioni, ma diremo di più a questo riguardo parlando del pannello files.


Al di sotto dei primi due checkbox, abbiamo la directory di input per la collezione al momento selezionata (nell'esempio impostata sul percorso del primo file di input: c:\).

parse MPG as VDR abilita ProjectX a dividere MPEG PS, quando l'informazione AC3 non è definita da un SubID. Questi flussi possono contenere solamente un flusso AC3, ma al momento solo il formato VDR richiede questa opzione. Se ProjectX riporta multipli SubIDs, abilitate questa funzione.

Potete usare la lista a discesa action per definire cosa deve fare ProjectX con un flusso. Può fare il demux del flusso correntemente aperto (collezione), oppure convertire un flusso in un altro formato, per es. in flussi modulari PVA, TS oM2P. Se avete abilitato il taglio nel pannello files, prendete nota del fatto che il taglio viene effettuato solamente in modalità demux. Se è selezionata un'altra azione, ProjectX utilizzerà il primo punto di taglio definito (ammesso che ci sia) come punto di partenza per l'operazione, ma solo se BytPos. for cuts è stato selezionato. Quando vengono convertiti in un altro formato, la presenza di errori nei flussi non viene controllata.

Il campo A/V offset indica l'offset audio / video all'inizio del GOP attivo. Vi sono dei procedimenti per calcolarlo:

a) la differenza tra presentation time stamps (PTS) dell'audio e del video.
b) la differenza nel frame del video e dell'audio al loro inizio.
c) la differenza tra a) e b), in altre parole l'attuale offset.

Il valore di c) dovrebbe essere al massimo la metà della lunghezza di un frame audio (per es.: . 12ms per un MPA a 48kHz , 13ms per un MPa a 44.1kHz e 16ms per un AC3 a 48kHz ).

Il campo audioexport indica lo status della estrazione audio durante l'operazione.

show teletext header infos mostrerà l'intestazione della pagina di teletext attiva, nel caso che venga elaborato un flusso di teletext. I timecodes VPS (Video Program Service ) vengono pure fatti vedere, se la stazione TV li supporta (ORF usa VPS nel teletext digitale).

Una volta configurato ProjectX, premendo Go! verrà avviata la elaborazione. Premendo il pulsante i verrà avviata una veloce analisi sui primi megabytes del flusso atualmente selezionato. Ciò può essere utile al fine di identificare gli IDs del flusso. Questi vengono utilizzato per estrarre flussi PES RAW da un file PVA, usando il pulsante e, o per indicare a TS di elaborare solamente gli IDs del flusso che intendete effettivamente processare. Il procedimento in corso può essere annullato tramite il pulsante C (per Cancel), o messo in pausa tramite il pulsante P (per Pause).

L'illustrazione sotto il pulsante Go! indica il timecode dei dati che si stanno elaborando ed il nuovo calcolo effettuato del bitrate GOP. La riga rossa rappresenta i 9 mbit/s, la riga magenta i 2.5 mbit/s e la gialla (in realtà normalmente non è proprio una riga, poiché i bitrates tendono a mutare), indica l'attuale bitrate del video man mano che il tempo avanza.

Viene mostrata anche la struttura del GOP corrente (appena sopra l'indicazione del bitrate in forma testuale). Il colore ciano segna gli I-frames, il bianco i b-frames e il magenta i p-frames. Se vi è una riga rossa sulla destra (peak hold), il GOP corrente ha più di 15 frames (quando si converte a DVD questo può essere importante, poiché lo standard DVD è limitato a GOP con 15 frames), e se la riga è divisa in due parti, significa che stiamo lavorando su frames interlacciati. Una riga gialla sul bordo sinistro segnala un sequence header esistente. Infine viene anche indicato il numero di MBs scritti.

Nella finestra del log, ProjectX farà apparire informazioni sia all'inizio del procedimento che durante.

La barra di Status indica lo status del processo correntemente attivo, come anche il tempo trascorso e restante.

Infine, il numero nell'angolo in basso a sinistra indica il numero di split se lo split è stato attivato.

Pannello files

Nel pannello files si lavora sui flussi e sulle loro directory. E' anche il luogo dove vengono mostrate alcune informazioni sui flussi.

I flussi che devono stare assieme sono raggruppati nelle cosiddette collezioni. Il primo file in una collezione dovrebbe contenere sempre il video primario oppure, nel caso che si debba lavorare solamente su flussi audio / teletext, il primo file dovrebbe contenere il flusso audio / teletext primario, e solo dopo dovrebbero venire aggiunti altri, separati, flussi audio / ttx.

Potete raggruppare assieme in una collezione qualunque tipo di file video / audio / teletext.

Quando vengono aggiunti dei files, se il secondo file è dello stesso tipo del primo (per esempio PVA), verranno automaticamente raggruppati in una collezione (a meno che non stiate trattando flussi elementari). Tutti i flussi di tipo differente vengono trattati separatamente (sono considerati come flussi secondari). Non sono supportati flussi secondari in formato PVA / TS o video ES e i dati video di questi flussi verranno ignorati.



Il menù a discesa coll# è eguale a quello del pannello main e vi permette di scegliere una collezione. Il pulsante - cancellerà la collezione corrente. Per creare una nuova collezione premete il pulsante +. Premendo il pulsante +< viene pure creata una collezione nuova, con la differenza che tutti i flussi correntemente selezionati presenti nella directory autoload verranno aggiunti automaticamente alla collezione. Per aggiungere alla collezione tutti i flussi correntemente selezionati presenti nella directory autoload, premere il pulsante <.

I files che appartengono ad una collezione vengono mostrati sotto la casella coll# e facendo click col destro in questa zona attiverete il medesimo menù contestuale presente nel pannello main.

Sotto la lista dei files trovate tre bottoni. I primi due (che indicano rispettivamente in alto e in basso), vi permettono di spostare un file all'interno della collezione. Il terzo pulsante (>) cancella dalla collezione il file selezionato.

Abbiamo poi un pulsante + e uno - che possono esere usati per creare e cancellare cartelle di output, che veranno poi elencate nel menù a discesa subito sotto.

Selezionando una cartella nella lista la si assegna alla collezione attiva (la cartella di output di una collezione è scritta al di sopra dei pulsant).



In basso a destra nella finestra abbiamo le cartelle di autoload.

Potete creare o cancellare le cartelle di autoload allo stesso modo delle cartelle di output. ProjectX farà apparire il contenuto di tutte le cartelle di autoload nella lista sulla sinistra. Premere refresh list per fare in modo che ProjectX legga di nuovo il contenuto delle cartelle di autoload.



Se selezionate un file che ProjectX può elaborare, verranno mostrate alcune informazioni su di esso nell'area di notifica al di sotto dell'elenco a discesa delle cartelle:

Il doppio Click sulla sinistra di questa zona di informazione attiverà un editor Hex.

Il doppio Click sulla destra di questa zona di informazione apre una finestra nella quale è possibile editare la prima sequence header.

Si può cambiare l'orizzontale (H), il verticale (V) e il bitrate (BR) della prima sequence header del flusso. Premete change per salvare i cambiamenti, e cancel per annullare.

Diamo ora una occhiata agli specials menu (selezionate un flusso, click col destro e selezionate specials).

In questa finestra si possono sezionare i flussi. L'opzione di taglio è attiva solamente se il flusso è in demux (per cui action nel pannello main deve essere impostata su demux), e solamente collezioni complete possono venire elaborate (ma naturalmente se volete trattare i flussi separatamente potete semplicemente metterli in collezioni diverse).

Utilizzate il cursore sotto la finestra principale per spostarvi nel video e i 4 pulsanti sopra il cursore per un posizionamento più preciso. I pulsanti < e > possono essere usati per andare al precedente e successivo I-frame. Proprio sotto l'immagine vedrete anche alcune informazioni concernenti la risoluzione del flusso attivo, come anche il suo aspect ratio, e la posizione all'interno del flusso. Subito sotto potete vedere il nome del file attualmente attivo. Potete notare come la finestra di anteprima visualizza sempre un I-frame.

Facendo doppio click sulla finestra di anteprima potete salvare in un file bitmap l'immagine corrente.

E' possibile anche navigare all'interno del video utilizzando la tastiera. Fate prima click una volta sul cursore e poi potete usare le seguenti scorciatoie da tastiera:

<- si sposta sull' I-frame precedente
-> si sposta sull' I-frame seguente
Shift -> avanza ad un 1/10 della velocità del pulsante>>
Shift <- funziona come << ma ad 1/10 della velocità
Ctrl -> è lo stesso del pulsante >>
Ctrl <- è lo stesso del pulsante <<
Alt -> funziona come >> ma 10 volte più veloce
Alt <- funziona come << ma 10 volte più veloce
Page up avanza ancora di più
Page down è il contrario di page up
Home va all'inizio
End va alla fine
a aggiunge un punto di taglio
d cancella un punto di taglio
n va al punto di taglio successivo
p va al punto di taglio precedente

Il numero di punti di taglio e la dimensione prevista dell'output può essere osservata appena sotto il cursore. Una volta trovato un punto di taglio, premete add point, e del point per cancellare il punto selezionato (i punti possono essere selezionati dalla casella a discesa a sinistra del pulsante di cancellazione). La lista dei punti verrà disposta automaticamente secondo la posizione in ordine crescente.

Sulla destra della finestra abbiano un paio di opzioni interessanti:

also preview GOPs w/o sequ. header abilita ProjectX a visualizzare GOPs privi di sequence header. E' un'opzione non richiesta / suggerita per flussi DVB. Se attivata ProjectX non salterà automaticamente al prossimo punto di taglio.

La lista PES(&Sub)-ID/PID vi permette di indicare gli IDs del flusso che si intendono elaborare. Col doppio click su un ID nella lista lo si può rimuovere. La selezione può influire anche sull'anteprima (per esempio quando si devono elaborare flussi MPTS). Nel caso di flussi TS, verranno controllati i PIDs predefiniti, fino a trovare dati utilizzabili.

Premendo transfer selected (P)IDs to new coll# potrete creare una nuova collezione e trasferire la preselezione di (P)ID in questa collezione. I punti di taglio non verranno trasferiti.

Premendo transfer cutpoint pairs to new coll# potrete creare una nuova collezione e trasferirvi tutti i punti di taglio dalla collezione attiva. Per poter usare questa opzione e la funzionalità di trasferimento, dovrete abilitare create coll# as subdirectory, al fine di prevenire la sovrascrittura dei settaggi.

Se dei files in una collezione hanno differente risoluzione orizzontale e/o aspect ratio, potete intervenire selezionando H-Resol: / DAR: ed indicare la corretta risoluzione orizzontale nonché l'aspect ratio.

Il successivo menù a discesa vi permette di scegliere fra tre diversi tipi di taglio. Fate attenzione che se non è selezionata l'opzione use BytePos. for cuts, la finestra di anteprima non viene attivata.

E' anche possibile salvare in un file la lista dei punti di taglio, premendo save Cutpoints to file. Allo stesso modo, un file con queste indicazioni può essere caricato premendo load Cutpoints from file e selezionando il file desiderato. Questi files sono in standard ASCII con un punto di taglio per riga. Quando si carica un file di punti di taglio bisogna accertarsi che la modalità di taglio sia la stessa di quando il file era stato salvato.

Una volta configurati i vostri punti di taglio, premete apply per salvare tutto, o apply & close per salvare e chiudere la finestra.

Pannello out

Nel pannello out, si possono indicare ulteriori condizioni e parametri per l'output.

split @ appr. xxx MB Vi permette di dividere l'output in parti di grandezza predefinita (che si può indicare con la lista a discesa una volta selezionata la casella). Se desiderate l'overlap del video potete scegliere un valore di overlap dalla seconda lista a discesa (ricordatevi che, poiché i bitrates del video non sono sempre gli stessi, non necessariamente avrete pezzi che durano lo stesso numero di secondi pur avendo la stessa lunghezza in MBs). Questa funzione si applica a tutti i flussi in una collezione. Lo splitting (taglio) è attivo solamente se la modalità di output è fissata su demux, e solamente se il flusso primario contiene del video.

write all video data e write all audio data farà in modo che ogni flusso video e audio presente nell'input venga scritto nel file di output. Se è disabilito l'output del video, il flusso primario video viene comunque selezionato, ma non esportato.

Tramite settings for main IDs potete indicare lo stream ID per i vostri flussi video e audio che devono sempre essere elaborati. E' preferibile effettuare questa selezione tramite la lista PID nella finestra degli specials.

Se i flussi elementari del vostro input non hanno PTS o se non rimangono in sincronia nonostante la presenza di PTS, la funzione enable offset può essere di aiuto. Questa funzione può ritardare tutti i dati non video di una certa quantità di tempo (che potete indicare non appena selezionato il controllo).

L'offset deve essere indicato in millisecondi. Un valore negativo farà partire prima l'audio, il che significa che alla fine verranno aggiunti dei frame audio vuoti. Un valore positivo ritarda l'audio, inserendo frame vuoti all'inizio del flusso.

Pannello special

Nel pannello tab è possibile configurare condizioni speciali per salvare ed elaborare dei flussi.

dump dropped GOPs to separate files salva GOPs in un file diverso. Opzione utile per effettuare analisi.

create CellTimes.txt for multiple infiles/cuts un file CellTimes.txt se la collezione contiene files multipli, o se si stanno tagliando dei flussi. Questa opzione può essere utile per il successivo authoring DVD (IfoEdit).

Per default ProjectX ignora pacchetti TS che sono segnati come criptati. Se si sospetta che dei pacchetti siano erroneamente segnati come criptati, si può provare a disattivare ignore scrambled packets in TS (std).

don't message 'packets out of sequence' può risultare utile se state ricevendo un mucchio di simili messaggi di errore (cosa che rallenta il procedimento). Selezionando questa opzione si disabilita il log di questi errori.

In maniera analoga, don't message 'missing startcode' ignorerà messaggi di questo tipo. Prendete nota che tanto un elevato numero di pacchetti fuori sequenza, quanto molti messaggi di missing startcode sono indice di un problema serio nella vostra sorgente.

Il Program Clock Reference (PCR) o System Clock Reference (SCR) è una modalità comune di riferimento al tempo, al fine di sincronizzare flussi elementari MPEG-2 ed altri flussi di dati. Abilitando generate PCR/SCR from PTS vengono generate segnalazioni PCR/SCR in relazione alle segnalazioni PTS presenti nella sorgente. Il menù a discesa sottostante permette di selezionare la dimensione dell'offset PTS -> PCR/SCR.

Potete abilitare incTScnt per creare un salto nel contatore di pacchetti TS (prendete nota che ciò genera un flusso non standard, ma qualche volta è necessario).

generate PMT stream dependent crea una nuova Program Map Table (PMT) per un nuovo TS, ottimizzato in funzione del flusso vettore generato. La PMT fa parte delle Program Specific Information (PSI - un gruppo di tabelle aventi scopo identificativo) e contiene informazioni sul tipo di PES in relazione al programma trasmesso.

generate info TTX service(test) aggiunge un flusso di servizio teletex (PID 0x9F) con visualizzazione di informazioni, a scopo di testing.

Per trasmettere un TS a un ricevitore Topfield TF4000 DVB, dovete abilitare add Topfield header to TS.

Abilitando TF-header: set AC3 as main audio track si segnerà un track AC3 come track audio primario. Usare questa funzione per la trasmissione ad un ricevitore Topfield DVB receiver.

Se una collezione contiene flussi PVA multipli, selezionando check for overlapping PVAs on read, si farà in modo che ProjectX confronti in primi 256 bytes di ogni pacchetto con il primo pacchetto del flusso successivo nella collezione. Ciò può risultare utile per accodare le parti in modo preciso fino al byte, ma può ridurre in modo considerevole la velocità di elaborazione (e siccome molte televisioni inviano materiale codificato al volo, non riuscirete probabilmente ad ottenere un prodotto avente tale alta qualità di accodamento).

concatenate different recordings concatenerà flussi registrati in tempi differenti. I flusi devono essere dello stesso tipo (PVA, MPEG-2PS, VDR). Flussi successivi otterranno nuove segnature di tempo PTS se necessario. Ciò si potrà ottenere solo in modalità di demux, e l'input TS non è supportato. Per default ProjectX assumerà che tutti i flussi appartengano alla stessa registrazione, e che siano solamente stati tagliati automaticamente in alcuni punti, e pertanto non farà adattamenti PTS.

rename all MPEG-Audios to *.mpa attribuirà a tutti i file audio MPEG prodotti dal demux l'estensione .mpa.

Allo stesso modo, rename all MPEG-Videos to *.mpv darà a tutti i flussi video MPEG ottenuti col demux l'estensione .mpv.

Se le segnature di tempo PTS appaiono non essere corrette, potete attivare take only first Audio PTS for sync. In questo modo verrà usato per la sincronizzazione solamente il primo audio PTS .

Se le segnature di tempo PTS appaiono non essere corrette, potete attivare limit points of Audio PTS for sync. Si otterrà una sincronizzazione operata solo su alcuni punti.

Se strictly PVA specs. for audio streams è abilitato, ProjectX si atterrà alle specificazioni PVA nella individuazione degli errori. Per alcuni flussi che non hanno lo standard PVA, questa funzione deve essere attivata se si vuole ottenere un audio.

Se solo un flusso contiene errori video PTS, abilitate ignore Video errors after 1st PTS/GOP. In questo modo solo il primo PTS nel primo GOP verrà usato per la sincronizzazione.

toX: ensure 1st PES-packet start with video assicura che durante la conversione il primo pacchetto PES inizi col video. Se si deve solamente esportare un audio PES, disabilitate questa funzione.

Se nel controllare la lunghezza dei pacchetti PES non viene trovato nessun pacchetto perché non vi è il codice di inizio MPEG, disattivando get only enclosed PES packets può migliorare il lavoro. Se questa opzione è attiva, vengono elaborati solamente i pacchetti PES successi (applicabile solo ad input PES, VDR e MPG).

Se non viene scritto un flusso MPEG audio, e non è possibile sistemare il PTS tra video e audio, global PTS shift (in hours) può aiutare. Provate prima l'audio e se non funziona ancora, provate selezionando un valore.

Pannello video

In questo pannello potete selezionare se un nuovo video bitrate per l'output debba essere fissato / calcolato e, nel caso, come debba essere calcolato. Inoltre si possono configurare molte correzioni e manipolazioni del flusso video.

Non dovreste di solito modificare il vbv buffer, ma per alcuni players può risultare vantaggioso se il video playback non è omogeneo.

La stessa cosa si può dire del vbv delay.

Il menù a discesa aspect ratio, permette di modificare il rapporto di visualizzazione dell'output. Usatelo con attenzione, altrimenti l'output video risulterà distorto.

Se add sequence end code è attivato, la sequenza viene chiusa in conformità allo standard MPEG-2. Ciò di solito avviene alla fine del file.

patch all frames to progressive, o il suo cugino patch all frames to interlaced, può venire usato per correggere flags errati presenti nella trasmissione. Fate però attenzione, perché dei valori sbagliati nel flag possono produrre un playback distorto o nulla del tutto.

change field order può risultare utile nel caso che il video sia stato codificato incorrettamente. Di solito il video dovrebbe avere il top field per primo (field A), eccetto che per il video DV, dove il bottom field per primo (field B) è di default. Abilitando quesa funzione invertirete l'ordine della sequenza corrente.

ensure each GOP has a sequence header assicura che ogni GOP abbia un sequence header (ciò è di default in DVB).

Alcuni programmi di authoring DVD non lavorano bene con le risoluzioni usate nelle trasmissioni in DVB. Per imbrogliarli e far loro accettare il vostro flusso DVB, potete cambiare la risoluzione video nella prima intestazione video, abilitando patch 1st h-res. Ricordatevi però che prima di avviare l'authoring dovrete rimettere l'header nel suo valore originale, per prevenire problemi di playback (saltelli, video verde). Selezionate ever per modificare sempre la risoluzione orizzontale, e digitate la risoluzione desiderata tramite la lista a discesa. In alternativa potete usare if <> 352|720, che aggiusterà la risoluzione solo se la fonte non ha una risoluzione di 352 o di 720 pixels. Egualmente, if <> 352|704|720 aggiusterà la risoluzione orizzontale nel caso che non sia di 352 o 704 o 720 pixels.

bitrate values per sequence: keep original non modifica il bitrate indicato nell'header video della fonte. computed from GOP bitlength fa in modo che venga ricalcolato il bitrate in base alla lunghezza di un GOP. Se volete che il bitrate video venga ricalcolato in base ai dati VBV, selezionate computed from VBV. mark as VBR (MPEG-1 video) segnerà ogni flusso MPEG-1 come flusso VBR. Infine, potete scegliere un bitrate fisso dalla lista.

Concludendo, abbiamo bitrate value in the first sequence (header): keep original. Manterrà il bitrate originale della fonte. computed average (nominal) utilizza il bitrate medio dell'intero flusso, cosa che può essere utile se un codec calcola la lunghezza di un flusso basandosi sulla prima sequenza. computed maximum <= 9.8 Mbps(DVD) è utile per multiplexers che calcolano la necessaria dimensione del buffer basandosi sulla prima sequenza (questo dovrebbe essere il vostro default quando avete intenzione di trasferire successivamente il DVB su un DVD-R). computed maximum (e.g. HDTV) è la stessa cosa, ma allenta i requisiti del bitrate massimo (i DVDs devono avere un massimo di 9.8mbit/s di bitrate per flussi video, HDTV può avere fino a 80 MBit/s). mark as VBR (MPEG-1 Video) segnerà i flussi MPEG-1 come VBR.

Pannello audio

In questo pannello potete configurare cambiamenti e manipolazioni per i flussi audio.

ProjectX può convertire flussi audio MPEG senza perdita di qualità se l'input è di 48 kHz e il bitrate tra i56 - 384 kbit/s. no conversion lascia l'audio com'è, single to dual(ch.A=original, B=quiet) converte da mono a stereo (il canale mono viene mappato nel primo canale stereo e il secondo stereo rimane muto e così si limita l'aumento di bitrate). single to stereo (L+R = original) converte da mono a stereo. Entrambi i canali stereo contengono lo stesso audio e pertanto il bitrate audio si raddoppia. single to jointstero (L+R = original) trasforma un mono in joint stereo, per cui entrambi i canali contengono le medesime informazioni. Grazie al join stereo l'incremento di bitrate è contenuto.

Convertire in joint stereo può essere utile per quelle stazioni TV che cambiano di frequente formato audio. Se la fonte contiene già due canali, l'audio non viene toccato. Infine, split 2 channel into 2 single (1=L,2=R) divide uno stereo / joint in due frame mono. Può essere utile se l'originale era in mono, ma trasmesso come stereo.

Se selezionate decode MPEG Layer1,2 to PCM, l'audio MPEG layer 1/2 viene decodificato e scritto in formato PCM. In tal modo viene creato un file con due canali PCM indipendentemente dall'originale.

Potete usare l'elenco a discesa sotto il checkbox del decoding per modificare la frequenza quando si decodifica in PCM. La ricampionatura lineare da 48 kHz a 32 kHz riduce la frequenza a 32 kHz, mentre la ricampionatura lineare da 48 kHz a 44.1 kHz la riduce a 44.1 kHz.

Nel decodificare potete anche aumentare il volume del segnale audio selezionando amplify by factor, ed immettendo un valore. Valori tra 0 and 100 non cambiano il volume, ma valori superiori a 100 portano ad un aumento del volume (valore - 100). Pertanto se settate il fattore a 150, il volume verrà aumentato del 50%. Prendete nota che un aumento globale del volume nonn è molto una buona idea, poiché non potete sapere in anticipo l'ampiezza del segnale originale. E' meglio lasciar fare questo lavoro ad una utility che può controllare l'originale prima di applicarvi un fattore di amplificazione (BeSweet lo può fare).

downmix output as one channel trasforma il segnale in mono mentre lo decodifica.

save in Motorola byte order cambia l'ordine dei byte per sistemi non Intel/x86 systems. Può essere utile per sistemi Mac o Unix.

add RIFF(RIFX) header to PCM (.wav) aggiunge un header al file RAW PCM, rendendolo compatibile con la maggior parte dei media players su Windows. L'header RIFF serve per l'auto-identificazione e per l'indicazione della grandezza del file. Notate che i files RIFF WAV possono essere al massimo di 4 GB.

delete CRC in MPEG-Audio Layer 1,2 rimuove dati CRC (Cyclic Redundancy Check) esistenti da un flusso audio MPEG. Ciò può aiutare nel prevenire alcuni messaggi di errore di ProjectX, ma funziona solamente con MPEG Layer 1 or 2 (che è comunque quello che la maggior parte delle stazioni TV usa).

Se fill gaps with prev. frame viene attivato, ProjectX utilizzerà l'ultimo frame audio valido al posto di uno corrotto. Ciò permette di creare impercettibili collegamenti di brevi interruzioni del flusso audio. Se non viene seleazionato, ProjectX immetterà invece un frame di silenzio.

Se add frames è selezionato, ProjectX inserirà frames audio alla fine del flusso qualora ciò sia richiesto. Questo per far sì che audio e video siano della medesima lunghezza.

replace all not-3/2 AC-3 by 3/2lfe silence abilita la sostituzione di frames 2ch AC3 con frames 5.1. Richiede però un appropriato AC3.bin.

patch 1st AC-3 header to 3/2 mode marca il primo frame AC3 come frame 3/2 (5.1ch). I software di decoder cercheranno di creare 6 canali, anche se i frames seguenti ne hanno meno. Ciò può risultare utile se il formato audio cambia all'interno del flusso.

Se un flusso AC3 deve venire integrato in un file AVI, selezionando add RIFF WAVE header to AC-3 audio aggiungerà l'header appropriato al file AC3, cosicché possa venire integrato (notate che i programmi attuali capaci di fare il mux AC3 in AVI, non richiedono più questo header).

add RIFF WAVE header to MPEGAudio fa la stessa cosa, ma per flussi audio MPEG. Assicuratevi di avere selezionato il tag del layer appropriato (Layer1,2 riceve un tag 0x0050 - BWF / Broadcast Wave Format, Layer 3 ha un tag 0x0055 (ACM Wave Format / Audio Compression Management))

Infine, discard every xxx Audioframe può essere usato per scartare frames audio a intervalli regolari. E' una opzione applicabile solo a flussi elementari.

Pannello teletext

Nel pannello teletext potete configurare dei settaggi per il decoding delle pagine di teletext.

export MegaRadio MP3-stream (from NBX/Giga Teletext) abilita l'estrazione di flussi MP3 dal servizio di teletext della NBC / GigaTV. Questa funzione non viene più sviluppata.

Il menù a discesa 6 vi permette di indicare le pagine di teletext da esportare. Potete esportare fino a 6 pagine per volta. Lasciando vuoto il menù a discesa, nessuna pagina viene estratta.

Dovete poi selezionare un subtitle export formats: free è un formato di solo testo, SC è il DVD Subtitler Creator Format (sono supportati timecount e multilines), SUB è il formato VobSub (sono supportati timecount e multilines), SRT è il formato di testo SubRip (sono supportati timecount e multilines), STL è il formato dei sottotitoli Spruce (Maestro, sono supportati timecount e multilines), SSA è il formato Sub Station Alpha Format v4, che include il supporto del colore, e SUP è formato di sottotitoli compilati che viene usato da programmi come IfoEdit.

Nel caso del formato SUP, dovrete sistemare il file IFO utilizzando i seguenti codici in VTS_PGC_1 Colors: 0(10,80,80) 1(EA,80,80) 2(8C, C3, 69) 3(89,1E,32) 4(9A,78,AD), 5(CF,93,0B) 6(A4,0B,a7) 7(9B,B8,AC) 8(AB,AD,71) 9(C5,5A,62) 10(9A,78,AD) 11(B5,A5,9E) 12(80,80,80).

decode hidden rows (0xFF); Di solito non raccomandato. Può essere usato per decodificare pagine di sottotesto nascoste o inattive.

Nel caso dell'esportazione in SUP, potete configurare il formato dell'output usando i settings for SUP format only. I valori nel campo Val contengono i seguenti. I valori tra parentesi indicano valori supportati.

Font size (24 - 32), Alpha background (trasparenza del rettangolo del sottotitolo sul background - 0 - 15), Y offset (distanza tra l'ultima riga del sottotitolo e il bordo inferiore), X offset (distanza tra il sottotitolo e il bordo sinistro), X width (dimensione del rettangolo del sottotitolo), H (inutiliizato), V (risoluzione verticale del file sorgente), Y offset 2 (distanza tra l'ultima riga del sottotitolo e il bordo inferiore - utilizzato per il secondo file di sottotitoli. -1 = inattivo, 96 = zoom formato lettera).

Potete anche selezionare un font e premere show Subtitle Preview per vedere un'anteprima dei valori correntemente selezionati.

Pannello extern

Nel pannello extern, potete configurare applicazioni esterne che ProjectX può avviare, come anche indicare dei settaggi per queste applicazioni.

Selezionando Mpeg2Schnitt idd version V2/A3 verrà creato un file index per Mpeg2Schnitt, applicazione deputata al taglio di MPEG-2, mentre ProjectX sta facendo il demux. Ciò velocizzerà l'importazione dei file in Mpeg2Schnittdopo il demux. Tutti i formati di input, eccetto il teletext, sono supportati, e verrà creato un file indice per ogni spezzone tagliato.

Se progettate di codificare il video dopo il demux, l'opzione create *.d2v Projectfile on demux: può risultare utile, poiché permette di creare progetti DVD2AVI durante il demux. Potete creare o un progetto DVD2AVI per ogni file di output (for each demuxed videofile), oppure un unico progetto DVD2AVI, indipendentemente dalle separazioni (auto split video, but keep as one project). Quest'ultima opzione non dividerà il file audio.

Se lo volete, potete anche indicare un valore per la grandezza degli spezzoni per il progetto DVD2AVI in -> split only video at xxx MB: .

Abbiamo infine la configurazione di DVD2AVI. Potete trovare il significate di questi parametri nella homepage di DVD2AVI .



Premendo sul dialog delle applicazioni esterne potrete vedere la seguente schermata di configurazione:

I programmi indicati nelle prime tre righe possono essere direttamente avviati tramite il pulsante exec.

I comandi post possono essere usati per lanciare un programma esterno dopo che è terminato l'appropriato procedimento. Per esempio, inserite nella prima riga il programma che deve essere avviato dopo il demuxing. Ecco alcuni esempi:

demux: "<path>mediaplayer" avvia media player
demux: "<path>mediaplayer ?0" avvia media player con tutti files del demux come parametri
demux: "<path>mediaplayer ?1" avvia media player con il primo file del demux come parametro d
demux: "<path>mediaplayer ?2" avvia media player con i primi due file del demux come parametri

Ricordatevi che perché questo possa funzionare, l'applicazione che avviate deve supportare parametri nella riga di comando.

 

Pannello options

Nel pannello delle opzioni potete indicare configurazioni globali per ProjectX.

Dovreste già conoscere installed look & feels. MetalLookAndFeel e MotifLookAndFeel (Sun Solaris look) sono sempre a disposizione, il terzo dipende dal vostro sistema operativo.

big logfile dovrebbe essere usato solo a scopo di test, poiché genera un grande file di log, la cui creazione rallenta considerevolmente ProjectX.

Selezionando normal log file si scriveranno tutti i messaggi della finestra di log in un file di log.

starting path for file selection indica dove ProjectX punterà il file browser quando dovete scegliere un file di input.

append new file extensions (PES) farà ???

main I/O-Buffersize in bytes può essere usato per modificare l'ampiezza del buffer per il file processing. Riducendo questo valore si possono prevenire overflows nella memoria, poiché Java predispone solo una certa quantità di memoria per default. Valori da 1 MB fino a 10 MB sono possibili, però potete anche inserire un altro valore (purché intermedio tra questi due estremi)

The I-Buffersize in bytes (only PES packetsize=0 !) dovrebbe essere aumentato se ricevete un mucchio di errori "missing next startcode (packetsize0)".

pre-Scan Buffersize in bytes indica la grandezza del buffer per il pre-scan (importando files, ProjectX fa lo scan di una parte del file per determinare parametri e substreams).

Questo è tutto gente. Molte grazie a Lucike per avermi permesso di tradurre il suo ProjectX reference document.

 

Aggiornato l'ultima volta il 6 maggio 2004
Tradotto da santerochi il 20 giugno 2004.