MIAConverter 0.2.0 → 0.2.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.
- checksums.yaml +4 -4
- data/MIAConverter.gemspec +75 -0
- data/README.md +1 -0
- data/VERSION +1 -1
- data/lib/MIAConverter.rb +25 -12
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22d03d2259857ad14d11debdba20612dedb13222
|
4
|
+
data.tar.gz: 9f00c996c33dd83708e5cb9646dcc186518f4b53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd0b7688d3937fc751e76f4aa7a4cbee2a1f3388f2f4e3cf36bd7d1914691d3901e0e08bcddced7c1987863aecdcf43e3ba8ace981cd1cbf0f17de9c15495bad
|
7
|
+
data.tar.gz: cd3d453beebf289c8f6f244d2ce61e791ec8be0fae2f189b9a91b43d6a7a4efbb4b92a44de3eca693484748132fb1d83076ac2c4868113b6f094a698041680a1
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: MIAConverter 0.2.1 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "MIAConverter"
|
9
|
+
s.version = "0.2.1"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.authors = ["Martin Nash"]
|
13
|
+
s.date = "2013-12-11"
|
14
|
+
s.description = "Turns a video file into an animated gif."
|
15
|
+
s.email = "martin.j.nash@gmail.com"
|
16
|
+
s.extra_rdoc_files = [
|
17
|
+
"LICENSE.txt",
|
18
|
+
"README.md"
|
19
|
+
]
|
20
|
+
s.files = [
|
21
|
+
".document",
|
22
|
+
".travis.yml",
|
23
|
+
"Gemfile",
|
24
|
+
"Gemfile.lock",
|
25
|
+
"LICENSE.txt",
|
26
|
+
"MIAConverter.gemspec",
|
27
|
+
"README.md",
|
28
|
+
"Rakefile",
|
29
|
+
"VERSION",
|
30
|
+
"example/1386362824-tt40-gap0.5animated.gif",
|
31
|
+
"example/gem_example.rb",
|
32
|
+
"example/typing.mp4",
|
33
|
+
"lib/MIAConverter.rb",
|
34
|
+
"spec/MIAConverter_spec.rb",
|
35
|
+
"spec/spec_helper.rb",
|
36
|
+
"test/helper.rb",
|
37
|
+
"test/test_MIAConverter.rb"
|
38
|
+
]
|
39
|
+
s.homepage = "http://github.com/MartinJNash/MIAConverter"
|
40
|
+
s.licenses = ["MIT"]
|
41
|
+
s.require_paths = ["lib"]
|
42
|
+
s.rubygems_version = "2.1.11"
|
43
|
+
s.summary = "Turns a video file into an animated gif."
|
44
|
+
|
45
|
+
if s.respond_to? :specification_version then
|
46
|
+
s.specification_version = 4
|
47
|
+
|
48
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
49
|
+
s.add_runtime_dependency(%q<streamio-ffmpeg>, ["~> 1.0.0"])
|
50
|
+
s.add_runtime_dependency(%q<rmagick>, ["~> 2.13.2"])
|
51
|
+
s.add_runtime_dependency(%q<rake>, [">= 0"])
|
52
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.14.0"])
|
53
|
+
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
54
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
55
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8.7"])
|
56
|
+
else
|
57
|
+
s.add_dependency(%q<streamio-ffmpeg>, ["~> 1.0.0"])
|
58
|
+
s.add_dependency(%q<rmagick>, ["~> 2.13.2"])
|
59
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
60
|
+
s.add_dependency(%q<rspec>, ["~> 2.14.0"])
|
61
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
62
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
63
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.7"])
|
64
|
+
end
|
65
|
+
else
|
66
|
+
s.add_dependency(%q<streamio-ffmpeg>, ["~> 1.0.0"])
|
67
|
+
s.add_dependency(%q<rmagick>, ["~> 2.13.2"])
|
68
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
69
|
+
s.add_dependency(%q<rspec>, ["~> 2.14.0"])
|
70
|
+
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
71
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
72
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.7"])
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
data/README.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/MIAConverter.rb
CHANGED
@@ -3,22 +3,25 @@ require 'streamio-ffmpeg'
|
|
3
3
|
|
4
4
|
module MIAConverter
|
5
5
|
|
6
|
-
#
|
7
|
-
|
8
|
-
# FFMPEG.logger = Logger.new('/tmp/MIAConverter/logs/ffmpeglog.txt');
|
6
|
+
# Converts a video to an animated GIF.
|
7
|
+
|
9
8
|
|
10
9
|
|
11
10
|
class Converter
|
12
11
|
|
13
|
-
#
|
12
|
+
# Path to original file
|
14
13
|
attr_accessor :original_file
|
15
14
|
|
16
|
-
#
|
15
|
+
# Number of seconds into original video to start animated GIF
|
17
16
|
attr_accessor :start_seconds
|
17
|
+
|
18
|
+
# Number of seconds of original video represented in animated GIF
|
18
19
|
attr_accessor :length_seconds
|
19
|
-
attr_accessor :shot_gap # seconds apart to take shots
|
20
20
|
|
21
|
-
#
|
21
|
+
# seconds apart to take video screenshots
|
22
|
+
attr_accessor :shot_gap
|
23
|
+
|
24
|
+
# Time between animated GIF frame transitions
|
22
25
|
attr_accessor :transition_time
|
23
26
|
|
24
27
|
|
@@ -39,12 +42,16 @@ module MIAConverter
|
|
39
42
|
options.each {|key,value| self.instance_variable_set("@#{key}", value) }
|
40
43
|
end
|
41
44
|
|
42
|
-
|
45
|
+
# Tests if the passed in original file exists
|
43
46
|
def original_file_valid?
|
44
47
|
File.exists? @original_file
|
45
48
|
end
|
46
49
|
|
47
|
-
|
50
|
+
|
51
|
+
# Processes input video
|
52
|
+
# * extracts relevant parts of original video
|
53
|
+
# * produces screenshots
|
54
|
+
# * turns screenshots into an animated GIF
|
48
55
|
def process
|
49
56
|
extract_relevant_parts_of_video
|
50
57
|
create_still_images
|
@@ -58,27 +65,31 @@ module MIAConverter
|
|
58
65
|
|
59
66
|
|
60
67
|
|
61
|
-
#
|
62
|
-
#
|
63
|
-
#
|
68
|
+
# Returns path to /tmp/MIAConverter.
|
69
|
+
# Creates foler if necessary.
|
64
70
|
def base_folder
|
65
71
|
temp_folder_path = "/tmp/MIAConverter"
|
66
72
|
Dir.mkdir(temp_folder_path) unless Dir.exists?(temp_folder_path)
|
67
73
|
temp_folder_path
|
68
74
|
end
|
69
75
|
|
76
|
+
# Returns path to temporary folder for this run of the converter object.
|
77
|
+
# Creates folder if necessary.
|
70
78
|
def get_temp_folder
|
71
79
|
current_tmp_path = "#{base_folder}/#{time_second_string}"
|
72
80
|
Dir.mkdir(current_tmp_path) unless Dir.exists?(current_tmp_path)
|
73
81
|
current_tmp_path
|
74
82
|
end
|
75
83
|
|
84
|
+
# Returns images folder for this run of the converter object.
|
85
|
+
# Creates folder if necessary.
|
76
86
|
def get_images_folder
|
77
87
|
images_folder_path = "#{get_temp_folder}/images"
|
78
88
|
Dir.mkdir(images_folder_path) unless Dir.exists?(images_folder_path)
|
79
89
|
images_folder_path
|
80
90
|
end
|
81
91
|
|
92
|
+
# Returns number string based on time object was created.
|
82
93
|
def time_second_string
|
83
94
|
@init_time.to_f.to_s.sub('.', '-')
|
84
95
|
end
|
@@ -95,10 +106,12 @@ module MIAConverter
|
|
95
106
|
"#{get_temp_folder}/#{animated_gif_file_name}"
|
96
107
|
end
|
97
108
|
|
109
|
+
# Alias for get_images_folder
|
98
110
|
def screenshots_folder_path
|
99
111
|
get_images_folder
|
100
112
|
end
|
101
113
|
|
114
|
+
# Array of all .jpg filenames in images folder
|
102
115
|
def still_image_paths
|
103
116
|
Dir["#{get_images_folder}/*.jpg"]
|
104
117
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: MIAConverter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Nash
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: streamio-ffmpeg
|
@@ -121,6 +121,7 @@ files:
|
|
121
121
|
- Gemfile
|
122
122
|
- Gemfile.lock
|
123
123
|
- LICENSE.txt
|
124
|
+
- MIAConverter.gemspec
|
124
125
|
- README.md
|
125
126
|
- Rakefile
|
126
127
|
- VERSION
|