paperclip-av-transcoder 0.6.0 → 0.6.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 433c06e0961326b0e9567a95d80b4f873ca005b6
4
- data.tar.gz: 8a2ffb774e893e9dd1228a36f0055492d0e2d056
3
+ metadata.gz: 49b96b030b3b02bf3b54a25b1a83941cecf68ae1
4
+ data.tar.gz: 488f2c30830a67a17f2d99517df1ed7ffafdd25f
5
5
  SHA512:
6
- metadata.gz: 6d71cbd417c1b572b492deddf43bfcb207455080fee9e036a256c112f0a0228a4df88beebf9dbaef41cca08ad0cc7faf3d4cfb54c011b8e494c93490f3954d70
7
- data.tar.gz: e5fd3fb58f3fa0df7973403b3759f421f26ca75ffe3b777f930111ede5f4b84830d39ed46e8c42971a9c29a415fad54902bb15fbbf97f856ea46f53f1539e5bc
6
+ metadata.gz: 651815d9159d9b32ee83f9df60bca189b89bd482fce62077a93b12b448a7e1298461e5c87ab78b460f812a480d6b2e61fa18c7804542d7949fe3adc0820fb25e
7
+ data.tar.gz: 89b6a56b799aade2aab07399dcf46d7c49c81ce67f8dd6b009d50703583bc90fb7123224d1147bca76c4cbe9aa54ff379a499ef5b207d6cb8aae99cd266ac8d1
data/README.md CHANGED
@@ -34,7 +34,7 @@ In your model:
34
34
  has_attached_file :avatar, :styles => {
35
35
  :medium => { :geometry => "640x480", :format => 'flv' },
36
36
  :thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10 }
37
- }, :processors => [:ffmpeg]
37
+ }, :processors => [:transcoder]
38
38
  end
39
39
 
40
40
  This will produce:
@@ -44,6 +44,13 @@ This will produce:
44
44
 
45
45
  You may optionally add `<attachment>_meta` to your model and it will get populated with information about the processed video.
46
46
 
47
+ The geometry parameters are:
48
+
49
+ 1. '!' - Keep the same aspect of the image/video, but with the passed dimesion.
50
+ 2. '#' - Pad the image/video.
51
+ 3. '<' - Enlarge the image/video.
52
+ 4. '>' - Shrink the image/video.
53
+
47
54
  ## Contributing
48
55
 
49
56
  1. Fork it ( https://github.com/ruby-av/paperclip-av-transcoder/fork )
@@ -1,7 +1,7 @@
1
1
  module Paperclip
2
2
  module Av
3
3
  module Transcoder
4
- VERSION = "0.6.0"
4
+ VERSION = "0.6.2"
5
5
  end
6
6
  end
7
7
  end
@@ -11,6 +11,7 @@ module Paperclip
11
11
  @file = file
12
12
  @current_format = File.extname(@file.path)
13
13
  @basename = File.basename(@file.path, @current_format)
14
+ @cli = ::Av.cli
14
15
  @meta = ::Av.cli.identify(@file.path)
15
16
  @whiny = options[:whiny].nil? ? true : options[:whiny]
16
17
 
@@ -38,39 +39,42 @@ module Paperclip
38
39
  # Performs the transcoding of the +file+ into a thumbnail/video. Returns the Tempfile
39
40
  # that contains the new image/video.
40
41
  def make
41
- ::Av.cli.add_source @file
42
+ ::Av.logger = Paperclip.logger
43
+ @cli.add_source @file
42
44
  dst = Tempfile.new([@basename, @format ? ".#{@format}" : ''])
43
45
  dst.binmode
44
46
 
45
47
  if @meta
46
48
  log "Transocding supported file #{@file.path}"
47
- cli = ::Av.cli(quite: true)
48
- cli.add_source(@file.path)
49
- cli.add_destination(dst.path)
50
- cli.reset_input_filters
49
+ @cli.add_source(@file.path)
50
+ @cli.add_destination(dst.path)
51
+ @cli.reset_input_filters
51
52
  if @convert_options.present?
52
53
  if @convert_options[:input]
53
54
  @convert_options[:input].each do |h|
54
- cli.add_input_param h
55
+ @cli.add_input_param h
55
56
  end
56
57
  end
57
58
  if @convert_options[:output]
58
59
  @convert_options[:output].each do |h|
59
- cli.add_output_param h
60
+ @cli.add_output_param h
60
61
  end
61
62
  end
62
63
  end
63
64
 
64
65
  begin
65
- cli.run
66
- log "Successfully transcoded #{@base} to #{dst}"
67
- return dst
66
+ @cli.run
67
+ log "Successfully transcoded #{@basename} to #{dst}"
68
68
  rescue Cocaine::ExitStatusError => e
69
69
  raise Paperclip::Error, "error while transcoding #{@basename}: #{e}" if @whiny
70
70
  end
71
+ else
72
+ log "Unsupported file #{@file.path}"
73
+ # If the file is not supported, just return it
74
+ dst << @file.read
75
+ dst.close
71
76
  end
72
- # If the file is not supported, just return it
73
- @file
77
+ dst
74
78
  end
75
79
 
76
80
  def log message
@@ -26,5 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "coveralls"
27
27
 
28
28
  spec.add_dependency "paperclip", ">=2.5.2"
29
- spec.add_dependency "av", ">= 0.4.0"
29
+ spec.add_dependency "av", ">= 0.7.1"
30
30
  end
@@ -7,7 +7,7 @@ describe Paperclip::Transcoder do
7
7
  let(:destination) { Pathname.new("#{Dir.tmpdir}/transcoder/") }
8
8
 
9
9
  describe "supported formats" do
10
- let(:subject) { Paperclip::Chainer.new(supported) }
10
+ let(:subject) { Paperclip::Transcoder.new(supported) }
11
11
  let(:document) { Document.create(video: Rack::Test::UploadedFile.new(supported, 'video/mp4')) }
12
12
 
13
13
  describe ".transcode" do
@@ -16,7 +16,7 @@ describe Paperclip::Transcoder do
16
16
  end
17
17
 
18
18
  describe "unsupported formats" do
19
- let(:subject) { Paperclip::Chainer.new(unsupported) }
19
+ let(:subject) { Paperclip::Transcoder.new(unsupported) }
20
20
  let(:document) { Document.create(image: Rack::Test::UploadedFile.new(unsupported, 'image/png')) }
21
21
  describe ".transcode" do
22
22
  it { expect(File.exists?(document.image.path(:small))).to eq true }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-av-transcoder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Omar Abdel-Wahab
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-13 00:00:00.000000000 Z
11
+ date: 2014-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - '>='
116
116
  - !ruby/object:Gem::Version
117
- version: 0.4.0
117
+ version: 0.7.1
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '>='
123
123
  - !ruby/object:Gem::Version
124
- version: 0.4.0
124
+ version: 0.7.1
125
125
  description: Audio/Video Transcoder for Paperclip using FFMPEG/Avconv
126
126
  email:
127
127
  - owahab@gmail.com