Newsgroup: it.comp.software.divx
Titolo: Correggere sunb con Avinaptic

Salve a tutti.
Un piccolo aiuto per favore.
Non riesco a capire come fare per far correggere 
con questo programma le incoerenze che mi dice esserci.
In Timestamps globali : rilevate incoerenze
Ho provato con le opzioni del menù per la
modifica dei sottotitoli ma li salvo e mi rimane
sempre l'indicazione come visualizzato sotto.
Ho scorso con notepad il file srt e 
ho trovata una riga che finisce prima 
che l'altra cominci
00:04:50,873 --> 00:04:51,936
00:04:51,681 --> 00:04:53,310
Come devo fare per correggere automaticamente
il tempo oppure se si può scegliere se correggerle
oppure no ? 
Grazie
[ Info generiche ]
Tipo di file: Sottotitoli SRT
[ Info sulla compatibilità ]
Analisi completata: OK
Numero entries: 588
Terminazione linea: ms-dos
Codifica caratteri: ISO-8859-1
Tags usati: b, i
Max righe per entry: 2
Max lunghezza entry: 58
Entries vuote: 0
Linee superflue: 0
Spazi superflui: 0
Sintassi timestamps: OK
Ultima entry: OK
Numerazione entries: OK
Timestamps per entry: OK
Timestamps globali: rilevate incoerenze
Rapporto generato da AVInaptic (21-02-2007) in data 27 feb 2007, h 15:43:31
-- 
by Xxan
27/02/2007 15.58.46
XanaNews ver.1.18.1.6

 oppure no ? 
attualmente, il programma si limita a rilevare le incoerenze
nei timestamps, ma ancora non permette di modificarle.
Comunque, dato che mi e' stato gia' chiesto almeno di
mostrare in quali entries sono state rilevate le incoerenze,
ho deciso finalmente di aggiungere queste informazioni.
In questo modo non dovrai scorrere i sottotitoli alla
ricerca dei problemi rilevati...
Piu' tardi finiro' di scrivere questa parte ed entro stasera
(penso prima delle 20) rilascero' una nuova versione...
-- 
Home page di Frank: 
http://fsinapsi.altervista.org
Home page di Giubbe e FAQ: 
http://giubbe.altervista.org

On 27-Feb-07 Xxan wrote:
leggi il thread "AVInaptic e contenitore MP4" dove ho
spiegato come puoi farti dire dove sono le incoerenze,
nella nuova versione del programma (27-02-2007)


 nella nuova versione del programma (27-02-2007)
Ti ringrazio e vado a scaricare la nuova versione.
Peccato che abbia scoperto il tuo programma solo adesso
e in maniera anche casuale su di un forum di un sito
web di sottotitoli. Un thread chiedeva il perchè di righe 
con tanti caratteri e come fare a ridurle in maniera veloce
e in una risposta c'era il link al tuo programma.
E ho visto che serve per tante altre cose interessanti.
Posso anche smettere di usare Gspot :)
TnK
-- 
by Xxan
27/02/2007 18.22.39
XanaNews ver.1.18.1.6

 Ti ringrazio e vado a scaricare la nuova versione.
la parte del manuale relativa ai sottotitoli e' abbastanza
completa (delle operazioni attualmente presenti, l'unica che
ancora non ho spiegato e' la "trasformazione lineare dei
timestamps"), quindi ti consiglio di usare quello come
riferimento (il manuale, anche se perennemente incompleto,
si trova nel sito)


 Ti ringrazio e vado a scaricare la nuova versione.
Perfetto :)
TnK
-- 
by Xxan
27/02/2007 19.03.14
XanaNews ver.1.18.1.6

timestamps"
Ciao Frank, ho riprovato l'altro giorno ad usare la trasformazione
lineare per convertire un srt per filmato a 23,967fps nel
corrispondente per 25fps finalmente con risultati accettabili. Ho però
notato che i tempi vanno inseriti in millisecondi e oltre il minuto
tocca convertire i tempi, è cambiato qualcosa nelle ultime versioni
(io ho quella del 12/01/2007)?
Ciao
-- 
Fritz
Togli *ERASE* per rispondere in e-mail.

 (io ho quella del 12/01/2007)?
non e' cambiato niente, e hai perfettamente ragione: dovro' trovare
un modo piu' comodo per inserire i tempi (forse mettendo dei campi
editabili al posto delle etichette "hh:mm:ss").
Se conosci a priori la trasformazione che vuoi applicare, allora
l'inserimento e' abbastanza semplice. Ad esempio, se il problema e'
esattamente quello di cambiare il framerate da 23.976 a 25
(i tempi si devono restringere), allora basta impostare questi
valori:
0 -> 0
25000 -> 23976
In altre parole, in un caso come questo, non siamo interessati ai
tempi espressi in millisecondi; quello che ci interessa sono le
proporzioni tra i valori...
Nel caso piu' generale, se vuoi mappare due istanti su altri due
valori (scoperti con metodi pratici), allora l'interfaccia
attuale risulta scomodissima, perche' ti costringe a calcolarti
preventivamente il numero di millisecondi, oppure a variare il
valore procedendo per tentativi...
Cerchero' di rimediare.
Ciao


