vidibus-encoder 0.1.0 → 0.2.0
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/README.md +9 -0
- data/Rakefile +0 -6
- data/lib/vidibus/encoder/base.rb +5 -4
- data/lib/vidibus/encoder/util/profile.rb +1 -1
- data/lib/vidibus/encoder/version.rb +1 -1
- metadata +91 -145
data/README.md
CHANGED
@@ -14,6 +14,15 @@ Use FFMpeg's cropdetect to cut off black bars:
|
|
14
14
|
ffmpeg -ss 600 -t 100 -i [input video] -vf "select='isnan(prev_selected_t)+gte(t-prev_selected_t,1)',cropdetect=24:2:0" -an -y null.mp4
|
15
15
|
```
|
16
16
|
|
17
|
+
Create an audio encoder that may be used as filter for other encoders to
|
18
|
+
process the audio stream:
|
19
|
+
```
|
20
|
+
# Normalize audio:
|
21
|
+
ffmpeg -i input.mp4 -f wav input.wav
|
22
|
+
sox -v `sox input.wav -n stat -v 2>&1` input.wav normalized.wav
|
23
|
+
ffmpeg -i input.mp4 -i normalized.wav -map 0:0 -map 1:0 normalized.mp4
|
24
|
+
```
|
25
|
+
|
17
26
|
## Copyright
|
18
27
|
|
19
28
|
© 2012 André Pankratz. See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -7,12 +7,6 @@ require 'rspec/core/rake_task'
|
|
7
7
|
|
8
8
|
Bundler::GemHelper.install_tasks
|
9
9
|
|
10
|
-
RSpec::Core::RakeTask.new(:rcov) do |t|
|
11
|
-
t.pattern = 'spec/**/*_spec.rb'
|
12
|
-
t.rcov = true
|
13
|
-
t.rcov_opts = ['--exclude', '^spec,/gems/']
|
14
|
-
end
|
15
|
-
|
16
10
|
Rake::RDocTask.new do |rdoc|
|
17
11
|
rdoc.rdoc_dir = 'rdoc'
|
18
12
|
rdoc.title = 'Vidibus::Encoder'
|
data/lib/vidibus/encoder/base.rb
CHANGED
@@ -3,15 +3,15 @@ module Vidibus
|
|
3
3
|
|
4
4
|
# This is the main encoder that you can build your own encoders on.
|
5
5
|
#
|
6
|
-
# The workflow of
|
6
|
+
# The workflow of an encoder is as follows:
|
7
7
|
#
|
8
8
|
# initialize
|
9
9
|
# run
|
10
10
|
# validate_options
|
11
11
|
# prepare
|
12
12
|
# => for each profile:
|
13
|
-
# preprocess
|
14
13
|
# next unless process?
|
14
|
+
# preprocess
|
15
15
|
# process
|
16
16
|
# postprocess
|
17
17
|
# finish
|
@@ -25,7 +25,7 @@ module Vidibus
|
|
25
25
|
|
26
26
|
attr_reader :options, :tmp, :input, :output, :profile, :profiles
|
27
27
|
|
28
|
-
# Initialize
|
28
|
+
# Initialize an encoder instance with given options. Two options are
|
29
29
|
# mandatory:
|
30
30
|
#
|
31
31
|
# :input [String] The path to the input file
|
@@ -79,7 +79,8 @@ module Vidibus
|
|
79
79
|
def run
|
80
80
|
validate_options
|
81
81
|
prepare
|
82
|
-
profiles.sorted.each do
|
82
|
+
profiles.sorted.each do |p|
|
83
|
+
@profile = p
|
83
84
|
next unless process?
|
84
85
|
preprocess
|
85
86
|
process
|
@@ -20,7 +20,7 @@ module Vidibus
|
|
20
20
|
def validate
|
21
21
|
raise(ProfileError, 'Define a name for this profile') if [nil, ''].include?(name)
|
22
22
|
raise(ProfileError, 'Define a settings hash for this profile') unless settings.is_a?(Hash) && settings.any?
|
23
|
-
raise(ProfileError, 'Define
|
23
|
+
raise(ProfileError, 'Define an encoder class for this profile') unless base
|
24
24
|
end
|
25
25
|
|
26
26
|
# Return a list of all profile attributes
|
metadata
CHANGED
@@ -1,162 +1,121 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: vidibus-encoder
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 0.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
13
|
-
-
|
7
|
+
authors:
|
8
|
+
- André Pankratz
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-06-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: posix-spawn
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2157859500 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: vidibus-fileinfo
|
37
23
|
prerelease: false
|
38
|
-
|
24
|
+
version_requirements: *2157859500
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: vidibus-fileinfo
|
27
|
+
requirement: &2157858900 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 1
|
46
|
-
- 0
|
47
|
-
- 0
|
48
|
-
version: 1.0.0
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
49
33
|
type: :runtime
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: vidibus-uuid
|
53
34
|
prerelease: false
|
54
|
-
|
35
|
+
version_requirements: *2157858900
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: vidibus-uuid
|
38
|
+
requirement: &2157858300 !ruby/object:Gem::Requirement
|
55
39
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 0
|
62
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
63
44
|
type: :runtime
|
64
|
-
version_requirements: *id003
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
name: bundler
|
67
45
|
prerelease: false
|
68
|
-
|
46
|
+
version_requirements: *2157858300
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bundler
|
49
|
+
requirement: &2157857580 !ruby/object:Gem::Requirement
|
69
50
|
none: false
|
70
|
-
requirements:
|
71
|
-
- -
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
hash: 23
|
74
|
-
segments:
|
75
|
-
- 1
|
76
|
-
- 0
|
77
|
-
- 0
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
78
54
|
version: 1.0.0
|
79
55
|
type: :development
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: rake
|
83
56
|
prerelease: false
|
84
|
-
|
57
|
+
version_requirements: *2157857580
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rake
|
60
|
+
requirement: &2157857140 !ruby/object:Gem::Requirement
|
85
61
|
none: false
|
86
|
-
requirements:
|
87
|
-
- -
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
segments:
|
91
|
-
- 0
|
92
|
-
version: "0"
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
93
66
|
type: :development
|
94
|
-
version_requirements: *id005
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: rdoc
|
97
67
|
prerelease: false
|
98
|
-
|
68
|
+
version_requirements: *2157857140
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rdoc
|
71
|
+
requirement: &2157856680 !ruby/object:Gem::Requirement
|
99
72
|
none: false
|
100
|
-
requirements:
|
101
|
-
- -
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
segments:
|
105
|
-
- 0
|
106
|
-
version: "0"
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
107
77
|
type: :development
|
108
|
-
version_requirements: *id006
|
109
|
-
- !ruby/object:Gem::Dependency
|
110
|
-
name: rcov
|
111
78
|
prerelease: false
|
112
|
-
|
113
|
-
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
hash: 3
|
118
|
-
segments:
|
119
|
-
- 0
|
120
|
-
version: "0"
|
121
|
-
type: :development
|
122
|
-
version_requirements: *id007
|
123
|
-
- !ruby/object:Gem::Dependency
|
79
|
+
version_requirements: *2157856680
|
80
|
+
- !ruby/object:Gem::Dependency
|
124
81
|
name: rspec
|
125
|
-
|
126
|
-
requirement: &id008 !ruby/object:Gem::Requirement
|
82
|
+
requirement: &2157856180 !ruby/object:Gem::Requirement
|
127
83
|
none: false
|
128
|
-
requirements:
|
84
|
+
requirements:
|
129
85
|
- - ~>
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
|
132
|
-
segments:
|
133
|
-
- 2
|
134
|
-
version: "2"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '2'
|
135
88
|
type: :development
|
136
|
-
|
137
|
-
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *2157856180
|
91
|
+
- !ruby/object:Gem::Dependency
|
138
92
|
name: rr
|
93
|
+
requirement: &2157855760 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :development
|
139
100
|
prerelease: false
|
140
|
-
|
101
|
+
version_requirements: *2157855760
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: simplecov
|
104
|
+
requirement: &2157855300 !ruby/object:Gem::Requirement
|
141
105
|
none: false
|
142
|
-
requirements:
|
143
|
-
- -
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
|
146
|
-
segments:
|
147
|
-
- 0
|
148
|
-
version: "0"
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
149
110
|
type: :development
|
150
|
-
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *2157855300
|
151
113
|
description: Encoder framework
|
152
114
|
email: andre@vidibus.com
|
153
115
|
executables: []
|
154
|
-
|
155
116
|
extensions: []
|
156
|
-
|
157
117
|
extra_rdoc_files: []
|
158
|
-
|
159
|
-
files:
|
118
|
+
files:
|
160
119
|
- lib/vidibus/encoder/base.rb
|
161
120
|
- lib/vidibus/encoder/helper/base.rb
|
162
121
|
- lib/vidibus/encoder/helper/flags.rb
|
@@ -175,41 +134,28 @@ files:
|
|
175
134
|
- LICENSE
|
176
135
|
- README.md
|
177
136
|
- Rakefile
|
178
|
-
has_rdoc: true
|
179
137
|
homepage: https://github.com/vidibus/vidibus-encoder
|
180
138
|
licenses: []
|
181
|
-
|
182
139
|
post_install_message:
|
183
140
|
rdoc_options: []
|
184
|
-
|
185
|
-
require_paths:
|
141
|
+
require_paths:
|
186
142
|
- lib
|
187
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
188
144
|
none: false
|
189
|
-
requirements:
|
190
|
-
- -
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
|
193
|
-
|
194
|
-
- 0
|
195
|
-
version: "0"
|
196
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ! '>='
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
150
|
none: false
|
198
|
-
requirements:
|
199
|
-
- -
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
hash: 23
|
202
|
-
segments:
|
203
|
-
- 1
|
204
|
-
- 3
|
205
|
-
- 6
|
151
|
+
requirements:
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
206
154
|
version: 1.3.6
|
207
155
|
requirements: []
|
208
|
-
|
209
156
|
rubyforge_project: vidibus-encoder
|
210
|
-
rubygems_version: 1.
|
157
|
+
rubygems_version: 1.8.11
|
211
158
|
signing_key:
|
212
159
|
specification_version: 3
|
213
160
|
summary: Encoder framework
|
214
161
|
test_files: []
|
215
|
-
|