Newsgroup: it.comp.software.divx
Titolo: Convertire formato sottotitoli,si può??

Salve,ho un film con sottotitoli .sub ma non riesco a farli leggere sul mio
nortek 110...c'è un programmino che converte i file .sub con .srt o .txt?
Grazie
Angelo



SubRip ti permette di aprire il file e trasformarlo in un altro formato
Vash
-- 
Can't Be Stop!

 nortek 110...c'è un programmino che converte i file .sub con .srt o .txt?
per file .sub intendi quelli creati da VobSub? se e' cosi', per poterli
convertire in formato testo, devi passare attraverso una qualche tecnica
di OCR; il programma di riferimento che ti consente di fare cio' si chiama
"SubRip" (cercalo con google)
io stesso ho iniziato a scrivere un programma analogo (visto che SubRip
non e' stato mai portato sotto linux e che ne avevo bisogno...); il mio
programma si chiama "VobsubOCR", lo compilo sia per linux che per windows,
ma presumo che sia a uno stadio abbastanza arretrato rispetto alle features
del piu' maturo "SubRip"; comunque, se vuoi provarlo, lo trovi su questa
pagina: 
http://fsinapsi.altervista.org
 (nella sezione "Codice");
nell'archivio tar.gz ho messo anche alcuni risultati che ho ottenuto con
il programma; nel fine settimana spero di poter apportare diversi
miglioramenti, purtroppo ora ho molte cose da sbrigare...
il nortek 110 legge i file srt ma bisogna usare alcune precauzioni, qui
di seguito ti copio un file che ho scritto appositamente per usare il
mio programma con l'obiettivo di creare sottotitoli per il nortek 110:
--------------------------------------------------------------------
In questo file vengono spiegati alcuni dettagli sul modo in cui
funziona il supporto ai sottotitoli nel lettore stand-alone DVD/DivX
Nortek NDVX-110.
Tale lettore supporta il formato di sottotitoli srt e questo è
proprio uno dei motivi principali per cui ho deciso di scrivere
questo programma.
Vediamo adesso, una ad una, le caratteristiche più rilevanti di tale
supporto.
Anomalie nella riproduzione dei sottotitoli srt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Con alcuni film mi è capitato che il Nortek, nonostante abbia in
precedenza accettato la selezione di un file di sottotitoli, non
mostrasse le entries, o ne mostrasse solo alcune. Ho trovato, però,
che premendo il tasto "SUBTITLE" sul telecomando due volte, la
riproduzione dei sottotitoli diventa regolare. Alla prima pressione
il Nortek mostra sullo schermo la scritta "SUBTITLE OFF", alla
seconda "SUBTITLE 1/1".
Set di caratteri
~~~~~~~~~~~~~~~~
Il set di caratteri utilizzato dal Nortek è esattamente ISO-8859-1
(ISO-Latin-1) e questo è il motivo per cui anche il programma adotta
tale set di caratteri. I caratteri di tale set vengono tutti mostrati
senza problemi: lettere accentate (sia minuscole che maiuscole),
lettere con umlaut, simboli, ecc.
Tag <i> (italic)
~~~~~~~~~~~~~~~~
Mentre molti players per PC supportano i tag <i> rendendo il testo
marcato in caratteri italic (corsivo), il Nortek non solo non
supporta tale feature, ma non toglie neppure i tag dal testo, quindi
li mostra come se fossero parte del testo.
Terminazioni di linea
~~~~~~~~~~~~~~~~~~~~~
Il Nortek accetta solo file srt che abbiano terminazioni di linea
di tipo MS-DOS, cioè CR+LF (Carriage Return seguito da Line Feed).
Il programma VobsubOCR, pertanto, salva già i risultati aderendo a
tale convenzione.
Numeri di versione ISO-9660
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il Nortek accetta solo file srt su tracce ISO-9660 che abbiano il
"numero di versione". Il problema nasce con l'utility "mkisofs",
diffusa soprattutto su sistemi Linux, la quale costruisce le
tracce senza tale numero (quantomeno utilizzando l'opzione -J, che
serve ad attivare le estensioni "Joliet"). La soluzione che uso io
consiste nell'appendere ai nomi dei file dei sottotitoli il
suffisso ";1" prima di masterizzarli, e in tal modo i sottotitoli
vengono accettati dal Nortek.
Ringrazio vivamente Alberto del Ng it.comp.software.divx per avere
scoperto e divulgato questa soluzione.
Bug "ultima entry"
~~~~~~~~~~~~~~~~~~
Il supporto del Nortek manifesta il seguente errore: l'ultima entry
di un file di sottotitoli resta visualizzata sullo schermo fino alla
fine della riproduzione del filmato.
Facciamo un esempio per chiarire meglio.
Supponiamo che un file di sottotitoli contenga una entry con i
seguenti timestamps:
01:24:33,119 --> 01:24:35,649
e supponiamo che il filmato sia lungo un'ora e quaranta minuti.
Se tale entry fosse l'ultima del file dei sottotitoli, allora,
durante la riproduzione, nell'istante 01:24:33,119 comparirebbe
la scritta sullo schermo e ci rimarrebbe fino alla fine della
riproduzione; questo è ovviamente sbagliato, perché la scritta
dovrebbe scomparire all'istante 01:24:35,649...
Se però esistesse una entry successiva, con i seguenti timestamps:
01:28:03,999 --> 01:28:05,749
Allora la scritta precedente scomparirebbe correttamente
all'istante 01:24:35,649 (e non all'istante 01:28:03,999 che è
quello in cui compare la scritta successiva).
Un modo per ovviare a tale bug, è quindi quello di appendere al
file di sottotitoli una entry fittizia, con i seguenti timestamps:
59:59:59,998 --> 59:59:59,999
e con testo vuoto.
In tal modo, l'ultima entry scomparirà al momento previsto.
Il programma VobsubOCR, quando salva i risultati, appende
automaticamente una entry fittizia come quella descritta. Questo
stratagemma risolve il bug del Nortek e non comporta comunque
problemi ad altri lettori per PC (almeno, non che io sappia).

 pagina: 
