|
setup diary |
sudo aptitude install ruby ruby-dev g++ sudo aptitude install linux-libc-dev libswscale-dev libboost-dev sudo gem install hornetseye-v4l2 sudo aptitude install xserver-xorg-dev libxv-dev libxpm-dev libgl1-mesa-dev libglu1-mesa-dev libswscale-dev libboost-dev sudo gem install hornetseye-xorgここまではすんなり行って、こんな感じでカメラの画像を表示することができるようになる。
require 'rubygems' require 'hornetseye_v4l2' require 'hornetseye_xorg' camera = Hornetseye::V4L2Input.new('/dev/video0'){|modes| modes.each_with_index { |mode,i| puts "#{i + 1}: #{mode}" } modes[ STDIN.readline.to_i - 1 ] } Hornetseye::X11Display.show { camera.read }次は、それをファイルに保存するために、hornetseye-ffmpegをインストールする。これには、ffmpegを予め入れておく必要があり、そのためにdeb-multimediaをaptに加える。/etc/apt/source.listに
deb http://www.deb-multimedia.org jessie main non-free deb-src http://www.deb-multimedia.org jessie main non-freeを加えて、
sudo aptitude update sudo aptitude install deb-multimedia-keyring sudo aptitude update sudo aptitude install ffmpegとする。そして、いよいよhornetseye-ffmpegのインストールである。
sudo aptitude install libavformat-dev libswscale-dev libboost-dev sudo gem install hornetseye-ffmpegこれで、動画の保存もできるようになった。
require 'rubygems' require 'hornetseye_v4l2' require 'hornetseye_xorg' require 'hornetseye_ffmpeg' width,height=100,50 framerate=8 camera = Hornetseye::V4L2Input.new('/dev/video0'){|modes| modes.each_with_index { |mode,i| puts "#{i + 1}: #{mode}" } modes[ STDIN.readline.to_i - 1 ] } output = Hornetseye::AVOutput.new 'test.avi', 4000000, width, height, framerate, 1, Hornetseye::AVOutput::CODEC_ID_MPEG4,false Hornetseye::X11Display.show { img=camera.read a=img.to_ubytergb b=a[0 ... width, 0 ... height] output.write_video img b }何か、エラーが出ているけど、動くからいいか。