rvideo 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/lib/rvideo/inspector.rb +1 -1
- data/lib/rvideo/version.rb +1 -1
- data/spec/fixtures/files.yml +12 -1
- data/spec/integrations/files/files.yml +1 -1
- data/spec/integrations/formats_spec.rb +203 -195
- data/spec/units/inspector_spec.rb +8 -0
- data/website/index.html +5 -5
- data/website/index.txt +2 -2
- metadata +2 -2
data/History.txt
CHANGED
data/lib/rvideo/inspector.rb
CHANGED
@@ -54,7 +54,7 @@ module RVideo # :nodoc:
|
|
54
54
|
|
55
55
|
if /Unknown format/i.match(@raw_response) || metadata.nil?
|
56
56
|
@unknown_format = true
|
57
|
-
elsif /Duration: N\/A
|
57
|
+
elsif /Duration: N\/A|bitrate: N\/A/im.match(@raw_response)
|
58
58
|
@unreadable_file = true
|
59
59
|
@raw_metadata = metadata[1] # in this case, we can at least still get the container type
|
60
60
|
else
|
data/lib/rvideo/version.rb
CHANGED
data/spec/fixtures/files.yml
CHANGED
@@ -371,4 +371,15 @@ invalid:
|
|
371
371
|
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp/results/fancypants-ipod.mp4':
|
372
372
|
Duration: N/A, bitrate: N/A
|
373
373
|
Must supply at least one output file
|
374
|
-
|
374
|
+
failing_ogg:
|
375
|
+
response: |
|
376
|
+
FFmpeg version SVN-r10656, Copyright (c) 2000-2007 Fabrice Bellard, et al.
|
377
|
+
configuration: --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-liba52 --enable-libxvid --enable-libfaac --enable-libfaad --enable-libx264 --enable-libxvid --enable-pp --enable-shared --enable-gpl --enable-libtheora --enable-libfaadbin --enable-liba52bin --enable-libamr_nb --enable-libamr_wb --extra-ldflags=-L/usr/local/ffmpeg-src/ffmpeg/libavcodec/acfr16/ --extra-libs=-lacfr --enable-libacfr16
|
378
|
+
libavutil version: 49.5.0
|
379
|
+
libavcodec version: 51.44.0
|
380
|
+
libavformat version: 51.14.0
|
381
|
+
built on Oct 30 2007 15:33:08, gcc: 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
|
382
|
+
Input #0, ogg, from 'tmp/37/PodcastPeople___Make_every_Podcast_Count__sweeper-19530.ogg':
|
383
|
+
Duration: N/A, start: 0.000000, bitrate: N/A
|
384
|
+
Stream #0.0: Audio: vorbis, 44100 Hz, stereo
|
385
|
+
Must supply at least one output file
|
@@ -3,196 +3,196 @@ require File.dirname(__FILE__) + '/../spec_helper'
|
|
3
3
|
module RVideo
|
4
4
|
context "Using various builds of ffmpeg, RVideo should properly inspect" do
|
5
5
|
specify "a cell-phone MP4 file" do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
6
|
+
file = Inspector.new(:raw_response => files(:kites))
|
7
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
8
|
+
file.raw_duration.should == "00:00:19.6"
|
9
|
+
file.duration.should == 19600
|
10
|
+
file.bitrate.should == 98
|
11
|
+
file.bitrate_units.should == "kb/s"
|
12
|
+
file.audio_stream_id.should == "#0.1"
|
13
|
+
file.audio_codec.should == "samr / 0x726D6173"
|
14
|
+
file.audio_sample_rate.should == 8000
|
15
|
+
file.audio_sample_units.should == "Hz"
|
16
|
+
file.audio_channels_string.should == "mono"
|
17
|
+
file.video_codec.should == "mpeg4"
|
18
|
+
file.video_stream_id.should == "#0.0"
|
19
|
+
file.video_colorspace.should == "yuv420p"
|
20
|
+
file.width.should == 176
|
21
|
+
file.height.should == 144
|
22
|
+
file.fps.should == "10.00"
|
23
23
|
end
|
24
24
|
|
25
25
|
specify "fancypants" do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
26
|
+
file = Inspector.new(:raw_response => files(:fancypants))
|
27
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
28
|
+
file.raw_duration.should == "00:00:35.4"
|
29
|
+
file.duration.should == 35400
|
30
|
+
file.bitrate.should == 1980
|
31
|
+
file.bitrate_units.should == "kb/s"
|
32
|
+
file.audio_stream_id.should == "#0.1"
|
33
|
+
file.audio_codec.should == "aac"
|
34
|
+
file.audio_sample_rate.should == 44100
|
35
|
+
file.audio_sample_units.should == "Hz"
|
36
|
+
file.audio_channels_string.should == "stereo"
|
37
|
+
file.video_codec.should == "h264"
|
38
|
+
file.video_stream_id.should == "#0.0"
|
39
|
+
file.video_colorspace.should == "yuv420p"
|
40
|
+
file.width.should == 720
|
41
|
+
file.height.should == 400
|
42
|
+
file.fps.should == "23.98"
|
43
43
|
end
|
44
44
|
|
45
45
|
specify "mpeg4/xvid" do
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
46
|
+
file = Inspector.new(:raw_response => files(:chainsaw))
|
47
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
48
|
+
file.raw_duration.should == "00:01:09.5"
|
49
|
+
file.duration.should == 69500
|
50
|
+
file.bitrate.should == 970
|
51
|
+
file.bitrate_units.should == "kb/s"
|
52
|
+
file.audio_stream_id.should == "#0.1"
|
53
|
+
file.audio_codec.should == "mp2"
|
54
|
+
file.audio_sample_rate.should == 48000
|
55
|
+
file.audio_sample_units.should == "Hz"
|
56
|
+
file.audio_channels_string.should == "stereo"
|
57
|
+
file.video_codec.should == "mpeg4"
|
58
|
+
file.video_stream_id.should == "#0.0"
|
59
|
+
file.video_colorspace.should == "yuv420p"
|
60
|
+
file.width.should == 624
|
61
|
+
file.height.should == 352
|
62
|
+
file.fps.should == "23.98"
|
63
63
|
end
|
64
64
|
|
65
65
|
specify "mpeg1" do
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
66
|
+
file = Inspector.new(:raw_response => files(:mpeg1_957))
|
67
|
+
file.container.should == "mpeg"
|
68
|
+
file.raw_duration.should == "00:00:22.6"
|
69
|
+
file.duration.should == 22600
|
70
|
+
file.bitrate.should == 808
|
71
|
+
file.bitrate_units.should == "kb/s"
|
72
|
+
file.audio_stream_id.should == "#0.0"
|
73
|
+
file.audio_codec.should == "mp2"
|
74
|
+
file.audio_sample_rate.should == 32000
|
75
|
+
file.audio_sample_units.should == "Hz"
|
76
|
+
file.audio_channels_string.should == "mono"
|
77
|
+
file.video_codec.should == "mpeg1video"
|
78
|
+
file.video_stream_id.should == "#0.1"
|
79
|
+
file.video_colorspace.should == "yuv420p"
|
80
|
+
file.width.should == 320
|
81
|
+
file.height.should == 240
|
82
|
+
file.fps.should == "25.00"
|
83
83
|
end
|
84
84
|
|
85
85
|
specify "avi/mpeg4/mp3" do
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
86
|
+
file = Inspector.new(:raw_response => files(:buffy))
|
87
|
+
file.container.should == "avi"
|
88
|
+
file.raw_duration.should == "00:43:25.3"
|
89
|
+
file.duration.should == 2605300
|
90
|
+
file.bitrate.should == 1266
|
91
|
+
file.bitrate_units.should == "kb/s"
|
92
|
+
file.audio_stream_id.should == "#0.1"
|
93
|
+
file.audio_codec.should == "mp3"
|
94
|
+
file.audio_sample_rate.should == 48000
|
95
|
+
file.audio_sample_units.should == "Hz"
|
96
|
+
file.audio_channels_string.should == "stereo"
|
97
|
+
file.video_codec.should == "mpeg4"
|
98
|
+
file.video_stream_id.should == "#0.0"
|
99
|
+
file.video_colorspace.should == "yuv420p"
|
100
|
+
file.width.should == 640
|
101
|
+
file.height.should == 464
|
102
|
+
file.fps.should == "23.98"
|
103
103
|
end
|
104
104
|
|
105
105
|
specify "HD mpeg2" do
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
106
|
+
file = Inspector.new(:raw_response => files(:chairprank))
|
107
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
108
|
+
file.raw_duration.should == "00:00:36.6"
|
109
|
+
file.duration.should == 36600
|
110
|
+
file.bitrate.should == 26602
|
111
|
+
file.bitrate_units.should == "kb/s"
|
112
|
+
file.audio_stream_id.should == "#0.0"
|
113
|
+
file.audio_codec.should == "pcm_s16le"
|
114
|
+
file.audio_sample_rate.should == 48000
|
115
|
+
file.audio_sample_units.should == "Hz"
|
116
|
+
file.audio_channels_string.should == "stereo"
|
117
|
+
file.video_codec.should == "mpeg2video"
|
118
|
+
file.video_stream_id.should == "#0.1"
|
119
|
+
file.video_colorspace.should == "yuv420p"
|
120
|
+
file.width.should == 1440
|
121
|
+
file.height.should == 1080
|
122
|
+
file.fps.should == "29.97"
|
123
123
|
end
|
124
124
|
|
125
125
|
specify "h264 (1)" do
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
126
|
+
file = Inspector.new(:raw_response => files(:fire_short))
|
127
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
128
|
+
file.raw_duration.should == "00:00:10.0"
|
129
|
+
file.duration.should == 10000
|
130
|
+
file.bitrate.should == 23232
|
131
|
+
file.bitrate_units.should == "kb/s"
|
132
|
+
file.audio_stream_id.should == "#0.0"
|
133
|
+
file.audio_codec.should == "pcm_s16le"
|
134
|
+
file.audio_sample_rate.should == 48000
|
135
|
+
file.audio_sample_units.should == "Hz"
|
136
|
+
file.audio_channels_string.should == "stereo"
|
137
|
+
file.video_codec.should == "h264"
|
138
|
+
file.video_stream_id.should == "#0.1"
|
139
|
+
file.video_colorspace.should == "yuv420p"
|
140
|
+
file.width.should == 1280
|
141
|
+
file.height.should == 720
|
142
|
+
file.fps.should == "29.97"
|
143
143
|
end
|
144
144
|
|
145
145
|
specify "h264 video only" do
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
146
|
+
file = Inspector.new(:raw_response => files(:fire_video_only))
|
147
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
148
|
+
file.raw_duration.should == "00:00:10.0"
|
149
|
+
file.duration.should == 10000
|
150
|
+
file.bitrate.should == 506
|
151
|
+
file.bitrate_units.should == "kb/s"
|
152
|
+
file.audio?.should == false
|
153
|
+
file.audio_codec.should == nil
|
154
|
+
file.video_codec.should == "h264"
|
155
|
+
file.video_stream_id.should == "#0.0"
|
156
|
+
file.video_colorspace.should == "yuv420p"
|
157
|
+
file.width.should == 320
|
158
|
+
file.height.should == 180
|
159
|
+
file.fps.should == "29.97"
|
160
160
|
end
|
161
161
|
|
162
162
|
specify "aac audio only" do
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
163
|
+
file = Inspector.new(:raw_response => files(:fire_audio_only))
|
164
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
165
|
+
file.raw_duration.should == "00:00:10.0"
|
166
|
+
file.duration.should == 10000
|
167
|
+
file.bitrate.should == 86
|
168
|
+
file.bitrate_units.should == "kb/s"
|
169
|
+
file.audio_stream_id.should == "#0.0"
|
170
|
+
file.audio_codec.should == "aac"
|
171
|
+
file.audio_sample_rate.should == 48000
|
172
|
+
file.audio_sample_units.should == "Hz"
|
173
|
+
file.audio_channels_string.should == "stereo"
|
174
|
+
file.video?.should == false
|
175
|
+
file.video_codec.should be_nil
|
176
176
|
end
|
177
177
|
|
178
178
|
specify "apple intermediate" do
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
179
|
+
file = Inspector.new(:raw_response => files(:fireproof))
|
180
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
181
|
+
file.raw_duration.should == "00:00:18.7"
|
182
|
+
file.duration.should == 18700
|
183
|
+
file.bitrate.should == 24281
|
184
|
+
file.bitrate_units.should == "kb/s"
|
185
|
+
file.audio_stream_id.should == "#0.0"
|
186
|
+
file.audio_codec.should == "pcm_s16be"
|
187
|
+
file.audio_sample_rate.should == 48000
|
188
|
+
file.audio_sample_units.should == "Hz"
|
189
|
+
file.audio_channels_string.should == "mono"
|
190
|
+
file.video_codec.should == "Apple Intermediate Codec"
|
191
|
+
file.video_stream_id.should == "#0.1"
|
192
|
+
file.video_colorspace.should == nil
|
193
|
+
file.width.should == 1280
|
194
|
+
file.height.should == 720
|
195
|
+
file.fps.should == "600.00" # this is a known FFMPEG problem
|
196
196
|
end
|
197
197
|
|
198
198
|
specify "dv video" do
|
@@ -244,44 +244,52 @@ module RVideo
|
|
244
244
|
end
|
245
245
|
|
246
246
|
specify "audio only mp3" do
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
247
|
+
file = Inspector.new(:raw_response => files(:duck))
|
248
|
+
file.container.should == "mp3"
|
249
|
+
file.raw_duration.should == "00:02:03.0"
|
250
|
+
file.duration.should == 123000
|
251
|
+
file.bitrate.should == 128
|
252
|
+
file.bitrate_units.should == "kb/s"
|
253
|
+
file.audio_stream_id.should == "#0.0"
|
254
|
+
file.audio_codec.should == "mp3"
|
255
|
+
file.audio_sample_rate.should == 44100
|
256
|
+
file.audio_sample_units.should == "Hz"
|
257
|
+
file.audio_channels_string.should == "stereo"
|
258
|
+
file.audio?.should == true
|
259
|
+
file.video?.should == false
|
260
260
|
end
|
261
261
|
|
262
262
|
specify "audio only aac" do
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
263
|
+
file = Inspector.new(:raw_response => files(:eiffel))
|
264
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
265
|
+
file.raw_duration.should == "00:02:50.3"
|
266
|
+
file.duration.should == 170300
|
267
|
+
file.bitrate.should == 162
|
268
|
+
file.bitrate_units.should == "kb/s"
|
269
|
+
file.audio_stream_id.should == "#0.0"
|
270
|
+
file.audio_codec.should == "aac"
|
271
|
+
file.audio_sample_rate.should == 44100
|
272
|
+
file.audio_sample_units.should == "Hz"
|
273
|
+
file.audio_channels_string.should == "stereo"
|
274
|
+
file.audio?.should == true
|
275
|
+
file.video?.should == false
|
276
276
|
end
|
277
277
|
|
278
278
|
specify "invalid file" do
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
279
|
+
file = Inspector.new(:raw_response => files(:invalid))
|
280
|
+
file.container.should == "mov,mp4,m4a,3gp,3g2,mj2"
|
281
|
+
file.raw_duration.should be_nil
|
282
|
+
file.valid?.should be_false
|
283
|
+
file.unknown_format?.should be_false
|
284
|
+
file.unreadable_file?.should be_true
|
285
285
|
end
|
286
|
+
|
287
|
+
specify "failing mp3 file" do
|
288
|
+
file = Inspector.new(:raw_response => files(:failing_ogg))
|
289
|
+
file.raw_duration.should be_nil
|
290
|
+
file.invalid?.should be_true
|
291
|
+
file.unknown_format?.should be_false
|
292
|
+
file.unreadable_file?.should be_true
|
293
|
+
end
|
286
294
|
end
|
287
295
|
end
|
@@ -37,5 +37,13 @@ module RVideo
|
|
37
37
|
file.ffmpeg_build.should == "built on Apr 15 2006 04:58:19, gcc: 4.0.1 (Apple Computer, Inc. build 5250)"
|
38
38
|
file.raw_metadata.should =~ /^Input #/
|
39
39
|
end
|
40
|
+
|
41
|
+
it "should handle '\n' newline characters" do
|
42
|
+
raw_response = "FFmpeg version SVN-r10656, Copyright (c) 2000-2007 Fabrice Bellard, et al.\n configuration: --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-liba52 --enable-libxvid --enable-libfaac --enable-libfaad --enable-libx264 --enable-libxvid --enable-pp --enable-shared --enable-gpl --enable-libtheora --enable-libfaadbin --enable-liba52bin --enable-libamr_nb --enable-libamr_wb --enable-libacfr16 --extra-ldflags=-L/root/src/ffmpeg/libavcodec/acfr16/ --extra-libs=-lacfr\n libavutil version: 49.5.0\n libavcodec version: 51.44.0\n libavformat version: 51.14.0\n built on Oct 9 2007 18:53:49, gcc: 4.1.2 (Ubuntu 4.1.2-0ubuntu4)\nInput #0, mp3, from '/mnt/app/worker/tmp/2112/2007-07-29_11AM.mp3':\n Duration: 00:22:09.2, bitrate: 80 kb/s\n Stream #0.0: Audio: mp3, 22050 Hz, stereo, 80 kb/s\nMust supply at least one output file\n"
|
43
|
+
|
44
|
+
file = Inspector.new(:raw_response => raw_response)
|
45
|
+
file.ffmpeg_version.should == "SVN-r10656"
|
46
|
+
file.audio_codec.should == "mp3"
|
47
|
+
end
|
40
48
|
end
|
41
49
|
end
|
data/website/index.html
CHANGED
@@ -30,12 +30,12 @@
|
|
30
30
|
<body>
|
31
31
|
<div id="main">
|
32
32
|
<div style="text-align:right">
|
33
|
-
<a href="http://rvideo.rubyforge.org/rdoc">Documentation</a> | <a href="http://
|
33
|
+
<a href="http://rvideo.rubyforge.org/rdoc">Documentation</a> | <a href="http://zencoder.tv">Zencoder</a> | <a href="http://railspikes.com">Blog</a> | <a href="http://groups.google.com/group/rvideo">Group</a>
|
34
34
|
</div>
|
35
35
|
<h1>Ruby Video Processing</h1>
|
36
36
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rvideo"; return false'>
|
37
37
|
<p>Get Version</p>
|
38
|
-
<a href="http://rubyforge.org/projects/rvideo" class="numbers">0.9.
|
38
|
+
<a href="http://rubyforge.org/projects/rvideo" class="numbers">0.9.2</a>
|
39
39
|
</div>
|
40
40
|
<h1>→ ‘rvideo’</h1>
|
41
41
|
|
@@ -191,10 +191,10 @@ do.</p>
|
|
191
191
|
<p><a href="http://groups.google.com/group/rvideo">http://groups.google.com/group/rvideo</a></p>
|
192
192
|
|
193
193
|
|
194
|
-
<h2>
|
194
|
+
<h2>Zencoder (Shameless Plug)</h2>
|
195
195
|
|
196
196
|
|
197
|
-
<p>
|
197
|
+
<p>Zencoder is a commercial video transcoder built by Slantwise Design. Zencoder uses RVideo for its video processing, but adds file queuing, distributed transcoding, a web-based transcoder dashboard, and more. See <a href="http://zencoder.tv">http://zencoder.tv</a> or <a href="http://slantwisedesign.com">http://slantwisedesign.com</a> for more.</p>
|
198
198
|
|
199
199
|
|
200
200
|
<h2>License</h2>
|
@@ -208,7 +208,7 @@ do.</p>
|
|
208
208
|
|
209
209
|
<p>Comments are welcome. Send an email to Jonathan Dahl at jon [at] slantwisedesign.</p>
|
210
210
|
<p class="coda">
|
211
|
-
Page created with newgem by <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>,
|
211
|
+
Page created with newgem by <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 30th October 2007<br>
|
212
212
|
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
213
213
|
</p>
|
214
214
|
</div>
|
data/website/index.txt
CHANGED
@@ -129,9 +129,9 @@ h2. Forum
|
|
129
129
|
|
130
130
|
"http://groups.google.com/group/rvideo":http://groups.google.com/group/rvideo
|
131
131
|
|
132
|
-
h2.
|
132
|
+
h2. Zencoder (Shameless Plug)
|
133
133
|
|
134
|
-
|
134
|
+
Zencoder is a commercial video transcoder built by Slantwise Design. Zencoder uses RVideo for its video processing, but adds file queuing, distributed transcoding, a web-based transcoder dashboard, and more. See "http://zencoder.tv":http://zencoder.tv or "http://slantwisedesign.com":http://slantwisedesign.com for more.
|
135
135
|
|
136
136
|
h2. License
|
137
137
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rvideo
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.9.
|
7
|
-
date: 2007-10-
|
6
|
+
version: 0.9.2
|
7
|
+
date: 2007-10-30 00:00:00 -05:00
|
8
8
|
summary: Inspect and process video or audio files
|
9
9
|
require_paths:
|
10
10
|
- lib
|