http://fsinapsi.altervista.org
 (nella sezione "Codice");
Ah Frank, ti volevo fare i complimenti! Sono rimasto molto affascinato
dalla tua idea e dal tuo programma.. Appena ne ho la possibilità provo la
versione per windows che hai detto che preparavi. Sono molto interessato a
leggere qualcosa pure sul tuo TreeP (scritto giusto? controllo. Sì) però
hai detto che non hai nessuna guida pronta.. Ciao ciao 


 "SubRip" (cercalo con google)
Grazie Frank...tutto spiegato nei minimi dettagli!!!
Vado subito a fare una prova! ;-)
E grazie anche a Vash!! ;-))
Ciao Angelo 

 Ciao Angelo
Uh guarda ho riletto il post.. Piů acido non potevo essere! Scusa ;P


 hai detto che non hai nessuna guida pronta..
nessuna guida. occorre piu' tempo per scrivere documentazione che
a programmare...
c'e' un vecchio documento che scrissi alcuni anni fa ma non serve a
molto (dipende anche da te)
cmq, se sei interessato, vedro' di mettere sul sito un pacchetto
comprendente: compilatore, esempi di programmi e un piccolo tutorial
che spieghi come compilare gli esempi e anche qualcosa su come
funziona il linguaggio; devi solo portare un po' di pazienza :-)

 per windows,
Nell'ultima versione, in pratica, sbaglia pochissimo.
Direi che va più che bene. ;)
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
Il riposo è una buona cosa, ma la noia è sua sorella. - Voltaire

 funziona il linguaggio; devi solo portare un po' di pazienza :-)
Passa passa! Leggo molto più che volentieri! Fammi sapere


 "SubRip" (cercalo con google)
Ieri sera ho provato ad usare subRip ed è andato tutto bene ma son curioso 
di provare il tuo programmino...nelle prossime ore darò un occhiata! ;-))
ciao Angelo ;-) 

 sovrapposte è stupenda,
