Sha256: 7dad15b7d8db1c50febcd95e289b80bd8c01bf2416114dfc34fe2812bcc3197a
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
# # Implementes VideoStream Interface for libAV # # VideoStream = Struct.new(:width, :height, :codec, :color_space, :bit_rate, :frame_rate, :aspect_ratio, :raw) module VCSRuby class LibAVVideoStream attr_reader :raw def initialize video_stream @raw = video_stream end def width @raw['width'].to_i end def height @raw['height'].to_i end def codec short = false if short @raw['codec_name'] else @raw['codec_long_name'] end end def color_space if ["unknown", "", nil].include? @raw['color_space'] @raw['pix_fmt'] else @raw['color_space'] end end def bit_rate @raw['bit_rate'].to_i end def frame_rate if @raw['r_frame_rate'] @raw['r_frame_rate'].to_r elsif @raw['avg_frame_rate'] @raw['avg_frame_rate'].to_r end end def aspect_ratio return nil if @raw['display_aspect_ratio'] == nil colon = ":" if @raw['display_aspect_ratio'].include? colon w,h = @raw['display_aspect_ratio'].split(colon) Rational(w,h) else @raw['display_aspect_ratio'].to_f end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vcs_ruby-1.1.10 | lib/libAV/libav_video_stream.rb |