Sha256: d5eda110fd69c20bcb05af7a59117044352dd2495dd842231bbec3d9f17baa4b

Contents?: true

Size: 1.25 KB

Versions: 7

Compression:

Stored size: 1.25 KB

Contents

module Hydra::Derivatives::Processors::Video
  class Config
    attr_writer :video_bitrate, :video_attributes, :size_attributes, :audio_attributes

    def video_bitrate
      @video_bitrate ||= default_video_bitrate
    end

    def video_attributes
      @video_attributes ||= default_video_attributes
    end

    def size_attributes
      @size_attributes ||= default_size_attributes
    end

    def audio_attributes
      @audio_attributes ||= default_audio_attributes
    end

    def mpeg4
      @mpeg4 ||= CodecConfig.new('-vcodec libx264 -acodec libfdk_aac')
    end

    def webm
      @webm ||= CodecConfig.new('-vcodec libvpx -acodec libvorbis')
    end

    def mkv
      @mkv ||= CodecConfig.new('-vcodec ffv1')
    end

    def jpeg
      @jpeg ||= CodecConfig.new('-vcodec mjpeg')
    end

    class CodecConfig
      attr_writer :codec

      def initialize(default)
        @codec = default
      end

      def codec
        @codec
      end
    end


    protected
      def default_video_bitrate
        '345k'
      end

      def default_video_attributes
        "-g 30 -b:v #{video_bitrate}"
      end

      def default_size_attributes
        "320x240"
      end

      def default_audio_attributes
        "-ac 2 -ab 96k -ar 44100"
      end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hydra-derivatives-3.1.3 lib/hydra/derivatives/processors/video/config.rb
hydra-derivatives-3.1.2 lib/hydra/derivatives/processors/video/config.rb
hydra-derivatives-3.1.1 lib/hydra/derivatives/processors/video/config.rb
hydra-derivatives-3.1.0 lib/hydra/derivatives/processors/video/config.rb
hydra-derivatives-3.0.2 lib/hydra/derivatives/processors/video/config.rb
hydra-derivatives-3.0.1 lib/hydra/derivatives/processors/video/config.rb
hydra-derivatives-3.0.0 lib/hydra/derivatives/processors/video/config.rb