non ho capito a cosa ti riferisci :-)
intendevi l'idea di disambiguare i casi in cui la stessa forma puo'
essere interpretata in due modi diversi?
il caso piu' frequente in assoluto e': I/l
(nella maggior parte dei sottotitoli, la "I" e la "l" hanno la stessa
identica forma)
ma forse tu intendevi un'altra cosa...

 di provare il tuo programmino...nelle prossime ore darò un occhiata! ;-))
fammi sapere se ti mancano delle dll, e ti diro' dove prenderle...
anzi, te lo dico subito: le dll che servono sono queste:
SQLITE3.DLL
CYGPNG12.DLL
CYGZ.DLL
CYGJPEG6B.DLL
LIBGTK-0.DLL
LIBINTL-1.DLL
LIBGMODULE-2.0-0.DLL
LIBGMP.DLL
LIBGDK-0.DLL
LIBGLIB-2.0-0.DLL
INTL.DLL
ICONV.DLL
LIBFREETYPE-6.DLL
CYGWIN1.DLL
e le trovi tutte dentro *vari* zip scaricabili da qualche parte nel mio
sito (molte sono nella sezione "mjpeg2divx");
purtroppo un paio di zip contenenti dll sono abbastanza voluminosi
(circa 1 MB l'uno)
domattina cerchero' di fare un po' di ordine :-)

di molti caratteri che "invadono" lo spazio di quelli adiacenti...
:蚤 non mi son spiegato bene per niente scusami


 :蚤 non mi son spiegato bene per niente scusami
ah, si', ora ho capito.
in realta' non sono del tutto soddisfatto del modo in cui ho
affrontato il problema della corretta individuazione dei caratteri:
ogni tanto il programma "fonde" due caratteri vicini in modo
ingiustificato... infatti questo e' uno degli aspetti che vorrei
migliorare, anche perche' non gli ho dedicato molto tempo;
per quanto possa sembrare strano, la maggior parte degli sforzi li ho
dedicati al problema della individuazione degli spazi tra le parole,
e tuttavia non ne sono ancora soddisfatto! :-)

 domattina cerchero' di fare un po' di ordine :-)
Ciao,ho provato,sono riuscito a trovarne alcune di .dll ma mi sono 
inchiodato a questa:
CYGJPEG6B.DLL
Aspetto che metti un po di ordine ;-p
Grazie Angelo :-) 

 Aspetto che metti un po di ordine ;-p
ok, devo ancora finire di sistemare pero' ho gia' messo
la libreria che ti manca; la trovi selezionando:
Codice -> VobsubOCR -> "Richiede alcune librerie dinamiche
scaricabili da qui."
a questo punto ti trovi in una pagina "DLL per Windows"
dalla quale puoi scaricare le librerie che ti mancano.
piu' tardi ti mando una brevissima guida su come utilizzare
il programma
ciao

 il programma
