vtools 0.0.1
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/INSTALL +0 -0
- data/LICENSE +20 -0
- data/README.md +131 -0
- data/Rakefile +29 -0
- data/bin/vtools +22 -0
- data/doc/CONFIG.md +36 -0
- data/doc/HOOKS.md +37 -0
- data/doc/LIB_EXAMPLE.md +109 -0
- data/extconf.rb +7 -0
- data/lib/vtools.rb +79 -0
- data/lib/vtools/config.rb +91 -0
- data/lib/vtools/convert_options.rb +155 -0
- data/lib/vtools/converter.rb +98 -0
- data/lib/vtools/errors.rb +21 -0
- data/lib/vtools/handler.rb +43 -0
- data/lib/vtools/harvester.rb +71 -0
- data/lib/vtools/job.rb +48 -0
- data/lib/vtools/options.rb +101 -0
- data/lib/vtools/shared_methods.rb +131 -0
- data/lib/vtools/storage.rb +67 -0
- data/lib/vtools/thumbnailer.rb +93 -0
- data/lib/vtools/thumbs_options.rb +80 -0
- data/lib/vtools/version.rb +6 -0
- data/lib/vtools/version.rb~ +4 -0
- data/lib/vtools/video.rb +158 -0
- data/setup.rb +1585 -0
- data/spec/config_spec.rb +142 -0
- data/spec/convert_options_spec.rb +284 -0
- data/spec/converter_spec.rb +167 -0
- data/spec/errors_spec.rb +39 -0
- data/spec/fixtures/outputs/file_with_iso-8859-1.txt +35 -0
- data/spec/fixtures/outputs/file_with_no_audio.txt +18 -0
- data/spec/fixtures/outputs/file_with_non_supported_audio.txt +29 -0
- data/spec/fixtures/outputs/file_with_start_value.txt +19 -0
- data/spec/fixtures/outputs/file_with_surround_sound.txt +19 -0
- data/spec/handler_spec.rb +81 -0
- data/spec/harvester_spec.rb +189 -0
- data/spec/job_spec.rb +130 -0
- data/spec/options_spec.rb +52 -0
- data/spec/shared_methods_spec.rb +351 -0
- data/spec/spec_helper.rb +20 -0
- data/spec/storage_spec.rb +106 -0
- data/spec/thumbnailer_spec.rb +178 -0
- data/spec/thumbs_options_spec.rb +159 -0
- data/spec/video_spec.rb +274 -0
- data/vtools.gemspec +29 -0
- metadata +177 -0
data/vtools.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: binary -*-
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift 'lib'
|
4
|
+
require "vtools/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
|
8
|
+
s.name = "vtools"
|
9
|
+
s.summary = "Daemon tools to operate the video (get info, encode & generate thumbnails)."
|
10
|
+
s.description = File.read(File.join(File.dirname(__FILE__), 'README.md'))
|
11
|
+
|
12
|
+
s.extensions = 'extconf.rb'
|
13
|
+
s.requirements = ['ffmpeg v >= 1.8', 'ffmpegthumbnailer v >= 2', 'gem Daemons v >= 1.1.4']
|
14
|
+
|
15
|
+
s.files = Dir['**/**']
|
16
|
+
s.test_files = Dir["spec/*_spec.rb"]
|
17
|
+
s.executables = ["vtools"]
|
18
|
+
|
19
|
+
s.version = VTools::VERSION.join('.')
|
20
|
+
s.author = "tofir"
|
21
|
+
s.email = "v.tofir@gmail.com"
|
22
|
+
s.homepage = "http://tofir.comuv.com"
|
23
|
+
s.platform = Gem::Platform::RUBY
|
24
|
+
s.required_ruby_version = ">=1.9"
|
25
|
+
|
26
|
+
s.add_dependency 'daemons', '>= 1.1.4'
|
27
|
+
s.add_dependency 'json'
|
28
|
+
s.add_development_dependency 'rspec'
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vtools
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- tofir
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-11-23 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: daemons
|
16
|
+
requirement: &79101960 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.1.4
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *79101960
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: json
|
27
|
+
requirement: &79101770 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *79101770
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &79101540 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *79101540
|
47
|
+
description: ! "# VTools\n\nDaemon video processor tools to operate the video (get
|
48
|
+
info, encode & generate thumbnails).\nUnder the hood ffmpeg & ffmpegthumbnailer
|
49
|
+
are used.\nSome ideas has been taken at the streamio-ffmpeg gem (parse output methods).\n\nProject
|
50
|
+
was developed for the [WebTV](http://web.tv)\n\n## Installation\n\n (sudo) gem
|
51
|
+
install vtools\n\nPlease read changelog to check ffmpeg versions compatibility.\n\n##
|
52
|
+
Usage\n\n### Getting started\n\nBefore start, daemon should be correctly configured,
|
53
|
+
to have valid access to the storage.\nMandatory methods are: **connect**, **recv**
|
54
|
+
and **send**.\n\n``` ruby\n#--file library.rb--#\n# encoding: binary\n\n#to setup
|
55
|
+
storage:\nVTools::Storage.setup do\n\n # connection setup\n connect_action do\n
|
56
|
+
\ # ... connect to the storage (persistent)\n end\n\n # message reciever\n #
|
57
|
+
should return JSON encoded string\n # see complete storage setup reference for
|
58
|
+
details\n recv_action do\n # ... job data recieve algorithm\n end\n\n # message
|
59
|
+
sender\n # recieves hash: { :data => execution_result, :action => executed_action
|
60
|
+
}\n # execution_result can be video object or array with thumbnails\n send_action
|
61
|
+
do |result|\n # ... send action here\n end\nend\n\n# storage can be setup separate\nVTools::Storage.connect_action
|
62
|
+
do\n # ... connect to the storage\nend\n```\n\n### Setup message (JSON)\n\n```\n{
|
63
|
+
\"action\" : \"convert|thumbs|info\", \"file\" : \"path/to/file\", \"setup\" : <
|
64
|
+
setup > }\n# setup can be:\n# -- \"predefined_set_id\"\n# -- { ffmpeg_options_hash
|
65
|
+
}\n# -- { \"set\": \"predefined_set_str\", ffmpeg_options_hash }\n```\n\n### User
|
66
|
+
friendly option names\n\n```\nconverter (ffmpeg)\n preserve_aspect (true or false)\n
|
67
|
+
\ extension (result file extension)\n width, height\n resolution\n duration\n\nthumbnailer
|
68
|
+
(ffmpegthumbnailer)\n thumb_count\n thumb_start_point (in percents)\n time (time
|
69
|
+
offset, alias for -t)\n quality (0 - 10)\n width\n```\n\n## Start\n\nTo
|
70
|
+
launch daemon is enough to require library with storage setup:\n (sudo) vtools
|
71
|
+
start -- -r library\n\n## Options\n\n### Daemon options are\n start\n stop\n restart\n\n###
|
72
|
+
Application options are:\n -c or --config-file - load config from file\n -r or
|
73
|
+
--require - load ruby library file (can be used more than once)\n\n### To see
|
74
|
+
complete options list use\n vtools --help\n\n### Using logger\n\nBy default the
|
75
|
+
`logger` gem is used. But there is possibility to set custom logger, that is compatible
|
76
|
+
with the default logger.\n\n``` ruby\nVTools.logger = CustomLoger.new($stdout)\n```\n\n###
|
77
|
+
Additioinal methods\n\nPath generator is used by the thumnailer, converter or both
|
78
|
+
to generate necessary dir tree logic for the media.\nIt accepts file name and should
|
79
|
+
return relative path (excluding file name itself)\n\n``` ruby\n# path generator
|
80
|
+
(used to )\nVTools.path_generator do |file_name|\n # ..\nend\n\n```\n\n**Network
|
81
|
+
calls** (TCP GET request, that will return message body content, ignoring response
|
82
|
+
headers)\n\n``` ruby\n\n# http calls\nVTools.network_call \"site.com/some/uri\"\nVTools.network_call
|
83
|
+
\"www.site.com\"\nVTools.network_call \"http://www.site.com\"\n```\n"
|
84
|
+
email: v.tofir@gmail.com
|
85
|
+
executables:
|
86
|
+
- vtools
|
87
|
+
extensions:
|
88
|
+
- extconf.rb
|
89
|
+
extra_rdoc_files: []
|
90
|
+
files:
|
91
|
+
- bin/vtools
|
92
|
+
- README.md
|
93
|
+
- Rakefile
|
94
|
+
- lib/vtools.rb
|
95
|
+
- lib/vtools/video.rb
|
96
|
+
- lib/vtools/harvester.rb
|
97
|
+
- lib/vtools/storage.rb
|
98
|
+
- lib/vtools/converter.rb
|
99
|
+
- lib/vtools/version.rb
|
100
|
+
- lib/vtools/errors.rb
|
101
|
+
- lib/vtools/job.rb
|
102
|
+
- lib/vtools/convert_options.rb
|
103
|
+
- lib/vtools/version.rb~
|
104
|
+
- lib/vtools/thumbnailer.rb
|
105
|
+
- lib/vtools/shared_methods.rb
|
106
|
+
- lib/vtools/handler.rb
|
107
|
+
- lib/vtools/config.rb
|
108
|
+
- lib/vtools/options.rb
|
109
|
+
- lib/vtools/thumbs_options.rb
|
110
|
+
- INSTALL
|
111
|
+
- spec/job_spec.rb
|
112
|
+
- spec/convert_options_spec.rb
|
113
|
+
- spec/fixtures/outputs/file_with_start_value.txt
|
114
|
+
- spec/fixtures/outputs/file_with_surround_sound.txt
|
115
|
+
- spec/fixtures/outputs/file_with_iso-8859-1.txt
|
116
|
+
- spec/fixtures/outputs/file_with_no_audio.txt
|
117
|
+
- spec/fixtures/outputs/file_with_non_supported_audio.txt
|
118
|
+
- spec/config_spec.rb
|
119
|
+
- spec/harvester_spec.rb
|
120
|
+
- spec/storage_spec.rb
|
121
|
+
- spec/errors_spec.rb
|
122
|
+
- spec/handler_spec.rb
|
123
|
+
- spec/converter_spec.rb
|
124
|
+
- spec/video_spec.rb
|
125
|
+
- spec/spec_helper.rb
|
126
|
+
- spec/thumbnailer_spec.rb
|
127
|
+
- spec/options_spec.rb
|
128
|
+
- spec/shared_methods_spec.rb
|
129
|
+
- spec/thumbs_options_spec.rb
|
130
|
+
- doc/HOOKS.md
|
131
|
+
- doc/LIB_EXAMPLE.md
|
132
|
+
- doc/CONFIG.md
|
133
|
+
- LICENSE
|
134
|
+
- setup.rb
|
135
|
+
- vtools.gemspec
|
136
|
+
- extconf.rb
|
137
|
+
homepage: http://tofir.comuv.com
|
138
|
+
licenses: []
|
139
|
+
post_install_message:
|
140
|
+
rdoc_options: []
|
141
|
+
require_paths:
|
142
|
+
- lib
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
145
|
+
requirements:
|
146
|
+
- - ! '>='
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '1.9'
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
151
|
+
requirements:
|
152
|
+
- - ! '>='
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
requirements:
|
156
|
+
- ffmpeg v >= 1.8
|
157
|
+
- ffmpegthumbnailer v >= 2
|
158
|
+
- gem Daemons v >= 1.1.4
|
159
|
+
rubyforge_project:
|
160
|
+
rubygems_version: 1.8.10
|
161
|
+
signing_key:
|
162
|
+
specification_version: 3
|
163
|
+
summary: Daemon tools to operate the video (get info, encode & generate thumbnails).
|
164
|
+
test_files:
|
165
|
+
- spec/job_spec.rb
|
166
|
+
- spec/convert_options_spec.rb
|
167
|
+
- spec/config_spec.rb
|
168
|
+
- spec/harvester_spec.rb
|
169
|
+
- spec/storage_spec.rb
|
170
|
+
- spec/errors_spec.rb
|
171
|
+
- spec/handler_spec.rb
|
172
|
+
- spec/converter_spec.rb
|
173
|
+
- spec/video_spec.rb
|
174
|
+
- spec/thumbnailer_spec.rb
|
175
|
+
- spec/options_spec.rb
|
176
|
+
- spec/shared_methods_spec.rb
|
177
|
+
- spec/thumbs_options_spec.rb
|