Sha256: 6b38e6253a18d2c8efb126da59e3c14a8b52a9a6b79d77816f3dd42ad126c176
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
# # Implementes VideoStream Interface for FFmpeg # # VideoStream = Struct.new(:width, :height, :codec, :color_space, :bit_rate, :frame_rate, :aspect_ratio, :raw) module VCSRuby class FFmpegVideoStream 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 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.9 | lib/FFmpeg/ffmpeg_video_stream.rb |