投稿

ラベル(jpDVBRec)が付いた投稿を表示しています

jpdvbrec インストール方法更新

jpdvbrecのインストール方法等の情報を更新しました。 http://www.sysgreenplus.net

jpdvbrec リプレイス

イメージ
jpdvbrecを作り直しました。 jpdvbrecとはlinuxで動作するHDDレコーダのようなもの。 詳しくはこちら。 www.sysgreenplus.net 今回は以下のようなテーマをもって、作成しました。 RSpecでテストコードを書く Ruby on Rails 3.1で作成 スパゲッティなコードを書かない 前回はRuby on Rails初心者でとりあえず動くものを作成していったので、ソースがとっても汚いです。 今回は、テストコードを書きながら作成したので、そこそこ綺麗に書けたと思います。 けど、番組表部分は汚いままです。 約1年間、Ruby on Railsを独学で勉強して作り直したので、成長がよく見えます。 インストール手順については作成できていないので、とりあえずメモ。 OSはUbuntu Server 11.10 $ sudo apt-get install openssh-server $ sudo adduser rails $ sudo gpasswd -a rails admin $ sudo gpasswd -a rails video $ su - rails $ sudo apt-get install curl git-core $ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) $ source .profile $ rvm version $ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev $ rvm install 1.9.2-p290 $ rvm use 1.9.2-p...

テレビ買い替え検討中

今は「REGZA 37Z2000」を使用していますが、ちょっと前から買い替えたいとおもってました。 2006年発売なので5年ものです。 今の不満点はこんな感じ。 ・LEDではないので厚い・熱い・重い ・消費電力が現行商品にくらべ多い ・テロップが2重に見える ・PC内の動画を見るのに毎回HDMIケーブルを繋がないといけない それで、「REGZA 42Z2」にしたいなーと思ってます。 これで、上記不満点は解消。 ・LED ・消費電力が減る ・2倍速液晶で残像感を軽減 ・DLNAでPC内の動画を再生  jpDVBRec+DLNAサーバで連携できる!? ここ2週間くらい「価格.com」に見てたら、有名所の通販サイトで値下がりしてきた。 とくに、「Amazon.co.jp」は \110,000 くらいから \84,082 に急激な値下がり。 このタイミングかー! 「買いたい時が~買い替え時~!」 今週末に見に行こう。

recdvbisdb 調子わるい?

recdvbisdb をマルチスレッド化しましたが、その後調子わるいです。 ・録画が途中で止まってる ・番組表の取得に一部失敗している ただし、再起動すれば番組表は正常に取得できます。 まだ、本番運用?はできないな・・・

recdvbisdb マルチスレッド化 複数出力対応

イメージ
recdvbisdbの読込・復号・書込マルチスレッド化しました。 また、複数出力に対応しました。 録画するときにある程度のマージンをとっています。 そのため、同一チャンネルで連続する番組を録画する場合、マージン部分で録画が被るため、今まではdvb adapterを2つ必要でした。 複数出力により、1つのdvb adapterで録画できるようになります。 イメージはこんな感じ、

recdvbisdb マルチスレッド化 進行中

jpDVBRec 録画の要、recdvbisdbの読込・復号・書込マルチスレッド化が進行中。 マルチスレッド書いたことないので、調べながら少しづつ。 とりあえず、動くところまで出来た。 理想の最終型まであと少し。

Ruby 1.9 Process.spawn について その2

前に Ruby 1.9 Process.spawn で sh がプロセスにいると書いたけど、 るりま を見てみたら条件が書いてあった。 前の: Ruby 1.9 Process.spawn について るりま: module function Kernel.#spawn 特定文字が含まれているとshell経由で実行されるみたいです。 jpDVBRecではこうやってた。 RECDVBISDB_CMD = "recdvbisdb -a __ADAPTER__ -p __S2API_PROPERTY__ -o __OUTPUT__ -bv" cmd = RECDVBISDB_CMD Process.spawn(cmd) これだと "(ダブルコーテーション) があるのでshell経由みたい。 なのでこのように変更するとshell経由ではなくなる。 Process.spawn("recdvbisdb", "-a", "__ADAPTER__", "-p", "__S2API_PROPERTY__", "-o" , "__OUTPUT__", "-bv") ただこれだとカッコ悪い。 調べてみたらこういう書き方が出来た。 RECDVBISDB_CMD = "recdvbisdb -a __ADAPTER__ -p __S2API_PROPERTY__ -o __OUTPUT__ -bv" cmd = RECDVBISDB_CMD.split(" ") Process.spawn(*cmd) 配列で引数を生成?して *(アスタリスク) と一緒に書くと一括で引数が指定できる。 Rubyすごい。スッキリ。

jpDVBRec 開発環境復活

