zencoder 1.0.1 → 1.0.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/Manifest.txt +1 -2
- data/lib/recipes.rb +74 -0
- data/lib/zencoder.rb +1 -1
- metadata +5 -6
- data/.autotest +0 -23
- data/bin/zencoder +0 -3
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/lib/recipes.rb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
|
2
|
+
module ZencoderAPI #:nodoc:
|
3
|
+
|
4
|
+
|
5
|
+
# This class implements a couple of bogus recipes, mainly as an example of usage. Recipe isntances can be passed in to Zencoder#submit_job
|
6
|
+
class Recipe
|
7
|
+
@@keys = [:label, :base_url, :filename, :width, :height, :quality, :speed,
|
8
|
+
:upscale, :stretch, :frame_rate, :max_frame_rate, :keyframe_interval,
|
9
|
+
:video_bitrate, :bitrate_cap, :buffer_size, :h264_profile, :h264_level,
|
10
|
+
:skip_video, :audio_codec, :audio_bitrate, :audio_channels, :audio_sample_rate,
|
11
|
+
:skip_audio, :start_clip, :clip_length, :thumbnails, :notifications]
|
12
|
+
|
13
|
+
@@thumb_keys = [:number, :size, :base_url, :prefix]
|
14
|
+
|
15
|
+
# constructor. accepts a name for the recipe, and a hash of params. The constructor will try to verify that you aren't doing
|
16
|
+
# something it doesn't know about, though does no further validation.
|
17
|
+
def initialize(name, params )
|
18
|
+
params = params.inject(Hash.new) do |m,v|
|
19
|
+
m[v.first.to_s.to_sym]=v.last
|
20
|
+
m
|
21
|
+
end
|
22
|
+
raise RecipeError.new("no recipe parameters?") if params.empty?
|
23
|
+
raise RecipeError.new("unknown recipe parameter #{params.keys - @@keys}") unless (params.keys - @@keys).empty?
|
24
|
+
if params[:thumbnails]
|
25
|
+
raise RecipeError.new("unknown thumb keys #{params[:thumbnails].keys - @@thumb_keys}") if (params[:thumbnails].keys - @@thumb_keys).empty?
|
26
|
+
end
|
27
|
+
@o = params
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
def to_json #:nodoc:
|
32
|
+
@o.to_json
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# Raised if something goes wrong with a recipe configuration
|
37
|
+
class RecipeError < Exception; end
|
38
|
+
|
39
|
+
# Some example recipes.
|
40
|
+
module Recipes
|
41
|
+
#A sample iphone recipe. if you have a better one, send me a patch.
|
42
|
+
def self.iphone(params={})
|
43
|
+
raise "Base_url unset." unless params['base_url']
|
44
|
+
defaults = {
|
45
|
+
"label"=> "iphone",
|
46
|
+
"width"=> 240,
|
47
|
+
"frame_rate"=> 24,
|
48
|
+
"max_frame_rate"=> 24,
|
49
|
+
"video_bitrate"=> 40,
|
50
|
+
"bitrate_cap"=> 100
|
51
|
+
}
|
52
|
+
|
53
|
+
params = defaults.merge(params)
|
54
|
+
|
55
|
+
Recipe.new(:iphone, params)
|
56
|
+
end
|
57
|
+
|
58
|
+
# A sample web recipe. if you have a better one, send me a patch.
|
59
|
+
def self.web(params={})
|
60
|
+
raise "Base_url unset." unless params['base_url']
|
61
|
+
defaults = {
|
62
|
+
"label"=> "web",
|
63
|
+
"width"=> 240,
|
64
|
+
"frame_rate"=> 24,
|
65
|
+
"max_frame_rate"=> 24,
|
66
|
+
"video_bitrate"=> 40,
|
67
|
+
"bitrate_cap"=> 100
|
68
|
+
}
|
69
|
+
params = defaults.merge(params)
|
70
|
+
|
71
|
+
Recipe.new(:web, params)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/lib/zencoder.rb
CHANGED
@@ -13,7 +13,7 @@ class Zencoder
|
|
13
13
|
# Currently https://app.zencoder.com/api This means you have to have ssl built into your ruby!
|
14
14
|
API_URL = 'https://app.zencoder.com/api'
|
15
15
|
|
16
|
-
VERSION = '1.0.
|
16
|
+
VERSION = '1.0.2' #:nodoc:
|
17
17
|
# Submits a job to zencoder.
|
18
18
|
# The recipe should be an instance or array of instances of ZencoderAPI::Recipe
|
19
19
|
# Exceptions are not handled, but rather propagated upwards.
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 2
|
9
|
+
version: 1.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- McClain Looney
|
@@ -79,8 +79,8 @@ description: |-
|
|
79
79
|
See http://www.Zencoder.com for more details.
|
80
80
|
email:
|
81
81
|
- m@loonsoft.com
|
82
|
-
executables:
|
83
|
-
|
82
|
+
executables: []
|
83
|
+
|
84
84
|
extensions: []
|
85
85
|
|
86
86
|
extra_rdoc_files:
|
@@ -88,12 +88,11 @@ extra_rdoc_files:
|
|
88
88
|
- Manifest.txt
|
89
89
|
- README.txt
|
90
90
|
files:
|
91
|
-
- .autotest
|
92
91
|
- History.txt
|
93
92
|
- Manifest.txt
|
94
93
|
- README.txt
|
95
94
|
- Rakefile
|
96
|
-
-
|
95
|
+
- lib/recipes.rb
|
97
96
|
- lib/zencoder.rb
|
98
97
|
- test/test_zencoder.rb
|
99
98
|
has_rdoc: true
|
data/.autotest
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
|
3
|
-
require 'autotest/restart'
|
4
|
-
|
5
|
-
# Autotest.add_hook :initialize do |at|
|
6
|
-
# at.extra_files << "../some/external/dependency.rb"
|
7
|
-
#
|
8
|
-
# at.libs << ":../some/external"
|
9
|
-
#
|
10
|
-
# at.add_exception 'vendor'
|
11
|
-
#
|
12
|
-
# at.add_mapping(/dependency.rb/) do |f, _|
|
13
|
-
# at.files_matching(/test_.*rb$/)
|
14
|
-
# end
|
15
|
-
#
|
16
|
-
# %w(TestA TestB).each do |klass|
|
17
|
-
# at.extra_class_map[klass] = "test/test_misc.rb"
|
18
|
-
# end
|
19
|
-
# end
|
20
|
-
|
21
|
-
# Autotest.add_hook :run_command do |at|
|
22
|
-
# system "rake build"
|
23
|
-
# end
|
data/bin/zencoder
DELETED