rieccomi qua.
la prima cosa che va detta e' che per questa prima versione
del programma avevo intenzione di arrivare presto a qualche
risultato e quindi ho implementato un tipo di riconoscimento
basato esclusivamente su confronti con forme precedentemente
memorizzate in un database;
questo vuol dire che all'inizio parti da un database vuoto
e che il programma non puo' riconoscere alcun carattere;
sarai tu a inserire il corretto valore della forma corrente
(quella visualizzata in blu); tale valore viene memorizzato
insieme alla forma nel database, dopodiche' verra' usato per
riconoscere le forme successive...
in pratica il "metodo" da usare e' questo:
(1)
lanci il programma
(2)
carichi dei sottotitoli
(3)
premi Shift+F5
(4)
il programma ti mostra una forma in blu, quindi inserisci il
testo corretto che corrisponde a quella forma e batti "enter"
(o clicchi sull'icona con il floppy); in questo modo il testo
verra' memorizzato nel database insieme alla forma;
(5)
torni al punto (3), finche' tutte le forme sono state
interpretate; quando il riconoscimento e' terminato,
selezioni il menu "File->Salva in formato srt"
tutto qua.
pero' occorre stare attenti ad alcuni particolari:
e' possibile associare alla stessa forma piu' di un valore;
questo si rende necessario perche' effettivamente ci possono
essere forme che hanno intepretazioni diverse a seconda del
contesto; il caso piu' tipico e' quello di "I" e "l", che
spesso sono rese con la stessa forma;
quando la forma corrente e' presente nel database (con uno
o piu' valori), l'icona del cestino risulta attivata:
cliccando su di essa, il programma informa quanti valori sono
attualmente associati a tale forma e chiede conferma di
cancellazione di tali informazioni dal database;
a volte capita di inserire un testo sbagliato; in tali casi
occorrera' cliccare sull'icona del cestino, confermare la
cancellazione, e provvedere a inserire nuovamente il testo
corretto;
quando una forma ha piu' di un valore associato, durante il
riconoscimento si genera un conflitto; attualmente il programma
puo' trattare solo due tipi di conflitti (i due casi ambigui
"I" vs "l" e "O" vs "0"); in tutti gli altri casi, e' molto
probabile che alla forma sia stato associato un valore
sbagliato, quindi il modo per sbloccare la situazione e'
quello di cancellare la forma dal database e reinserire il
valore corretto;
il valore numerico (85) che compare accanto all'icona del
cestino e' una soglia che indica la percentuale minima di
sovrapposizione tra due forme affinche' vadano considerate
come la stessa forma; nella parte teorica su cui e' basato
il programma ho definito "indice di sovrapposizione" di
due forme il rapporto tra l'area dell'intersezione delle due
forme e l'area dell'unione; dato che l'intersezione e'
sempre inclusa nell'unione, ne segue che tale indice e'
sempre un numero compreso tra 0 e 1;
in pratica, l'utente puo' alzare o abbassare tale soglia a
piacere: una soglia piu' alta comportera' una precisione
maggiore (ma anche una maggiore interazione da parte
dell'utente) e viceversa.
resta solo un'ultima cosa da dire:
i casi intrinsecamente ambigui (tipicamente il conflitto
tra "I" e "l") vengono demandati a un pezzo del programma
che ho chiamato "supervisore lessicale": questo modulo,
quando vede un conflitto, analizza il contesto in cui si
e' verificato, e, utilizzando alcune conoscenze lessicali
(valide perlopiu' per italiano, inglese e forse altre
lingue) sotto forma di un albero logico a regole, tenta di
disambiguare il conflitto a favore della intepretazione
che pare essere la piu' probabile;
di solito questo meccanismo funziona bene, anche se
esistono casi (specialmente in italiano) in cui le regole
non sono sufficienti e l'intepretazione scelta e' quella
sbagliata (vedi la directory "risultati" dentro al file
tar.gz).
un punto importante da tenere presente e' questo:
se stai inserendo il valore corretto di una "I" o una "l"
per la prima volta, chiaramente tu sei portato a inserire
solo uno dei due valori (quello che e' corretto in quel
contesto); facendo cosi', pero', quando in seguito il
programma si imbatte nella stessa forma in un contesto
diverso (dove dovrebbe essere interpretata in modo diverso),
non sorge alcun conflitto, e il programma interpreta
quella forma sempre con lo stesso valore (il primo che hai
inserito); per risolvere questo problema, potrei fare in
modo che, ogni volta che l'utente inserisce il valore "I"
o "l" inserisca automaticamente anche l'altro; ma questo non
e' solo brutto ma anche sbagliato, perche' in alcune fonti
le due lettere sono rese con forme diverse! quindi deve
essere l'utente ad accorgersi che la stessa identica forma
viene usata per entrambe le lettere, e in tal caso, inserire
entrambi i valori nel database (va notato che l'inserimento
di entrambi i valori nel database e' l'unico modo per
innescare il supervisore lessicale...)
per ora e' tutto :-)
se hai/avete problemi o qualsiasi altra considerazione,
fatemi sapere.

 ha scritto nel messaggio 
news:Jw4Nd.17522$QG6.2...@twister2.libero.it...


 directory preimpostata
Si naviga attraverso le directory con i doppio clic nella parte sinistra
della finestra che si apre con "carica sottotitoli". Dov'è la
difficoltà?
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
Se il naso di Cleopatra fosse stato più corto, sarebbe cambiata l'intera
faccia della terra. - Blaise Pascal

 directory preimpostata,
boh... in teoria dovresti riuscire a selezionare qualsiasi file dentro al
tuo filesystem...
per pigrizia ho usato il browser del filesystem fornito dal toolkit
grafico, e, per di piu', la versione windows e' stata riadattata da
Tor Lillqvist (il tizio che si occupa del porting windows di gtk+/gimp)
perche' il filesystem DOS/Windows glie' un po' strambo (usa lettere
C: D: ecc come root di filesystem relativi a diversi drive...);
tuttavia, cliccando sulle righe della lista a sinistra, ti dovresti
poter spostare tra le directory, e cliccando sulla lista a destra
dovresti riuscire a selezionare il file che ti interessa...
devo scrivere un browser piu' facile da usare? :-)

 della finestra che si apre con "carica sottotitoli".
