パソンコの画面の動画を取る
画面を撮るソフトを買うお金が無かったのでテキトウにjrubyで作った。音はいらないので無しで。
capture_screen_video.rb
#!/usr/bin/env jruby require 'java' import 'java.awt.Robot' import 'java.awt.Rectangle' import 'java.awt.Color' import 'java.awt.geom.Line2D' import 'java.lang.System' import 'javax.imageio.ImageIO' import 'java.awt.image.BufferedImage' require 'rubygems' require 'eventmachine' require 'fileutils' WIDTH = 800 HEIGHT = 600 out = ENV['HOME']+'/Desktop' out = ARGV.first if ARGV.size > 0 FileUtils.mkdir_p(out) unless File.exists? out r = Robot.new i = 1 EM::run do EM::defer do loop do img = r.create_screen_capture Rectangle.new(0, 0, WIDTH, HEIGHT) puts fname = "#{out}/#{i}.png" ImageIO.write(img, 'png', java.io.File.new(fname)) i+=1 end end end
jruby capture_screen_video.rb ~/tmp/capture_video
で撮影開始して、ctrl+cで止めて、
ffmpeg -i ~/tmp/capture_video/%d.png -r 10 -sameq capture.mov
とかでmovに変換するといい
音付けたかったらwavファイルとかを用意して
ffmpeg -i ~/tmp/capture_video/%d.png -i sound.wav -r 10 -sameq capture.mov
あと、いらない部分が写ってたら-cropなんとかで削れる。この処理は再エンコされずに走るので速い。
ffmpeg -i capture.mov -croptop 10 -cropbottom 220 -cropright 15 -cropleft 30 -sameq cropped.mov