sjson2srt 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +46 -0
- data/Rakefile +9 -0
- data/bin/sjson2srt +10 -0
- data/lib/sjson2srt/converter.rb +37 -0
- data/lib/sjson2srt/version.rb +3 -0
- data/lib/sjson2srt.rb +7 -0
- data/sjson2srt.gemspec +28 -0
- data/spec/sjson2srt_converter_spec.rb +17 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/support/example_files/example.sjson +1 -0
- data/spec/support/example_files/example.srt +434 -0
- data/spec/support/file_helpers.rb +5 -0
- metadata +139 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1f428f4034cbaa8e23bbf34df08f17badd6e2897
|
4
|
+
data.tar.gz: 123983b84298d6a1dde51e8fb86ffc33c78c9660
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dd1d02577a2dea8e3c063cf365079b0f68e2a20f9e40df2ecc89d18639c262bc3a48062dde73bc6802f7cddc2392864e423916443a8c8891fe331a8da448373c
|
7
|
+
data.tar.gz: 78c3de9c590eac1a509feca9f160ef5ce4acbec86ba1e9108963b1ae3882fef46105accf1e07745cf7e29f136b0143c308a501c45144002e57a41ad20a93531a
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Dan Collis-Puro
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Sjson2srt
|
2
|
+
|
3
|
+
This converts sjson to srt files.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'sjson2srt'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself:
|
18
|
+
|
19
|
+
$ gem install sjson2srt
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
In a ruby program:
|
24
|
+
|
25
|
+
srt_content = Sjson2srt::Converter.new(sjson_string).convert
|
26
|
+
|
27
|
+
This gem will install an executable named `sjson2srt` suitable for use in a
|
28
|
+
unix pipeline, thusly:
|
29
|
+
|
30
|
+
cat file.sjson | sjson2srt > output.srt
|
31
|
+
|
32
|
+
## Contributing
|
33
|
+
|
34
|
+
1. Fork it ( https://github.com/[my-github-username]/sjson2srt/fork )
|
35
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
36
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
37
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
38
|
+
5. Create a new Pull Request
|
39
|
+
|
40
|
+
## Contributors
|
41
|
+
|
42
|
+
* DJCP
|
43
|
+
|
44
|
+
## Copyright
|
45
|
+
|
46
|
+
President and Fellows of Harvard College, 2014
|
data/Rakefile
ADDED
data/bin/sjson2srt
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
module Sjson2srt
|
2
|
+
class Converter
|
3
|
+
|
4
|
+
def initialize(content)
|
5
|
+
@json = JSON.parse(content)
|
6
|
+
end
|
7
|
+
|
8
|
+
def convert
|
9
|
+
output = []
|
10
|
+
json['text'].each_with_index do |line, i|
|
11
|
+
start_time = json['start'][i]
|
12
|
+
end_time = json['end'][i]
|
13
|
+
|
14
|
+
output << i + 1
|
15
|
+
output << "#{format_time(start_time)} --> #{format_time(end_time)}"
|
16
|
+
if line.length > 0
|
17
|
+
output << "#{line}\n"
|
18
|
+
else
|
19
|
+
output << ''
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
output.join("\n")
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def format_time(raw_milliseconds)
|
29
|
+
milliseconds = raw_milliseconds % 1000
|
30
|
+
zero_padded_milliseconds = sprintf('%03d', (milliseconds % 1000))
|
31
|
+
seconds = ((raw_milliseconds - milliseconds) / 1000)
|
32
|
+
Time.at(seconds).gmtime.strftime('%R:%S') + ",#{zero_padded_milliseconds}"
|
33
|
+
end
|
34
|
+
|
35
|
+
attr_reader :json
|
36
|
+
end
|
37
|
+
end
|
data/lib/sjson2srt.rb
ADDED
data/sjson2srt.gemspec
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'sjson2srt/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "sjson2srt"
|
8
|
+
spec.version = Sjson2srt::VERSION
|
9
|
+
spec.authors = ["Dan Collis-Puro"]
|
10
|
+
spec.email = ["dan_collis-puro@harvard.edu"]
|
11
|
+
spec.summary = %q{Convert the sjson captioning format to the srt format}
|
12
|
+
spec.description = %q{Convert the sjson captioning format to the srt format. \
|
13
|
+
This includes an executable named "sjson2srt" that accepts sjson on STDIN and \
|
14
|
+
emits srt on STDOUT, suitable for use in a unix pipeline.}
|
15
|
+
spec.homepage = "https://github.com/djcp/sjson2srt"
|
16
|
+
spec.license = "MIT"
|
17
|
+
|
18
|
+
spec.files = `git ls-files -z`.split("\x0")
|
19
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
24
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.1"
|
26
|
+
spec.add_development_dependency "simplecov", "~> 0.9"
|
27
|
+
spec.add_development_dependency "pry", "~> 0.10"
|
28
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sjson2srt::Converter do
|
4
|
+
include FileHelpers
|
5
|
+
|
6
|
+
it 'raises an error with invalid json' do
|
7
|
+
expect { described_class.new('asdf') }.to raise_error
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'converts between sjson and srt' do
|
11
|
+
content = content_from_example_file('example.sjson')
|
12
|
+
|
13
|
+
converter = described_class.new(content)
|
14
|
+
|
15
|
+
expect(converter.convert).to eq content_from_example_file('example.srt')
|
16
|
+
end
|
17
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
+
require 'simplecov'
|
4
|
+
SimpleCov.start
|
5
|
+
require 'rspec'
|
6
|
+
require 'sjson2srt'
|
7
|
+
require 'pry'
|
8
|
+
|
9
|
+
# Requires supporting files with custom matchers and macros, etc,
|
10
|
+
# in ./support/ and its subdirectories.
|
11
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
12
|
+
|
13
|
+
RSpec.configure do |config|
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"start":[0,280,3960,6150,8640,10572,11910,13610,17300,19680,26760,33460,38583,41690,44800,47780,49340,50590,54690,56680,58090,61500,72470,79580,82350,91480,95640,98870,101310,107010,108940,117810,121290,122330,126300,126970,129509,133370,136070,137480,141270,143460,146860,151220,153370,157260,161100,162590,164950,165690,172640,173890,177290,179190,181950,185530,187410,191860,198500,201300,204400,206570,208280,209970,216780,221770,225710,231290,235760,238810,248300,249820,254240,256350,258640,263450,266070,269850,270890,272140,275290,278430,280310,282650,286100,287400,290820,292910,294560,301120,304900,306430,308200,313840,318420,319970,323620,327660,329840,330910,336170,338140,341060,344325,348140,349870,352560,354740,359590,362440,367220],"end":[280,3960,6150,8640,10572,11910,13610,17300,19680,26760,33460,38583,41690,44800,47780,49340,50590,54690,56680,58090,61500,72470,79580,82350,91480,95640,98870,101310,107010,108940,117810,121290,122330,126300,126970,129509,133370,136070,137480,141270,143460,146860,151220,153370,157260,161100,162590,164950,165690,172640,173890,177290,179190,181950,185530,187410,191860,198500,201300,204400,206570,208280,209970,216780,221770,225710,231290,235760,238810,248300,249820,254240,256350,258640,263450,266070,269850,270890,272140,275290,278430,280310,282650,286100,287400,290820,292910,294560,301120,304900,306430,308200,313840,318420,319970,323620,327660,329840,330910,336170,338140,341060,344325,348140,349870,352560,354740,359590,362440,367220,370737],"text":["","JOSE ANDRES: One more with gelatin, one more with gelatin","using the animal base.","Everyone knows how to use.","Do you like strawberries?","STUDENTS: Yeah.","JOSE ANDRES: We are not in season, I know.","But this is a video, so forgive me.","So let's go with a strawberry.","","A strawberry, just in case you didn't understand me.","So I think I'm going to stop it.","","What you're going to see here is something very important.","At the very beginning, it said strawberry, but we didn't see any","strawberries yet.","Don't worry, patience.","","They are coming.","[LAUGHTER]","JOSE ANDRES: What you are going to see is one technique that, thanks to","gelatin, has given chefs the opportunity to make a mousse-like","product without the use of heavy cream or fat.","And why is this amazing?","If go to some of the popular coffee places in the world, and you order","your mocha with whipped cream--","it comes with whipped cream, anyway--","you'll see that machine, right?","The whipped cream canister, the whipped cream bottle that used N2O,","nitrous oxide?","So we are able to put heavy cream, put the nitrous oxide, and then we shake.","We turn down, we press, and we have whipped cream.","Great.","I don't have to break my arm anymore again in my life.","This is powerful.","But let's you are making a strawberry mousse.","And let's say you put a traditional strawberry mousse.","Will be 50% strawberries, right?","Yes?","Will be 40% cream, yes?","10% sugar?","You will blend everything.","In the traditional, you will whip the whipped cream.","You'll mix some gelatin with the strawberry.","You'll wait until the strawberry gets kind of gel-y.","And then you'll start mixing slowly the whipped cream with the strawberry.","And at the end, you will let it rest.","And you will have a strawberry mousse.","Yummy, right?","But that has a fundamental problem, that the mousse is only 50%","strawberry.","","You may say, I like heavy cream.","","All right, so that's your problem.","[LAUGHTER]","JOSE ANDRES: But imagine for a second, if 50% of strawberry mousse is","delicious, imagine 100% is strawberry mousse.","Do you ask this strawberry if she wants to be mixed with the fat?","","You didn't, right?","But we do it.","Why?","What you're about to see gives you the power to make 100% strawberry mousse","without ever using fats anymore, only with the power of gelatins.","Because gelatins are almost the same as fat and whipped cream.","It gives you the opportunity to retain the air that comes inside the liquid.","By retaining a lot of air, you are able to make these amazing mousses.","So I told you that, but now forget about what I told you.","Because this strawberry mousse has some heavy cream, only because we are","going to be using liquid nitrogen.","And with liquid nitrogen, a strawberry doesn't behave anymore.","They need the heavy cream.","But important what I told you.","This is a new way, what you're going to see, of making 100% pure mousses of","liquids that are not fats.","Breakthrough in civilization.","No, this is not a laugh.","It's serious.","","So here we add the heavy cream.","Here we put a little bit of syrup.","Here we have gelatin.","The gelatin you always need to rehydrate it first.","It's very stiff.","They need like a bath to loose down the gelatin.","It's a very stiff person.","So you always put it in water first.","And so we're going to put the gelatin and the syrup with the cream.","And then we're going to add this beautiful strawberry puree.","All right?","You mix the whole thing.","You're going to strain to make sure there's no gelatin lumps anywhere,","pure, beautiful, tasty, sweet, delicious.","And we put it in the canister.","","And then we put the nitrous oxide.","We make sure that gets to the right temperature.","And take a look what we do.","This, what you see there, is a strawberry powder, dry strawberries","that we make like a flour of dry strawberries.","And we make the mousse of the strawberries.","We cover it with more of the powder of dried strawberries.","And we are going to introduce these in the liquid nitrogen,","only for a few seconds.","What's happening right now, the outside is frozen,","the inside is creamy.","When we cut through, the inside is pure creaminess.","The outside is pure hard shell.","Ladies and gentlemen, a strawberry.","[APPLAUSE]"],"paragraphs":[0,280,10572,11910,41690,56680,58090,108940,126970,153370,165690,185530,187410,209970,231290,256350,275290,290820,306430,327660,344325,367220]}
|
@@ -0,0 +1,434 @@
|
|
1
|
+
1
|
2
|
+
00:00:00,000 --> 00:00:00,280
|
3
|
+
|
4
|
+
2
|
5
|
+
00:00:00,280 --> 00:00:03,960
|
6
|
+
JOSE ANDRES: One more with gelatin, one more with gelatin
|
7
|
+
|
8
|
+
3
|
9
|
+
00:00:03,960 --> 00:00:06,150
|
10
|
+
using the animal base.
|
11
|
+
|
12
|
+
4
|
13
|
+
00:00:06,150 --> 00:00:08,640
|
14
|
+
Everyone knows how to use.
|
15
|
+
|
16
|
+
5
|
17
|
+
00:00:08,640 --> 00:00:10,572
|
18
|
+
Do you like strawberries?
|
19
|
+
|
20
|
+
6
|
21
|
+
00:00:10,572 --> 00:00:11,910
|
22
|
+
STUDENTS: Yeah.
|
23
|
+
|
24
|
+
7
|
25
|
+
00:00:11,910 --> 00:00:13,610
|
26
|
+
JOSE ANDRES: We are not in season, I know.
|
27
|
+
|
28
|
+
8
|
29
|
+
00:00:13,610 --> 00:00:17,300
|
30
|
+
But this is a video, so forgive me.
|
31
|
+
|
32
|
+
9
|
33
|
+
00:00:17,300 --> 00:00:19,680
|
34
|
+
So let's go with a strawberry.
|
35
|
+
|
36
|
+
10
|
37
|
+
00:00:19,680 --> 00:00:26,760
|
38
|
+
|
39
|
+
11
|
40
|
+
00:00:26,760 --> 00:00:33,460
|
41
|
+
A strawberry, just in case you didn't understand me.
|
42
|
+
|
43
|
+
12
|
44
|
+
00:00:33,460 --> 00:00:38,583
|
45
|
+
So I think I'm going to stop it.
|
46
|
+
|
47
|
+
13
|
48
|
+
00:00:38,583 --> 00:00:41,690
|
49
|
+
|
50
|
+
14
|
51
|
+
00:00:41,690 --> 00:00:44,800
|
52
|
+
What you're going to see here is something very important.
|
53
|
+
|
54
|
+
15
|
55
|
+
00:00:44,800 --> 00:00:47,780
|
56
|
+
At the very beginning, it said strawberry, but we didn't see any
|
57
|
+
|
58
|
+
16
|
59
|
+
00:00:47,780 --> 00:00:49,340
|
60
|
+
strawberries yet.
|
61
|
+
|
62
|
+
17
|
63
|
+
00:00:49,340 --> 00:00:50,590
|
64
|
+
Don't worry, patience.
|
65
|
+
|
66
|
+
18
|
67
|
+
00:00:50,590 --> 00:00:54,690
|
68
|
+
|
69
|
+
19
|
70
|
+
00:00:54,690 --> 00:00:56,680
|
71
|
+
They are coming.
|
72
|
+
|
73
|
+
20
|
74
|
+
00:00:56,680 --> 00:00:58,090
|
75
|
+
[LAUGHTER]
|
76
|
+
|
77
|
+
21
|
78
|
+
00:00:58,090 --> 00:01:01,500
|
79
|
+
JOSE ANDRES: What you are going to see is one technique that, thanks to
|
80
|
+
|
81
|
+
22
|
82
|
+
00:01:01,500 --> 00:01:12,470
|
83
|
+
gelatin, has given chefs the opportunity to make a mousse-like
|
84
|
+
|
85
|
+
23
|
86
|
+
00:01:12,470 --> 00:01:19,580
|
87
|
+
product without the use of heavy cream or fat.
|
88
|
+
|
89
|
+
24
|
90
|
+
00:01:19,580 --> 00:01:22,350
|
91
|
+
And why is this amazing?
|
92
|
+
|
93
|
+
25
|
94
|
+
00:01:22,350 --> 00:01:31,480
|
95
|
+
If go to some of the popular coffee places in the world, and you order
|
96
|
+
|
97
|
+
26
|
98
|
+
00:01:31,480 --> 00:01:35,640
|
99
|
+
your mocha with whipped cream--
|
100
|
+
|
101
|
+
27
|
102
|
+
00:01:35,640 --> 00:01:38,870
|
103
|
+
it comes with whipped cream, anyway--
|
104
|
+
|
105
|
+
28
|
106
|
+
00:01:38,870 --> 00:01:41,310
|
107
|
+
you'll see that machine, right?
|
108
|
+
|
109
|
+
29
|
110
|
+
00:01:41,310 --> 00:01:47,010
|
111
|
+
The whipped cream canister, the whipped cream bottle that used N2O,
|
112
|
+
|
113
|
+
30
|
114
|
+
00:01:47,010 --> 00:01:48,940
|
115
|
+
nitrous oxide?
|
116
|
+
|
117
|
+
31
|
118
|
+
00:01:48,940 --> 00:01:57,810
|
119
|
+
So we are able to put heavy cream, put the nitrous oxide, and then we shake.
|
120
|
+
|
121
|
+
32
|
122
|
+
00:01:57,810 --> 00:02:01,290
|
123
|
+
We turn down, we press, and we have whipped cream.
|
124
|
+
|
125
|
+
33
|
126
|
+
00:02:01,290 --> 00:02:02,330
|
127
|
+
Great.
|
128
|
+
|
129
|
+
34
|
130
|
+
00:02:02,330 --> 00:02:06,300
|
131
|
+
I don't have to break my arm anymore again in my life.
|
132
|
+
|
133
|
+
35
|
134
|
+
00:02:06,300 --> 00:02:06,970
|
135
|
+
This is powerful.
|
136
|
+
|
137
|
+
36
|
138
|
+
00:02:06,970 --> 00:02:09,509
|
139
|
+
But let's you are making a strawberry mousse.
|
140
|
+
|
141
|
+
37
|
142
|
+
00:02:09,509 --> 00:02:13,370
|
143
|
+
And let's say you put a traditional strawberry mousse.
|
144
|
+
|
145
|
+
38
|
146
|
+
00:02:13,370 --> 00:02:16,070
|
147
|
+
Will be 50% strawberries, right?
|
148
|
+
|
149
|
+
39
|
150
|
+
00:02:16,070 --> 00:02:17,480
|
151
|
+
Yes?
|
152
|
+
|
153
|
+
40
|
154
|
+
00:02:17,480 --> 00:02:21,270
|
155
|
+
Will be 40% cream, yes?
|
156
|
+
|
157
|
+
41
|
158
|
+
00:02:21,270 --> 00:02:23,460
|
159
|
+
10% sugar?
|
160
|
+
|
161
|
+
42
|
162
|
+
00:02:23,460 --> 00:02:26,860
|
163
|
+
You will blend everything.
|
164
|
+
|
165
|
+
43
|
166
|
+
00:02:26,860 --> 00:02:31,220
|
167
|
+
In the traditional, you will whip the whipped cream.
|
168
|
+
|
169
|
+
44
|
170
|
+
00:02:31,220 --> 00:02:33,370
|
171
|
+
You'll mix some gelatin with the strawberry.
|
172
|
+
|
173
|
+
45
|
174
|
+
00:02:33,370 --> 00:02:37,260
|
175
|
+
You'll wait until the strawberry gets kind of gel-y.
|
176
|
+
|
177
|
+
46
|
178
|
+
00:02:37,260 --> 00:02:41,100
|
179
|
+
And then you'll start mixing slowly the whipped cream with the strawberry.
|
180
|
+
|
181
|
+
47
|
182
|
+
00:02:41,100 --> 00:02:42,590
|
183
|
+
And at the end, you will let it rest.
|
184
|
+
|
185
|
+
48
|
186
|
+
00:02:42,590 --> 00:02:44,950
|
187
|
+
And you will have a strawberry mousse.
|
188
|
+
|
189
|
+
49
|
190
|
+
00:02:44,950 --> 00:02:45,690
|
191
|
+
Yummy, right?
|
192
|
+
|
193
|
+
50
|
194
|
+
00:02:45,690 --> 00:02:52,640
|
195
|
+
But that has a fundamental problem, that the mousse is only 50%
|
196
|
+
|
197
|
+
51
|
198
|
+
00:02:52,640 --> 00:02:53,890
|
199
|
+
strawberry.
|
200
|
+
|
201
|
+
52
|
202
|
+
00:02:53,890 --> 00:02:57,290
|
203
|
+
|
204
|
+
53
|
205
|
+
00:02:57,290 --> 00:02:59,190
|
206
|
+
You may say, I like heavy cream.
|
207
|
+
|
208
|
+
54
|
209
|
+
00:02:59,190 --> 00:03:01,950
|
210
|
+
|
211
|
+
55
|
212
|
+
00:03:01,950 --> 00:03:05,530
|
213
|
+
All right, so that's your problem.
|
214
|
+
|
215
|
+
56
|
216
|
+
00:03:05,530 --> 00:03:07,410
|
217
|
+
[LAUGHTER]
|
218
|
+
|
219
|
+
57
|
220
|
+
00:03:07,410 --> 00:03:11,860
|
221
|
+
JOSE ANDRES: But imagine for a second, if 50% of strawberry mousse is
|
222
|
+
|
223
|
+
58
|
224
|
+
00:03:11,860 --> 00:03:18,500
|
225
|
+
delicious, imagine 100% is strawberry mousse.
|
226
|
+
|
227
|
+
59
|
228
|
+
00:03:18,500 --> 00:03:21,300
|
229
|
+
Do you ask this strawberry if she wants to be mixed with the fat?
|
230
|
+
|
231
|
+
60
|
232
|
+
00:03:21,300 --> 00:03:24,400
|
233
|
+
|
234
|
+
61
|
235
|
+
00:03:24,400 --> 00:03:26,570
|
236
|
+
You didn't, right?
|
237
|
+
|
238
|
+
62
|
239
|
+
00:03:26,570 --> 00:03:28,280
|
240
|
+
But we do it.
|
241
|
+
|
242
|
+
63
|
243
|
+
00:03:28,280 --> 00:03:29,970
|
244
|
+
Why?
|
245
|
+
|
246
|
+
64
|
247
|
+
00:03:29,970 --> 00:03:36,780
|
248
|
+
What you're about to see gives you the power to make 100% strawberry mousse
|
249
|
+
|
250
|
+
65
|
251
|
+
00:03:36,780 --> 00:03:41,770
|
252
|
+
without ever using fats anymore, only with the power of gelatins.
|
253
|
+
|
254
|
+
66
|
255
|
+
00:03:41,770 --> 00:03:45,710
|
256
|
+
Because gelatins are almost the same as fat and whipped cream.
|
257
|
+
|
258
|
+
67
|
259
|
+
00:03:45,710 --> 00:03:51,290
|
260
|
+
It gives you the opportunity to retain the air that comes inside the liquid.
|
261
|
+
|
262
|
+
68
|
263
|
+
00:03:51,290 --> 00:03:55,760
|
264
|
+
By retaining a lot of air, you are able to make these amazing mousses.
|
265
|
+
|
266
|
+
69
|
267
|
+
00:03:55,760 --> 00:03:58,810
|
268
|
+
So I told you that, but now forget about what I told you.
|
269
|
+
|
270
|
+
70
|
271
|
+
00:03:58,810 --> 00:04:08,300
|
272
|
+
Because this strawberry mousse has some heavy cream, only because we are
|
273
|
+
|
274
|
+
71
|
275
|
+
00:04:08,300 --> 00:04:09,820
|
276
|
+
going to be using liquid nitrogen.
|
277
|
+
|
278
|
+
72
|
279
|
+
00:04:09,820 --> 00:04:14,240
|
280
|
+
And with liquid nitrogen, a strawberry doesn't behave anymore.
|
281
|
+
|
282
|
+
73
|
283
|
+
00:04:14,240 --> 00:04:16,350
|
284
|
+
They need the heavy cream.
|
285
|
+
|
286
|
+
74
|
287
|
+
00:04:16,350 --> 00:04:18,640
|
288
|
+
But important what I told you.
|
289
|
+
|
290
|
+
75
|
291
|
+
00:04:18,640 --> 00:04:23,450
|
292
|
+
This is a new way, what you're going to see, of making 100% pure mousses of
|
293
|
+
|
294
|
+
76
|
295
|
+
00:04:23,450 --> 00:04:26,070
|
296
|
+
liquids that are not fats.
|
297
|
+
|
298
|
+
77
|
299
|
+
00:04:26,070 --> 00:04:29,850
|
300
|
+
Breakthrough in civilization.
|
301
|
+
|
302
|
+
78
|
303
|
+
00:04:29,850 --> 00:04:30,890
|
304
|
+
No, this is not a laugh.
|
305
|
+
|
306
|
+
79
|
307
|
+
00:04:30,890 --> 00:04:32,140
|
308
|
+
It's serious.
|
309
|
+
|
310
|
+
80
|
311
|
+
00:04:32,140 --> 00:04:35,290
|
312
|
+
|
313
|
+
81
|
314
|
+
00:04:35,290 --> 00:04:38,430
|
315
|
+
So here we add the heavy cream.
|
316
|
+
|
317
|
+
82
|
318
|
+
00:04:38,430 --> 00:04:40,310
|
319
|
+
Here we put a little bit of syrup.
|
320
|
+
|
321
|
+
83
|
322
|
+
00:04:40,310 --> 00:04:42,650
|
323
|
+
Here we have gelatin.
|
324
|
+
|
325
|
+
84
|
326
|
+
00:04:42,650 --> 00:04:46,100
|
327
|
+
The gelatin you always need to rehydrate it first.
|
328
|
+
|
329
|
+
85
|
330
|
+
00:04:46,100 --> 00:04:47,400
|
331
|
+
It's very stiff.
|
332
|
+
|
333
|
+
86
|
334
|
+
00:04:47,400 --> 00:04:50,820
|
335
|
+
They need like a bath to loose down the gelatin.
|
336
|
+
|
337
|
+
87
|
338
|
+
00:04:50,820 --> 00:04:52,910
|
339
|
+
It's a very stiff person.
|
340
|
+
|
341
|
+
88
|
342
|
+
00:04:52,910 --> 00:04:54,560
|
343
|
+
So you always put it in water first.
|
344
|
+
|
345
|
+
89
|
346
|
+
00:04:54,560 --> 00:05:01,120
|
347
|
+
And so we're going to put the gelatin and the syrup with the cream.
|
348
|
+
|
349
|
+
90
|
350
|
+
00:05:01,120 --> 00:05:04,900
|
351
|
+
And then we're going to add this beautiful strawberry puree.
|
352
|
+
|
353
|
+
91
|
354
|
+
00:05:04,900 --> 00:05:06,430
|
355
|
+
All right?
|
356
|
+
|
357
|
+
92
|
358
|
+
00:05:06,430 --> 00:05:08,200
|
359
|
+
You mix the whole thing.
|
360
|
+
|
361
|
+
93
|
362
|
+
00:05:08,200 --> 00:05:13,840
|
363
|
+
You're going to strain to make sure there's no gelatin lumps anywhere,
|
364
|
+
|
365
|
+
94
|
366
|
+
00:05:13,840 --> 00:05:18,420
|
367
|
+
pure, beautiful, tasty, sweet, delicious.
|
368
|
+
|
369
|
+
95
|
370
|
+
00:05:18,420 --> 00:05:19,970
|
371
|
+
And we put it in the canister.
|
372
|
+
|
373
|
+
96
|
374
|
+
00:05:19,970 --> 00:05:23,620
|
375
|
+
|
376
|
+
97
|
377
|
+
00:05:23,620 --> 00:05:27,660
|
378
|
+
And then we put the nitrous oxide.
|
379
|
+
|
380
|
+
98
|
381
|
+
00:05:27,660 --> 00:05:29,840
|
382
|
+
We make sure that gets to the right temperature.
|
383
|
+
|
384
|
+
99
|
385
|
+
00:05:29,840 --> 00:05:30,910
|
386
|
+
And take a look what we do.
|
387
|
+
|
388
|
+
100
|
389
|
+
00:05:30,910 --> 00:05:36,170
|
390
|
+
This, what you see there, is a strawberry powder, dry strawberries
|
391
|
+
|
392
|
+
101
|
393
|
+
00:05:36,170 --> 00:05:38,140
|
394
|
+
that we make like a flour of dry strawberries.
|
395
|
+
|
396
|
+
102
|
397
|
+
00:05:38,140 --> 00:05:41,060
|
398
|
+
And we make the mousse of the strawberries.
|
399
|
+
|
400
|
+
103
|
401
|
+
00:05:41,060 --> 00:05:44,325
|
402
|
+
We cover it with more of the powder of dried strawberries.
|
403
|
+
|
404
|
+
104
|
405
|
+
00:05:44,325 --> 00:05:48,140
|
406
|
+
And we are going to introduce these in the liquid nitrogen,
|
407
|
+
|
408
|
+
105
|
409
|
+
00:05:48,140 --> 00:05:49,870
|
410
|
+
only for a few seconds.
|
411
|
+
|
412
|
+
106
|
413
|
+
00:05:49,870 --> 00:05:52,560
|
414
|
+
What's happening right now, the outside is frozen,
|
415
|
+
|
416
|
+
107
|
417
|
+
00:05:52,560 --> 00:05:54,740
|
418
|
+
the inside is creamy.
|
419
|
+
|
420
|
+
108
|
421
|
+
00:05:54,740 --> 00:05:59,590
|
422
|
+
When we cut through, the inside is pure creaminess.
|
423
|
+
|
424
|
+
109
|
425
|
+
00:05:59,590 --> 00:06:02,440
|
426
|
+
The outside is pure hard shell.
|
427
|
+
|
428
|
+
110
|
429
|
+
00:06:02,440 --> 00:06:07,220
|
430
|
+
Ladies and gentlemen, a strawberry.
|
431
|
+
|
432
|
+
111
|
433
|
+
00:06:07,220 --> 00:06:10,737
|
434
|
+
[APPLAUSE]
|
metadata
ADDED
@@ -0,0 +1,139 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sjson2srt
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dan Collis-Puro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-09-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.7'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.1'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.1'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simplecov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.9'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.9'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.10'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.10'
|
83
|
+
description: |-
|
84
|
+
Convert the sjson captioning format to the srt format. \
|
85
|
+
This includes an executable named "sjson2srt" that accepts sjson on STDIN and \
|
86
|
+
emits srt on STDOUT, suitable for use in a unix pipeline.
|
87
|
+
email:
|
88
|
+
- dan_collis-puro@harvard.edu
|
89
|
+
executables:
|
90
|
+
- sjson2srt
|
91
|
+
extensions: []
|
92
|
+
extra_rdoc_files: []
|
93
|
+
files:
|
94
|
+
- ".gitignore"
|
95
|
+
- ".rspec"
|
96
|
+
- Gemfile
|
97
|
+
- LICENSE.txt
|
98
|
+
- README.md
|
99
|
+
- Rakefile
|
100
|
+
- bin/sjson2srt
|
101
|
+
- lib/sjson2srt.rb
|
102
|
+
- lib/sjson2srt/converter.rb
|
103
|
+
- lib/sjson2srt/version.rb
|
104
|
+
- sjson2srt.gemspec
|
105
|
+
- spec/sjson2srt_converter_spec.rb
|
106
|
+
- spec/spec_helper.rb
|
107
|
+
- spec/support/example_files/example.sjson
|
108
|
+
- spec/support/example_files/example.srt
|
109
|
+
- spec/support/file_helpers.rb
|
110
|
+
homepage: https://github.com/djcp/sjson2srt
|
111
|
+
licenses:
|
112
|
+
- MIT
|
113
|
+
metadata: {}
|
114
|
+
post_install_message:
|
115
|
+
rdoc_options: []
|
116
|
+
require_paths:
|
117
|
+
- lib
|
118
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
requirements: []
|
129
|
+
rubyforge_project:
|
130
|
+
rubygems_version: 2.2.2
|
131
|
+
signing_key:
|
132
|
+
specification_version: 4
|
133
|
+
summary: Convert the sjson captioning format to the srt format
|
134
|
+
test_files:
|
135
|
+
- spec/sjson2srt_converter_spec.rb
|
136
|
+
- spec/spec_helper.rb
|
137
|
+
- spec/support/example_files/example.sjson
|
138
|
+
- spec/support/example_files/example.srt
|
139
|
+
- spec/support/file_helpers.rb
|