Sha256: 4e76c800d540c951f1e560a6deb31db8ede57867ea4a922454bbe0412c8da7e9
Contents?: true
Size: 1.27 KB
Versions: 42
Compression:
Stored size: 1.27 KB
Contents
# This program uses the media-info library to display information # embedded in media files (tags in MP3/OGG files for instance). require 'gst' def print_hash(hash) hash.each { |key, val| puts " #{key}: #{val}" } end def print_info(stream) puts "- mime type: #{stream.mime}" puts "- length: #{stream.length_time / Gst::SECOND} seconds" puts "- bitrate: #{stream.bitrate / 1000.0} kbps" puts "- number of tracks: #{stream.length_tracks}" i = 0 stream.tracks.each do |x| puts "- track #{i += 1}:" puts " - metadata:" if hash = x.metadata print_hash(hash) end puts " - streaminfo:" if hash = x.streaminfo print_hash(hash) end puts " - format:" if caps = x.format caps.length.times { |i| print_hash(caps.get_structure(i)) } end end end Gst.init if ARGV.empty? $stderr.puts "Usage: #{__FILE__} files..." exit 1 end begin info = Gst::MediaInfo.new info.source = "filesrc" ARGV.each do |x| if stream = info.read(x) print_info(stream) else $stderr.puts "No media info found for file #{x}." end end rescue => e $stderr.puts "Media error: #{e}." exit 1 end
Version data entries
42 entries across 42 versions & 1 rubygems