トップ «前の日記(2009-08-23) 最新 次の日記(2009-08-25)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

2009-08-24 :-)

_ 朝ッ

0520 起床

首が痛い。寝相が悪い

_ 仕事

0830 出勤

_ [Youtube][CravingExplorer][Ruby]Youtube の登録チャンネルの動画を CravingExplorer に登録する

環境

  • Microsoft WindowsXP
  • cygwin ruby 1.8.7
  • Craving Explorer 1.0.0 rc7

流れ

  1. YouTube - 登録チャンネル の動画の URI を取得
  2. 動画 URI を CravingExplorer に追加
  3. 保存種別は「iPod touch ワイド」で決めうち

処理したことがある動画 URI は無視するようにした。再度取得したい場合はキャッシュファイルを削除するか、手動で CravingExplorer する。

コード

こんな

#!/usr/bin/ruby

require 'cgi'
require 'rss'
require 'win32ole'
require 'pp'

class Youtube
  def initialize( rss )
    @feed = nil
    begin
      @feed = RSS::Parser.parse( rss, false)
    rescue RSS::Error
    end
  end

  def each_item
    @feed.items.each do |item|
      movieurl = item.link.href
      cache_filename = CGI.escape( movieurl )
      if File.exists? cache_filename
        next
      else
        Marshal.dump( movieurl, File.open( cache_filename, 'w' ) )
        yield movieurl
      end
    end
  end
end

class CravingExplorer
  def initialize
    @craving = WIN32OLE.new( 'CravingExplorer.Api' )
  end

  def get( url, actionname )
    begin
      @craving.addDownloadItem( url, actionname, true );
    rescue
      raise
    end
  end

end

def main( argv )

  actionname = 'mp4-iphone-wide'
  rss = argv[ 0 ]

  cr = CravingExplorer.new
  youtube = Youtube.new( rss )

  youtube.each_item { |url|
    cr.get( url, actionname )
    puts "#{url}"
  }

end

main( ARGV )

実行

みたいな

% ./cex2.rb "http://gdata.youtube.com/feeds/base/users/miwarinsusumu/newsubscriptionvideos?client=ytapi-youtube-user&v=2"
http://www.youtube.com/watch?v=dUUVXR80y48
http://www.youtube.com/watch?v=6UUg2KvyTZs
http://www.youtube.com/watch?v=GzRwth4Bndc
http://www.youtube.com/watch?v=IDgzHkbNNcU
http://www.youtube.com/watch?v=S76lNWuquIQ
http://www.youtube.com/watch?v=jnNJLnleCao
http://www.youtube.com/watch?v=OvVxhEC_Zi0
http://www.youtube.com/watch?v=Fk0TCgccFks
http://www.youtube.com/watch?v=GvZ3iADyulA
http://www.youtube.com/watch?v=2oUQs-p9r6g
http://www.youtube.com/watch?v=qJZpgChit6U
http://www.youtube.com/watch?v=Fcq6YKaf3xI
http://www.youtube.com/watch?v=-e_a_XLNjSU
http://www.youtube.com/watch?v=ulhfDzW4yLs
http://www.youtube.com/watch?v=SaFFJjHq2ps
http://www.youtube.com/watch?v=3CICtEYvkno
http://www.youtube.com/watch?v=z0bW9W7joeg
http://www.youtube.com/watch?v=NtBQtnnvaII
http://www.youtube.com/watch?v=uXqSi2Q3bsw
http://www.youtube.com/watch?v=83RMTCIIw0w
http://www.youtube.com/watch?v=cO2oR51o7Ic
http://www.youtube.com/watch?v=UfCEB5TcSuU
http://www.youtube.com/watch?v=Zuwdx288-mE
http://www.youtube.com/watch?v=ev08Rref3nI
http://www.youtube.com/watch?v=4wC7-sDDn_o

あとは以下のように exe 化するといいかもしれない。

>mkexy ./cex2.rb "http://gdata.youtube.com/feeds/base/users/miwarinsusumu/newsubscriptionvideos?client=ytapi-youtube-user&v=2" && exerb -v cex2.exy
Recipe File  : cex2.exy
Core File    : C:/ruby/share/exerb/ruby187c.exc
Output File  : C:/home/miwa/work/ruby/youtube/cex2.exe

使うときはこう。

>cex2.exe "http://gdata.youtube.com/feeds/base/users/miwarinsusumu/newsubscriptionvideos?client=ytapi-youtube-user&v=2"

参考

CravingExplorer が無い場合はどーすんの

Craving Explorer Online Help - Craving Explorer Script 仕様 で言っている template\convert.xml を覗くと以下のようになっている。

<Item>
  <DisplayName>MP4 ワイド(iPod Touch / iPhone)</DisplayName>
  <Accelerator>W</Accelerator>
  <ActionName>mp4-iphone-wide</ActionName>
  <DeviceName>iphone</DeviceName>
  <CommandLine>-f ipod -vcodec mpeg4 -b 1200k -mbd 2 -flags mv4+aic -trellis 2 -cmp 2 -subcmp 2 -s 480x270 -r 30000/1001 -acodec libfaac -ar 44100 -ab 128k</CommandLine>
  <FileExtension>mp4</FileExtension>
  <BeforeAction></BeforeAction>
  <AfterAction></AfterAction>
</Item>

CommandLine で C:\Program Files\CravingExplorer\lib\ffmpeg.exe への引数を指定してるので、自力で ffmpeg を呼ぶようにすればいいんじゃないかな。

_

20090824_0.jpg

きのこご飯

_ [リッジレーサー7]リッジレーサー7

オンラインバトルなど。いつも見ている動画の中のひとと遭遇するとテンションが上がる。

  • 走行距離 34429.248 km
  • RSGP 進行度 100.0 %
  • 名声 19748 FP