ユーチューバーになりたくて、オリジナルソースの映像の縦横のサイズを手軽に調べられる仕組みをつくった
オリジナルソースの映像が1080pとかキリの良い数字じゃないとき、ffmpegなどでいい感じにリサイズしてエンコードしたいときにいつもQuickTimekを起動していたのをコマンドで一発でとれるようにした。
オリジナルソースがQuickTimeの画面収録(特に画面の一部だけを収録する)の場合に割りとよく使える。
以下コード。
#! /usr/bin/env ruby require 'streamio-ffmpeg' video = FFMPEG::Movie.new(ARGV[0]) height, width = video.dar.split(":") puts "x1: #{height}x#{width}" puts "x2: #{height.to_i * 2}x#{width.to_i * 2}"
最初はffmpegコマンドを利用して、正規表現もりもり、みたいなのを書いていたけど発狂しそうになったので、gemで逃げた。
Display Aspect Ratioを取得しているのは単純に最低の比率がそのまま返ってくるので便利だったからvideo
にはstream
というアクセサもあるんだけど、結局その中には動画サイズ以外のコーデックの情報などもあったりするのでちょっと面倒だった。