module

Emerald::Docs::PREMIUM_FEATURES::MetadataInspection

Metadata & Tag Inspection

Executive Summary & Key Topics

Topic Method / Anchor Description
Overview .topic_01_overview Extracting metadata tags from media containers.
Inspecting Media Tags .topic_02_inspecting_tags Reading ID3/Vorbis tag fields from Media or Player.
Inspecting Video & Audio Streams .topic_03_inspecting_streams Enumerating stream resolutions, codecs, and channel layouts.

Class methods

topic_01_overview

Overview: Extracting metadata tags from media containers.

Emerald inspects media files and network streams to extract tag information and timing properties.

Source
topic_02_inspecting_tags

Inspecting Media Tags: Reading ID3/Vorbis tag fields from Media or Player.

media = Emerald::VLC::Media.new("assets/soundtrack.mp3")
meta = media.metadata

puts "Title:     #{meta.title}"
puts "Artist:    #{meta.artist}"
puts "Album:     #{meta.album}"
puts "Genre:     #{meta.genre}"
puts "Year:      #{meta.date}"
puts "Track:     #{meta.track_number}"
puts "Duration:  #{meta.formatted_duration} (#{meta.duration_ms} ms)"
puts "Cover Art: #{meta.artwork_url}"
Source
topic_03_inspecting_streams

Inspecting Video & Audio Streams: Enumerating stream resolutions, codecs, and channel layouts.

media.video_tracks.each do |vt|
  puts "Video: #{vt.resolution} @ #{vt.frame_rate.round(2)} fps (Codec: #{vt.codec})"
end

media.audio_tracks.each do |at|
  puts "Audio: #{at.channel_layout}, #{at.sample_rate} Hz (Codec: #{at.codec})"
end
Source