module Fluorite::Docs::B_PROBE::MEDIA_PROBING

Overview

Deep Media Probing and Inspection

Fluorite provides a strongly-typed parser and model hierarchy for ffprobe JSON output. It enables instant inspection of container durations, file sizes, audio/video stream properties, framerate fractions, aspect ratios, and metadata tags.

Executive Summary & Key Topics

Topic Method / Anchor Description
Probing Media Files .topic_01_probing_files Using Fluorite.probe to retrieve structured media info.
Stream Analysis .topic_02_stream_analysis Querying individual video and audio streams.

Related Guides & Source References

Defined in:

fluorite/docs/b_probe/media_probing.cr

Class Method Summary

Class Method Detail

def self.topic_01_probing_files : Nil #

Probing Media Files: Using Fluorite.probe to retrieve structured media info.

Inspect any local file or network stream with Fluorite.probe:

info = Fluorite.probe("gameplay.mkv")

puts "Format:   #{info.format_name} (#{info.human_size})"
puts "Duration: #{info.duration_formatted}"
puts "Video:    #{info.video_summary}" # e.g. "H.264 1920x1080 @ 60.0 fps (yuv420p)"
puts "Audio:    #{info.audio_summary}" # e.g. "AAC 2.0 @ 192 kbps, 48000 Hz"

def self.topic_02_stream_analysis : Nil #

Stream Analysis: Querying individual video and audio streams.

You can filter and query multiple audio or video tracks:

info.audio_streams.each_with_index do |track, idx|
  puts "Track ##{idx + 1}: #{track.codec_name} #{track.channels} channels (#{track.sample_rate} Hz)"
end