Newsgroup: it.comp.os.linux.iniziare
Titolo: [OT] srt

all'inizio di un file .srt è possibile specificare il tipo di font, il 
colore e la grandezza?
o ricordo male ed è possibile solo in file tipo .ssa o simile? e nel 
caso, c'è qlc programma per Linux che effettua la conversione?
r
-- 
Abruzzo 2009: dopo 162 giorni consegnati 47 chalet per 200 persone.
Irpinia 1981: dopo 122 giorni consegnati 150 chalet per 450 persone.
Un Minuto Per Favore:
Home Page, The Pentangle, I Salon di Baudelaire: 
http://www.umpf.net

 colore e la grandezza?
AFAIK è solo un file di testo e il carattere lo gestioni col riproduttore.
Visto che siamo in tema, qualcuno conosce qualche script da CLI per 
modificare i tempi dei file srt? Sennó mi ci metto il fine settimana e 
vediamo se partorisco qualcosa di utile.
-- 
Vide



che vuol dire modificare i tempi?
shiftare tutto di una determinata quantità di tempo o cosa?

 shiftare tutto di una determinata quantità di tempo o cosa?
Sì... sto uscendo pazzo per trovare dei sub che vadano bene per la 2a 
stagione di Battlestar Galactica :)
(e sì, ci sono i DVD a 18 euro su 
play.com
 però la voglio in HD io)
-- 
Vide

 stagione di Battlestar Galactica :)
quelli di DDUniverse andavano bene, se non ricordo male;


Vide wrote:

Io avevo fatto qualcosa in awk per risincronizzare i sottotitoli con il 
video, una cosa tipo
resync.awk -v time=5.46 filesottotitoli.srt
e lui sposta in avanti di 5.46 secondi tutti i sottotitoli (funziona anche 
con numeri negativi). Molto semplice e grezzo ma funziona, almeno per quello 
che dovevo fare io.
Non ce l'ho qui ma in un altro PC, se ti interessa lo posto.

 quelli di DDUniverse andavano bene, se non ricordo male;
nat. in coppia con i video del sito, ma quest'ultimi penso fossero roba 
americana molto diffusa, direi semiufficiale ;-P datoc he uscivano 
praticamente in diretta con gli episodi trasmessi;


 Non ce l'ho qui ma in un altro PC, se ti interessa lo posto.
È proprio quello che volevo fare, e dato che non soffro di sindrome NIH, 
posta pure :)
-- 
Vide

Vide wrote:

Ok stasera o domani lo posto.
Ciao! 


se è solo questione di spostamento rigido dei tempi (e non di sincronie 
sputtanate per diverse velocità o amenità analoghe), mi sembra che i 
comandi di mplayer o di vlc risolvano il problema contingente 
direttamente durante la riproduzione (magari ti modifichi il file perché 
all'inizio ti compaia in sovraimpressione di quanto devi spostare i tempi)

 all'inizio ti compaia in sovraimpressione di quanto devi spostare i tempi)
Il punto è che ho un Popcorn Hour A-110 che in teoria ha la funzionalità in 
questione a portata di bottone del telecomando però non sembra funzionare 
del tutto. Aggiungiamoci che visto che ci sono se posso rinominare 
automaticamente gli srt mi risparmio fatica...
-- 
Vide

(e sï¿½, ci sono i DVD a 18 euro su 
play.com
 perï¿½ la voglio in HD io)
BSPlayer lo fa al volo.
-- 
Jolan Tru
Filippo "Hytok" Simone
http://perestroika.iobloggo.com/

 vediamo se partorisco qualcosa di utile.
Potresti usare un editor per sottotitoli, tipo Subtitle Editor
(
http://home.gna.org/subtitleeditor
) o Jubler (
www.jubler.org
, usa
java), non sono programmi complicati da usare e ti aiutano parecchio in
queste operazioni che a volte sono noiosette.
-- 
s.

 BSPlayer lo fa al volo.
Lo so ma AFAIK non c'ï¿œ una versione per linux.
-- 
s.

antani wrote:

Eccolo qui. Premetto che non ho letto nulla, avevo semplicemente visto che
il file srt e' un file di testo con i tempi di inizio e fine dei
sottotitoli, e ho scritto un programmino per cambiare tali tempi.
Sicuramente ci sono altri metodi migliori, ma come detto "works for me".
----------- resync.awk ----------------------
# converte hh:mm:ss,msec in millisecondi
function hms2msec(s) {
  return substr(s,10,3) + \
         substr(s,7,2)*1000 + \
         substr(s,4,2)*60000 + \
         substr(s,1,2)*3600000
}
# converte millisecondi in hh:mm:ss,msec
function msec2hms(msecs   ,h,m,s) {
  h=int(msecs/3600000)
  msecs=msecs-h*3600000
  m=int(msecs/60000)
  msecs=msecs-m*60000
  s=int(msecs/1000)
  msecs=msecs-s*1000
  return sprintf("%02d:%02d:%02d,%03d",h,m,s,msecs)
}
BEGIN {
  if(secs==0) {
    print "Devi specificare i secondi con -v secs=n!"
    exit 1
  }
}
/-->/ {
  # $1 e $3 sono in formato "01:02:03,456"
  $1=msec2hms(hms2msec($1)+secs*1000)
  $3=msec2hms(hms2msec($3)+secs*1000)
}
1
---------------------------------------------
Quindi si invoca con:
awk -v secs=4.831 -f resync.awk subtitles.srt