Cerchero' di rimediare.
Si infatti è questo il mio caso, prendo un riferimento all'inizio e
uno verso la fine solo che per scrivere in millisecondi 38 minuti e 15
secondi bisogna fare il calcolo 38*60000+15000 per trovare il valore
da inserire. Quando avevi spiegato come andavano riportati i tempi
avevo capito che si dovevano inserire tutti i valori senza separatori
ma quando ho scritto 3815000 mi sono ritrovato un tempo di oltre un
ora. Potrebbe essere più semplice se interpretassi il valore come
scritto secondo il formato hhmmssxxx o no?


 scritto secondo il formato hhmmssxxx o no?
per fare come dici dovrei evitare di usare lo "spin button numerico"
(il campo con le freccine alto/basso) e metterci un campo normale,
poi potrebbe capitare che l'utente inserisca una stringa scorretta...
Non so, ci pensero'...
Tempo fa scrivesti che ti riusciva difficile resincronizzare i
sottotitoli con una trasformazione lineare, perche' i filmati
americano e italiano non combaciavano, a causa di punti in cui
uno dei due aveva pause piu' lunghe dell'altra. Non so se io
abbia spiegato bene il problema...
Io ti dissi che se prendevi i due punti piu' lontani possibili
(all'inizio e alla fine), dato che rimappavi quei due punti nelle
loro giuste posizioni, i sottotitoli dovevano venire sincronizzati
all'inizio e alla fine del filmato, ed eventualmente desincronizzati
"localmente", negli intorni dei punti critici...
Mi e' venuto in mente un possibile metodo per affrontare questo
tipo di problema.
Per prima cosa bisogna individuare tutti i punti critici; se
questi sono troppi, non vale la pena perche' c'e' da fare troppo
lavoro :-)
Se sono pochi, si edita il file di sottotitoli e si salvano tutti
i segmenti limitati dai punti critici. In questo modo si
ottiene un certo numero di file di sottotitoli che si riferiscono
a segmenti diversi del filmato. (Anche se, a partire dal secondo,
avranno una numerazione sbagliata, potranno essere aperti lo
stesso...)
La prossima fase consiste nel resincronizzare, utilizzando
l'opportuna trasformazione lineare, ciascun sottotitolo. Nelle
ipotesi fatte, questa operazione dovrebbe essere possibile,
dando un risultato corretto su ciasun segmento.
L'ultima fase consiste nel rimettere insieme tutte le parti,
cosa che puoi fare con il comando:
copy/b sub1.srt+sub2.srt+... totale.srt
In questo modo ottieni il file totale.srt che avra' una
numerazione non corretta, ma ti bastera' aprirlo e risalvarlo...
Se non sono stato chiaro, cerchero' di spiegarlo meglio.


L'ultima fase consiste nel rimettere insieme tutte le parti,
Si avevo pensato ache io a questa opzione ma visto che comunque ho
ottenuto risultati accettabili mi accontento così.


 una.
se le modifiche di cui parlavo sopra non vanno bene, usero' le textbox,
togliendo le 4 etichette alla destra di ogni valore...


togliendo le 4 etichette alla destra di ogni valore...
Puoi anche lasciarle cosě verrebbe rappresentato il valore impostato
secondo la giusta notazione con i separatori.


 secondo la giusta notazione con i separatori.
faro' cosi'.
Il problema delle 4 etichette e' che queste andrebbero aggiornate ogni
volta che si preme un tasto, solo che, mentre uno sta scrivendo il
tempo, la stringa attualmente inserita non e' ancora sintatticamente
corretta; quindi farei cosi': se la stringa non e' ancora ben formata,
nell'etichetta compare qualcosa del tipo "???". Altrimenti, compare
il tempo nel formato standard.
Quando si preme "Ok", se almeno una delle etichette non riporta il
tempo, si aprira' una finestra che informa che i dati inseriti non
sono accettabili...
Direi che i formati accettabili sono di questi tipi (supponendo di
voler inserire il tempo "01:23:14,000"):
1) 01:23:14,000
2) 01:23:14
3) 012314
4) 012314000
in pratica, a me basta controllare la lunghezza della stringa
attualmente presente nel campo: se e' 12, chiamo il parser del
formato 1), se e' 8, chiamo il parser 2), se e' 6 chiamo il
3), se e' 9 chiamo il 4). Altrimenti, il valore risulta
attualmente indefinito (stessa cosa se uno dei parser fallisce).
In questo modo dovrebbe andare bene, o no?


In questo modo dovrebbe andare bene, o no?
Si ma IMHO ti stai complicando le cose inutilmente, accetta solo come
formato il numero 4, imposti nella textbox la lunghezza massima a 9 e
mentre l'utente scrive tu puoi aggiornare sempre l'etichetta
corrispondente come avviene già ora, cioè alla fine funziona come di
seguito:
TextBox -> Etichetta
1       -> 00:00:00,001
12      -> 00:00:00,012
123     -> 00:00:00,123
1230    -> 00:00:01,230
12305   -> 00:00:12,305
123051  -> 00:01:23,051
1230516 -> 00:12:30,516
ecc.
Così è molto intuitivo per l'utente e nel contempo semplice per te,
poi se delle cifre non corrispondono ad un numero valido per la
posizione puoi mettere i punti interrogativi.


 posizione puoi mettere i punti interrogativi.
perfetto, faccio come hai scritto, grazie.
Dalla prossima versione sara' cosi'.
