vcs_ruby 1.1.8 → 1.1.9
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.
- checksums.yaml +7 -0
- data/bin/vcs.rb +171 -169
- data/lib/FFmpeg/ffmpeg.rb +121 -121
- data/lib/FFmpeg/ffmpeg_audio_stream.rb +37 -37
- data/lib/FFmpeg/ffmpeg_meta_info.rb +36 -36
- data/lib/FFmpeg/ffmpeg_video_stream.rb +62 -56
- data/lib/MPlayer/mplayer.rb +101 -101
- data/lib/MPlayer/mplayer_audio_stream.rb +33 -33
- data/lib/MPlayer/mplayer_meta_info.rb +39 -39
- data/lib/MPlayer/mplayer_video_stream.rb +44 -44
- data/lib/black.yml +12 -12
- data/lib/capturer.rb +69 -69
- data/lib/command.rb +51 -51
- data/lib/configuration.rb +150 -150
- data/lib/contact_sheet.rb +380 -366
- data/lib/defaults.yml +39 -39
- data/lib/font.rb +81 -81
- data/lib/frame.rb +161 -161
- data/lib/libAV/libav.rb +151 -151
- data/lib/libAV/libav_audio_stream.rb +37 -37
- data/lib/libAV/libav_meta_info.rb +36 -36
- data/lib/libAV/libav_video_stream.rb +62 -56
- data/lib/oldstyle.yml +22 -22
- data/lib/stream.rb +24 -24
- data/lib/time_index.rb +121 -121
- data/lib/tools.rb +81 -70
- data/lib/vcs.rb +26 -26
- data/lib/version.info +1 -1
- data/lib/version.rb +25 -25
- data/lib/video.rb +92 -88
- data/lib/white.yml +12 -12
- metadata +39 -47
data/lib/video.rb
CHANGED
@@ -1,89 +1,93 @@
|
|
1
|
-
#
|
2
|
-
# Represents the video file
|
3
|
-
#
|
4
|
-
|
5
|
-
require 'vcs'
|
6
|
-
|
7
|
-
module VCSRuby
|
8
|
-
class Video
|
9
|
-
attr_reader :config
|
10
|
-
|
11
|
-
def initialize video
|
12
|
-
initialize_filename video
|
13
|
-
initialize_capturers
|
14
|
-
end
|
15
|
-
|
16
|
-
def valid?
|
17
|
-
capturer.file_valid?
|
18
|
-
end
|
19
|
-
|
20
|
-
def info
|
21
|
-
capturer.info
|
22
|
-
end
|
23
|
-
|
24
|
-
def video
|
25
|
-
capturer.video_streams.first
|
26
|
-
end
|
27
|
-
|
28
|
-
def video_streams
|
29
|
-
capturer.video_streams
|
30
|
-
end
|
31
|
-
|
32
|
-
def audio
|
33
|
-
capturer.audio_streams.first
|
34
|
-
end
|
35
|
-
|
36
|
-
def audio_streams
|
37
|
-
capturer.audio_streams
|
38
|
-
end
|
39
|
-
|
40
|
-
def full_path
|
41
|
-
File.join(@path, @filename)
|
42
|
-
end
|
43
|
-
|
44
|
-
def contact_sheet
|
45
|
-
@contact_sheet ||= ContactSheet.new self, capturer
|
46
|
-
end
|
47
|
-
|
48
|
-
def frame time_index
|
49
|
-
return Frame.new self, capturer, time_index
|
50
|
-
end
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
@
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
@capturers
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
end
|
73
|
-
|
74
|
-
def
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
1
|
+
#
|
2
|
+
# Represents the video file
|
3
|
+
#
|
4
|
+
|
5
|
+
require 'vcs'
|
6
|
+
|
7
|
+
module VCSRuby
|
8
|
+
class Video
|
9
|
+
attr_reader :config
|
10
|
+
|
11
|
+
def initialize video
|
12
|
+
initialize_filename video
|
13
|
+
initialize_capturers
|
14
|
+
end
|
15
|
+
|
16
|
+
def valid?
|
17
|
+
capturer.file_valid?
|
18
|
+
end
|
19
|
+
|
20
|
+
def info
|
21
|
+
capturer.info
|
22
|
+
end
|
23
|
+
|
24
|
+
def video
|
25
|
+
capturer.video_streams.first
|
26
|
+
end
|
27
|
+
|
28
|
+
def video_streams
|
29
|
+
capturer.video_streams
|
30
|
+
end
|
31
|
+
|
32
|
+
def audio
|
33
|
+
capturer.audio_streams.first
|
34
|
+
end
|
35
|
+
|
36
|
+
def audio_streams
|
37
|
+
capturer.audio_streams
|
38
|
+
end
|
39
|
+
|
40
|
+
def full_path
|
41
|
+
File.join(@path, @filename)
|
42
|
+
end
|
43
|
+
|
44
|
+
def contact_sheet
|
45
|
+
@contact_sheet ||= ContactSheet.new self, capturer
|
46
|
+
end
|
47
|
+
|
48
|
+
def frame time_index
|
49
|
+
return Frame.new self, capturer, time_index
|
50
|
+
end
|
51
|
+
|
52
|
+
def capturer_name
|
53
|
+
capturer.name
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
def initialize_filename video
|
58
|
+
@path = File.dirname(File.absolute_path(video))
|
59
|
+
@filename = File.basename(video)
|
60
|
+
end
|
61
|
+
|
62
|
+
def initialize_capturers
|
63
|
+
@capturers = []
|
64
|
+
|
65
|
+
@capturers << LibAV.new(self)
|
66
|
+
@capturers << MPlayer.new(self)
|
67
|
+
@capturers << FFmpeg.new(self)
|
68
|
+
|
69
|
+
if Configuration.instance.verbose?
|
70
|
+
puts "Available capturers: #{available_capturers.map{ |c| c.to_s }.join(', ')}"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def available_capturers
|
75
|
+
@capturers.select{ |c| c.available? }
|
76
|
+
end
|
77
|
+
|
78
|
+
def capturer
|
79
|
+
result = nil
|
80
|
+
if Configuration.instance.capturer == :any
|
81
|
+
result = available_capturers.first
|
82
|
+
else
|
83
|
+
result = available_capturers.select{ |c| c.name == Configuration.instance.capturer }.first
|
84
|
+
end
|
85
|
+
|
86
|
+
unless result
|
87
|
+
raise "Selected Capturer (#{Configuration.instance.capturer}) not available. Install one of these: #{@capturers.map{ |c| c.name }.join(', ')}"
|
88
|
+
end
|
89
|
+
|
90
|
+
return result
|
91
|
+
end
|
92
|
+
end
|
89
93
|
end
|
data/lib/white.yml
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
style:
|
2
|
-
header:
|
3
|
-
color: Black
|
4
|
-
background: White
|
5
|
-
title:
|
6
|
-
color: Black
|
7
|
-
background: White
|
8
|
-
contact:
|
9
|
-
background: White
|
10
|
-
signature:
|
11
|
-
color: Black
|
12
|
-
background: White
|
1
|
+
style:
|
2
|
+
header:
|
3
|
+
color: Black
|
4
|
+
background: White
|
5
|
+
title:
|
6
|
+
color: Black
|
7
|
+
background: White
|
8
|
+
contact:
|
9
|
+
background: White
|
10
|
+
signature:
|
11
|
+
color: Black
|
12
|
+
background: White
|
metadata
CHANGED
@@ -1,80 +1,73 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcs_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.9
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Thomas Bruderer
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-01-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: mini_magick
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '4.0'
|
22
|
-
- -
|
20
|
+
- - ">="
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: 4.0.0
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- - ~>
|
27
|
+
- - "~>"
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '4.0'
|
33
|
-
- -
|
30
|
+
- - ">="
|
34
31
|
- !ruby/object:Gem::Version
|
35
32
|
version: 4.0.0
|
36
33
|
- !ruby/object:Gem::Dependency
|
37
34
|
name: bundler
|
38
35
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
|
-
- - ~>
|
37
|
+
- - "~>"
|
42
38
|
- !ruby/object:Gem::Version
|
43
39
|
version: '1.5'
|
44
|
-
- -
|
40
|
+
- - ">="
|
45
41
|
- !ruby/object:Gem::Version
|
46
42
|
version: 1.5.0
|
47
43
|
type: :development
|
48
44
|
prerelease: false
|
49
45
|
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
46
|
requirements:
|
52
|
-
- - ~>
|
47
|
+
- - "~>"
|
53
48
|
- !ruby/object:Gem::Version
|
54
49
|
version: '1.5'
|
55
|
-
- -
|
50
|
+
- - ">="
|
56
51
|
- !ruby/object:Gem::Version
|
57
52
|
version: 1.5.0
|
58
53
|
- !ruby/object:Gem::Dependency
|
59
54
|
name: rake
|
60
55
|
requirement: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
56
|
requirements:
|
63
|
-
- - ~>
|
57
|
+
- - "~>"
|
64
58
|
- !ruby/object:Gem::Version
|
65
59
|
version: '11.0'
|
66
|
-
- -
|
60
|
+
- - ">="
|
67
61
|
- !ruby/object:Gem::Version
|
68
62
|
version: 11.0.0
|
69
63
|
type: :development
|
70
64
|
prerelease: false
|
71
65
|
version_requirements: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
66
|
requirements:
|
74
|
-
- - ~>
|
67
|
+
- - "~>"
|
75
68
|
- !ruby/object:Gem::Version
|
76
69
|
version: '11.0'
|
77
|
-
- -
|
70
|
+
- - ">="
|
78
71
|
- !ruby/object:Gem::Version
|
79
72
|
version: 11.0.0
|
80
73
|
description: Creates a contact sheet, a preview, of a video, usable as library or
|
@@ -86,60 +79,59 @@ executables:
|
|
86
79
|
extensions: []
|
87
80
|
extra_rdoc_files: []
|
88
81
|
files:
|
89
|
-
-
|
90
|
-
- lib/
|
91
|
-
- lib/
|
82
|
+
- bin/vcs.rb
|
83
|
+
- lib/FFmpeg/ffmpeg.rb
|
84
|
+
- lib/FFmpeg/ffmpeg_audio_stream.rb
|
85
|
+
- lib/FFmpeg/ffmpeg_meta_info.rb
|
86
|
+
- lib/FFmpeg/ffmpeg_video_stream.rb
|
92
87
|
- lib/MPlayer/mplayer.rb
|
93
88
|
- lib/MPlayer/mplayer_audio_stream.rb
|
94
89
|
- lib/MPlayer/mplayer_meta_info.rb
|
90
|
+
- lib/MPlayer/mplayer_video_stream.rb
|
91
|
+
- lib/black.yml
|
92
|
+
- lib/capturer.rb
|
93
|
+
- lib/command.rb
|
94
|
+
- lib/configuration.rb
|
95
|
+
- lib/contact_sheet.rb
|
96
|
+
- lib/defaults.yml
|
97
|
+
- lib/font.rb
|
98
|
+
- lib/frame.rb
|
99
|
+
- lib/libAV/libav.rb
|
95
100
|
- lib/libAV/libav_audio_stream.rb
|
96
101
|
- lib/libAV/libav_meta_info.rb
|
97
102
|
- lib/libAV/libav_video_stream.rb
|
98
|
-
- lib/
|
99
|
-
- lib/time_index.rb
|
100
|
-
- lib/font.rb
|
103
|
+
- lib/oldstyle.yml
|
101
104
|
- lib/stream.rb
|
105
|
+
- lib/time_index.rb
|
102
106
|
- lib/tools.rb
|
103
|
-
- lib/
|
107
|
+
- lib/vcs.rb
|
108
|
+
- lib/version.info
|
104
109
|
- lib/version.rb
|
110
|
+
- lib/video.rb
|
105
111
|
- lib/white.yml
|
106
|
-
- lib/capturer.rb
|
107
|
-
- lib/FFmpeg/ffmpeg_meta_info.rb
|
108
|
-
- lib/FFmpeg/ffmpeg_video_stream.rb
|
109
|
-
- lib/FFmpeg/ffmpeg.rb
|
110
|
-
- lib/FFmpeg/ffmpeg_audio_stream.rb
|
111
|
-
- lib/version.info
|
112
|
-
- lib/vcs.rb
|
113
|
-
- lib/command.rb
|
114
|
-
- lib/black.yml
|
115
|
-
- lib/configuration.rb
|
116
|
-
- lib/oldstyle.yml
|
117
|
-
- lib/defaults.yml
|
118
|
-
- bin/vcs.rb
|
119
112
|
homepage: https://github.com/FreeApophis/vcs.rb
|
120
113
|
licenses:
|
121
114
|
- GPL3
|
115
|
+
metadata: {}
|
122
116
|
post_install_message:
|
123
117
|
rdoc_options: []
|
124
118
|
require_paths:
|
125
119
|
- lib
|
126
120
|
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
121
|
requirements:
|
129
|
-
- -
|
122
|
+
- - ">="
|
130
123
|
- !ruby/object:Gem::Version
|
131
124
|
version: 1.8.6
|
132
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
126
|
requirements:
|
135
|
-
- -
|
127
|
+
- - ">="
|
136
128
|
- !ruby/object:Gem::Version
|
137
129
|
version: '0'
|
138
130
|
requirements:
|
139
131
|
- libav or ffmpeg or mplayer
|
140
132
|
rubyforge_project:
|
141
|
-
rubygems_version:
|
133
|
+
rubygems_version: 2.6.8
|
142
134
|
signing_key:
|
143
|
-
specification_version:
|
135
|
+
specification_version: 4
|
144
136
|
summary: Generates contact sheets of videos
|
145
137
|
test_files: []
|