この質問は、この他の質問@SuperUserに関連しています。
TEDトークとそれぞれの字幕をダウンロードしてオフラインで視聴したいのですが、たとえば、リチャードセントジョンによるこの短いトークを見てみましょう。高解像度ビデオのダウンロードURLは次のとおりです。
また、それぞれのJSONエンコードされた英語字幕は次の場所からダウンロードできます。
これが実際の字幕の最初からの例外です:
{
"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."
そして字幕の終わりから:
{
"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
}]
}
ビデオの高解像度バージョンと利用可能なすべての字幕を自動的にダウンロードするアプリを作成したいのですが、字幕を(VLCまたはその他の適切なビデオプレーヤー)に変換する必要があるため、非常に苦労しています。互換性のある形式(.srtまたは.subが私の最初の選択肢です)で、JSONファイルのキーとキーが何をstartTime
duration
表しているのかわかりません。
私がこれまでに知っていることはこれです:
- ダウンロードされたビデオは3分30秒続き、29 FPS = 6090フレームです。
startTime
duration
3000= 3000のaで0から始まりますstartTime
duration
2000= 186000のaで184000で終了します
次のJavascriptスニペットに注意することも価値があるかもしれません。
introDuration:16500,
adDuration:4000,
postAdDuration:2000,
だから私の質問は、値を.srt互換形式に変換するためstartTime
duration
にどのロジックを適用する必要があるかということです:
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!
または.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.
誰かがこれで私を助けることができますか?
ニンブイはそれを釘付けにしました、式は次のとおりです:
introDuration - adDuration + startTime ... introDuration - adDuration + startTime + duration
このアプローチでは、次の2つの方法で.srt形式(長さとFPSを知る必要はありません)に直接変換できます。
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.
と:
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.