#!/usr/bin/env ruby # encoding: utf-8 # Show Connected Cameras # 1.0 # Koichiro Eto # eto # Displays the number of cameras connected. # https://raw.githubusercontent.com/eto/show_cameras/master/show_cameras.png # ruby # https://github.com/eto/show_cameras # % system_profiler SPCameraDataType # Camera: # # FaceTime HDカメラ(内蔵): # # Model ID: UVC Camera VendorID_1452 ProductID_34068 # Unique ID: 0x8020000005ac8514 # # % def get_cameras system "system_profiler SPCameraDataType >& /tmp/cameras" str = "" open("/tmp/cameras", "r:UTF-8") {|f| str = f.read } cameras = [] str.each_line {|line| line.chomp! if line =~ /^ (.+):$/ cameras << $1 end } return cameras end def display_cameras cameras = get_cameras num = cameras.length puts "📷×#{num}" puts "---" cameras.each {|camera| puts camera } end display_cameras