rubyのコードを解析・・・
ほぼやりたいことを実現しているrubyのコードを解析。
capture stream .rb
http://cdn47.atwikiimg.com/jakago/pub/scramble.xml
からスクランブルコードを取得するのだが。。今週のスクランブル
コードをどうやって取得しているのか読み解けない。
当日から月曜日付を求めてるので、それをキーにサーチかけてる
のだと思うが、rubyのコードが読み解けない。。
むむ。。なんとなく正規表現で検索して対象のレコードにたどり着いて
抽出しようとしているように見える。。続きは次回。。
xml_uri = "http://cdn47.atwikiimg.com/jakago/pub/scramble.xml"
open( xml_uri ) { |f|
doc = REXML::Document.new( f )
$scramble = doc.elements["flv/scramble[@date=\"#{monday.strftime( '%Y%m%d' )}\"]/@code"].to_s
}
if $scramble != ""
jputs( "wikiから取得したコード:#$scramble" )
else
jputs( "wikiから取得したコード: 取得に失敗したか、まだwikiのxmlが更新されていません。" )
end
end
if $scramble == ""
jputs( "スクランブル文字列が取得できません。" )
exit
end
CentOSは重かった・・・
COREi5積んだLET'S NOTEのS-10にvirtualBOX入れて、CentOSいれて
みたんだけど、結構これが重かった。。
開発にはつかいづらいなー。ということで、あっさりとwindowsネィ
ティブでできるXAMMP環境に変更。
こちらはサクサク動いて快適。
やっぱりPCで仮想化はまだまだ辛いなぁと思った次第。
本題の開発テーマの方は、
とりあえず、手動で
flvstreamerによるmp4ファイル取得
mp4ファイルからのmp3抽出ができた。1歩進んだかな。
まずは開発(PHP)環境構築から
どうやって実現しようか、いろいろと考えてみましたが、なんとなく先が
見えてきた気がしました。
最終的にはレンタルサーバー上のLAMP環境で動かす。
その際rtmpdumpとffmpegを入れて、phpから呼び出すのが
よいようだ。
というわけで、まずは開発環境を構築しよう。
ローカルに仮想環境構築するのがよさそうということで、
virtualbox上にLAMP環境を構築することにしよう。
OSは、会社のサーバでも利用しているCentOSを入れることに
しよう。よさそうな参考書があれば購入しようと思ってamazonを
検索したが、なさそうなので、WEB記事を元に作業をしよう。
結構大きな容量(CentOSは4GBくらいあるらしい)をダウンロード
しないといけないようなので、家の遅い回線で大丈夫だろうか。。
1日で構築できればよいほうだろう。。
ということで、今週末から開発スタートしよう。
まずは、最低限の機能でサービス公開することを目指して。
WEBサービス ストリーミングをpodcast配信
-
WEBサービス ストリーミングをpodcast配信
NHKの語学講座は過去1週間分がストリーミング配信されている。
これ、podcastされると便利だろうなー、と思い、WEBサービスで
提供できないか、考えてみた。
cronでrmtp配信されているflvを取得、mp3へ変換し、
RSS配信してpodcastされるようにすると著作権に触れてしまいそう
なので、あくまで操作するユーザーの意思で、講座のファイル
取得、個々人のpodcast環境へのストアが可能になるような
仕組みを考えてみる。
#これでも著作権でアウトの可能性があるかもしれないが。。
dropboxの機能に、ストアされたファイルをrss配信する機能が
あるようなので、ユーザーリクエストにより、そのユーザーの
dropbox領域に、ストリーミングをmp3に変換してストアして
あげれば、そのユーザーは自分のdropboxから配信される
podcastを取得すれば、個々のユーザーごとの配信環境が
できそうだ。
とここまで構想したけれど、実装への道は険しそう。
・ストリーミングされているファイルの取得
・flv→mp3変換
・mp3ファイルのdropbox領域へのストア
(dropboxとの連携含む)
あたりができれば何とかサービスできそうだが。。
flv→mp3のところで、xuggler、MD5といったパッケージを
利用しないとハードルが高そう、また、それらを利用するには
webサービスを公開しようとしていたGAEの環境では不可と
いうことが分かってきた。
AWSを利用する方向で進めないといけなさそう。。
ということで、まだまだ道のりは遠い。
WEBサービス公開をめざしていていっしょに勉強していただける方、
アドバイスいただける方いらっしゃいましたらよろしくお願いします。