Questa domanda è correlata a this other question @ SuperUser.Analisi e conversione di TED Talks JSON Sottotitoli
Vorrei scaricare i TED Talks ed i rispettivi sottotitoli per la visualizzazione offline, ad esempio, permette di prendere this short talk by Richard St. John, il video ad alta risoluzione URL di download è il seguente:
E il i rispettivi sottotitoli in inglese con codifica JSON possono essere scaricati all'indirizzo:
Ecco un eccezione dal inizio di sottotitolo attuale:
{"captions":[{"content":"This is really a two hour presentation I give to high school students,","startTime":0,"duration":3000,"startOfParagraph":false},{"content":"cut down to three minutes.","startTime":3000,"duration":1000,"startOfParagraph":false},{"content":"And it all started one day on a plane, on my way to TED,","startTime":4000,"duration":3000,"startOfParagraph":false},{"content":"seven years ago."
E dal fine del sottotitolo:
{"content":"Or failing that, do the eight things -- and trust me,","startTime":177000,"duration":3000,"startOfParagraph":false},{"content":"these are the big eight things that lead to success.","startTime":180000,"duration":4000,"startOfParagraph":false},{"content":"Thank you TED-sters for all your interviews!","startTime":184000,"duration":2000,"startOfParagraph":false}]}
Voglio scrivere un app che scarica automaticamente la versione ad alta risoluzione del video e tutti i sottotitoli disponibili, ma sto attraversando un periodo davvero difficile dal devo convertire il sottotitolo di un (VLC o qualsiasi altro lettore video decente) formato compatibile (.srt o .sub sono le mie prime scelte) e non ho idea di quello che i startTime
e duration
chiavi del JSON il file rappresenta.
Quello che so finora è questo:
- Il video scaricato dura 3 minuti e 30 secondi, e ha 29 FPS = 6090 fotogrammi.
startTime
parte da 0 conduration
di 3000 =startTime
termina a 184000 con unaduration
di 2000 =
Può anche essere utile notare il seguente Snippet di Javascript:
introDuration:16500,
adDuration:4000,
postAdDuration:2000,
Quindi la mia domanda è, quale logica che intendo promuovere convertire startTime
e duration
valori in un formato compatibile srt:
1
00:01:30,200 --> 00:01:32,201
MEGA DENG COOPER MINE, INDIA
2
00:01:37,764 --> 00:01:39,039
Watch out, watch out!
o ad una .formato compatibile sub:
{FRAME_FROM}{FRAME_TO}This is really a two hour presentation I give to high school students,
{FRAME_FROM}{FRAME_TO}cut down to three minutes.
Qualcuno mi può aiutare con questo?
Ninh Bui inchiodato, la formula è la seguente:
introDuration - adDuration + startTime ... introDuration - adDuration + startTime + duration
Questo approccio permette di convertirmi direttamente al Srt formato (non c'è bisogno di conoscere la lunghezza e FPS) in due modi :
00:00:12,500 --> 00:00:15,500
This is really a two hour presentation I give to high school students,
00:00:15,500 --> 00:00:16,500
cut down to three minutes.
E:
00:00:00,16500 --> 00:00:00,19500
And it all started one day on a plane, on my way to TED,
00:00:00,19500 --> 00:00:00,20500
seven years ago.
+1 per la spiegazione dettagliata :) – ukanth
+1 per provare a fare qualcosa che mi stavo chiedendo se potessi fare. –