Ruby on Rails Saturday, October 2, 2010

Checkout http://blog.ncodedevlabs.com/2010/01/14/extracting-audio-length-using-rails/

On Oct 2, 1:39 pm, Christian Fazzini <christian.fazz...@gmail.com>
wrote:
> This is what I have. When i submit the form, the page just hangs. No
> errors, no nothing.
>
> model:
>   has_attached_file :media,
>                     :styles => { :short => 'k128' },
>                     :url => '/assets/:id/:style.:extension',
>                     :path => ':rails_root/public/
> assets/:id/:style.:extension',
>                     :processors => [:process_audio]
>
> ------------------
>
> module Paperclip
>   class ProcessAudio < Processor
>
>     attr_accessor :resolution, :whiny
>
>     def initialize(file, options = {}, attachment = nil)
>       super
>       @file = file
>       @whiny = options[:whiny].nil? ? true : options[:whiny]
>       @basename = File.basename(@file.path, File.extname(@file.path))
>     end
>
>     def make
>       dst = Tempfile.new([ @basename, 'mp3' ].compact.join("."))
>       dst.binmode
>
>       cmd = "ffmpeg -i #...@file.path} -t 30 -acodec copy
> #{File.expand_path(dst.path)}"
>
>       begin
>         success = Paperclip.run(cmd, [ 0, 1 ])
>       rescue PaperclipCommandLineError
>         raise PaperclipError, "There was an error processing the
> preview for #{@basename}" if whiny
>       end
>       dst
>     end
>   end
> end
>
> On Oct 2, 9:08 pm, Christian Fazzini <christian.fazz...@gmail.com>
> wrote:
>
>
>
> > Note that I am using Paperclip for all my uploads ...
>
> > On Oct 2, 9:07 pm, Christian Fazzini <christian.fazz...@gmail.com>
> > wrote:
>
> > > Does anyone know the right approach to change the duration/length of
> > > an uploaded mp3 file? User has the option to upload mp3 file as full,
> > > 30 secs or 90 secs. So far, I have gotten it to work for full.
>
> > > Do I have to use a processor (with ffmpeg) for this? Or is there a
> > > built-in option in paperclip for this to happen?
>
> > > Tried googling around to no avail....
>
> > > By the way, if user selects 90 secs (for example), then I need
> > > Paperclip not to upload the original. The same goes for 30 secs. In
> > > theory, its one file or the other.
>
> > > Your suggestions / feedback are welcome

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment