ruby/sdlで、無理やりyoutube

前回、SDL::MPEGで失敗
違う方法を探してみた。
ffmpegでコマを抜き出してruby/sdlで表示させた。
まあ、最初は、こんなもんだろう。
サンプルは、youtubeからもらった。
sudo apt-get install youtube-dl
これで、簡単にyoutubueから映像を拾ってこれる。
あと ffmpegは
sudo apt-get install ffmpeg
です。
今回のプログラム、”おばちゃん最高!”


#!usr/bin/env ruby

require 'sdl'

SDL.init(SDL::INIT_VIDEO|SDL::INIT_AUDIO)
screen = SDL::Screen.open(500, 300, 32, 0)
system("youtube-dl 'http://www.youtube.com/watch?v=83P8xRIG3eI' -o /tmp/0.flv")
items = []
(0.2 .. 5.3).step(0.05) do |t|
system("ffmpeg -ss #{t} -vframes 1 -i /tmp/0.flv -f image2 /tmp/0.bmp 2> /dev/null")
items << SDL::Surface.load_bmp("/tmp/0.bmp")
end
i = 0
loop do
while e=SDL::Event.poll
exit if e.kind_of?(SDL::Event::Quit) || (e.kind_of?(SDL::Event::KeyDown) && e.sym == SDL::Key::ESCAPE)
end
screen.put(items[i], 0, 0)
screen.flip
SDL.delay(30)
i += 1
i = 0 if i == items.size
end
[PR]
by gaziya | 2011-06-04 09:51