ah, dimenticavo, per tornare alla directory "madre" (la directory che
contiene quella su cui siamo attualmente), la entry da selezionare
e' ".."

 devo scrivere un browser piu' facile da usare? :-)
In effetti risulta un po scomodo navigare tra le directory...o magari è solo 
questione di abitudine :-)
Ciao Angelo :-) 

 devo scrivere un browser piu' facile da usare? :-)
No, però non sarebbe male avere una configurazione da salvare anche con
le directory di lavoro come hai previsto con Mjpeg2Divx.
Ah, un amico mi chiede che codec deve installare per vedere i filmati
codificati con Mjpeg2Divx (li vede a scatti). Io gli ho detto che
l'ffdshow dovrebbe bastare. Giusto?
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
Un ufficio governativo è la migliore approssimazione all'immortalità
esistente sulla terra. - James Francis Byrnes

 l'ffdshow dovrebbe bastare. Giusto?
con ffdshow dovrebbe vederli con lo stesso codec con cui sono stati
fatti e quindi sarebbe la scelta nmigliore; avevo gia' letto di altri
codec che non riescono a leggere bene il codec mpeg4 di lavc, ma di
quali si tratta?!
persino il nortek legge quel codec senza alcun difetto, e tieni presente
che il nortek non e' un capolavoro di software...

 presente che il nortek non e' un capolavoro di software...
Capisco... Boh... Gli farò presente la cosa.
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
Un consulente è uno che ti chiede in prestito l'orologio, ti dice che
ora è e poi ti manda la parcella. - Anonimo

 del PC altrimenti è un casino.
che pc e'?

 che pc e'?
'Azz! Mi son dimenticato di chiederglielo...
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
La prudenza non è mai troppa. - Proverbio popolare

 Certo. Scelte strane...
avrebbero dovuto scegliere IDXV... o VXDI :-)

 avrebbero dovuto scegliere IDXV... o VXDI :-)
HEHE! ;)
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
Non puoi immergerti due volte nello stesso fiume. - Eraclito

 HEHE! ;)
sai pero' qual era il problema?
credo che uno degli obiettivi che si erano posti fosse la compatibilita'
con il codec commerciale divx4/5, e volevano che i software in grado di
riprodurre quest'ultimo, riproducessero anche quello...
se ci pensi un attimo, se avessero scelto un fourcc originale (come
hanno fatto per altri due codec, "FFV1" e "SNOW"), sai cosa sarebbe successo?
mettendo un cd contenente un tale divx dentro a un lettore stand-alone
(come il nortek), questo avrebbe controllato il fourcc nel contenitore
AVI e non si sarebbe sognato di riprodurlo! invece il nortek vede "DIVX"
e dice: "bene, lo so riprodurre"; e infatti lo riproduce senza alcun
problema... ti rendi conto?

 problema... ti rendi conto?
Purtroppo "l'ignoranza" di certe macchine è sesquipedale! ;)
-- 
Saluti, Kap - ICQ 19857429 - ¥'s Fan #01 - 
www.lordkap.it
 - VCC
In critical moments men sometimes see exactly what they wish to see.
Mr. Spock - Star Trek TOS