KVMでPCIパススルーができて、jpDVBRecの開発環境が復活しました。 それで、jpDVBRecを更新しました。 更新内容はこちら。 http://www.sysgreenplus.net/

jpDVBRec不具合原因判明

jpDVBRecで以下の不具合原因が多分判明。 ・開始時間の追従ができてない ・番組情報が一部抜けている でも、Ubuntu11.04にしてしまったため、テストできない.....

jpDVBRec追従できてない?

終了時刻の追従はできてるけど、開始時間の繰り下げ追従ができてない。 ちゃんとテストします。

サービス・ソフトウェア紹介サイト作成

「Amazon購入支援サービス AmaBuyS」や「jpDVBRec」などのサービス・ソフトウェア紹介サイトを作成しました。 http://www.sysgreenplus.net ブログも更新しますが、詳しい情報はそちらを参照してください。

Ubuntu 11.04 インストール

Ubuntu 11.04 (Serverじゃないよ)をアプリ開発環境にインストールしました。 少し問題があるので、メモ。 ・起動が遅い? ・PT1 のDVBアダプタが登録されていない。 ちょっと検索してみたところ、こちらのブログを発見しました。 Ubuntu 11.04 リリース (1) インストール(AMD64)とPT2での問題 どうもPT1のDVBドライバロード時にエラーを吐いて起動が遅くなっているみたいです。 カーネルの問題らしいのでなおるのを待ってます。 ちょっと環境を書いときます。 【M/B】ASRock 890GX Extreme3 【CPU】AMD Phenom II X4 955 【Cooler】CORSAIR CWCH50 【Memory】よく覚えてない DDR3 SDRAM 2GB × 4 【VGA】玄人志向 GF-GTX260-E896G2 【Sound】オンボード 【HDD】HITACHI HDT721010SLA360 1TB 【Drive】LG blu-ray かけるやつ 【Case】サイズの安いやつ 【Power】忘れた 【Other】PT1 × 1 その為、jpDVBRecの開発は休止します。 →そこそこ動いてるし... けど、たまに番組情報が歯抜け状態がある

jpDVBRec 更新

BS/CSがとれてなかったのはrecdvbrecで余計なことをしてたので修正。 jpDVBRecで各所Ajax化。

jpDVBRec テスト

BS/CSうごいてない。

Ruby 1.9 Process.spawn について

ちょっとよくわからないのでメモ。 jpDVBRecで録画アプリを「Process.spawn」で実行して、録画終了時に戻り値のプロセスIDに対し「Process.kill」を実行しても、アプリが終了しない。 状況はこんな感じ。 pstreeチックに書くとこんな感じだった。 sh recdvbisdb(PSID:XXXX) └recdvbisdb(PSID:YYYY) 「Process.spawn」の戻り値はXXXXだが、「Process.kill(シグナル, XXXX)」では終了せず、「Process.kill(シグナル, YYYY)」だと正常に終了する。 「sh NNNN」 は何者? 仕方ないので「ps」で親プロセスIDも取得するようにし、「Process.spawn」で取得したプロセスと親プロセスIDが一致するプロセスIDに対して「Process.kill」するようにした。 ちょっと嫌なやり方だなぁ。 他にいい方法はないだろうか...

jpDVBRec 更新

「録画しっぱなし」多分解消。 原因はプロセスIDを取得するときに"ps"オプションに"ax"を忘れてた... ちょっとこのあたりはよくわからないので、別でメモを書いてみようと思う。 後は、以下の内容を更新。 ・録画先ディスクの使用量の表示 ・スケジュールの日付に曜日を表示

jpDVBRec テスト

また録画プロセスが終了せず、録画しっぱなしだった。 うーーーん。

jpDVBRec テスト環境

テスト環境を書いてなかったので、書いてみる。 【M/B】ASUS E35M1-M PRO 【CPU】オンボード 【Cooler】オンボード 【Memory】よく覚えてない DDR3 SDRAM 2GB × 2 【VGA】オンボード  (なぜかDVI/HDMIが映らない まあsshで接続するから問題ない) 【Sound】オンボード 【HDD】WESTERN DIGITAL WD10EACS 1TB  (たしかこれ?) 【Drive】LG DVD±RWのなにか 【Case】IN WIN IW-BK623/300(R)-80P 白  (やっと録画サーバ用の気に入ったケースが見つかった) 【Power】ケース付属 【Other】PT2 × 2 NTTコミュニケーションズ SCR3310(よく見るNTTのやーつ) でもコード書いてるのはまた違うPCだよ。 しかもPT1でやってます。

jpDVBRec 更新

jpDVBRecとrecdvbisdbを更新してみた。 また、テストしてみる。 そろそろ安定の兆しが欲しい。

jpDVBRec テスト

録画プロセスが終了せず、録画しっぱなしだった。