MIAConverter 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 71ab68fda7214edabf7743fe63b25c4cdb14299e
4
- data.tar.gz: f573041fab7f2a9eba31d10b04a2948d39d690ee
3
+ metadata.gz: 22d03d2259857ad14d11debdba20612dedb13222
4
+ data.tar.gz: 9f00c996c33dd83708e5cb9646dcc186518f4b53
5
5
  SHA512:
6
- metadata.gz: fda40d8ea927a402af01bd95371eb56387b0c6572d4f478023a75bfb85be75f6cf5056c401cd60b53b95f73c6eb59a1469d39e26366ed4c30819aec8003c1c0c
7
- data.tar.gz: 8c66d551a93b5e07c289f4fe002b1797355b62074333d512df5c1b07fdd02f2a98f55e374f2d3ad1ad62319d6e3f523cab2777b8fb740208a7bd4f2a90c20dd3
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
@@ -1,6 +1,7 @@
1
1
  = MIAConverter
2
2
 
3
3
  ![Travis Status](https://api.travis-ci.org/MartinJNash/MIAConverter.png)
4
+ ![Gem Version](https://badge.fury.io/rb/MIAConverter.png)
4
5
 
5
6
  == Contributing to MIAConverter
6
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -3,22 +3,25 @@ require 'streamio-ffmpeg'
3
3
 
4
4
  module MIAConverter
5
5
 
6
- # LOG TO FILE, NOT CONSOLE
7
- # Dir.mkdir("/tmp/MIAConverter/logs") unless Dir.exists?("/tmp/MIAConverter/logs")
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
- # INPUT FILE
12
+ # Path to original file
14
13
  attr_accessor :original_file
15
14
 
16
- # VIDEO OPTiONS
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
- # IMAGE OPTIONS
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
- # FOLDERS
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.0
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-10 00:00:00.000000000 Z
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