作業優先のため日記が滞っておりました。
ずっとPeerCastStationのRTMP配信対応をやってたんだけど、やっと目処が立った。というかだいたい出来た。 つかタブレットローカルのリポジトリに置いちゃったこれずっとタブレットでしか作業してなかったんだけど、こういう重い作業をメインPCでできるようにしなかったのは完全に失敗だった。
がっつりやれない環境ではそんなに重くない作業を少しずつこなす方が向いてるわ。
このARROWS Tab買ってもう一ヶ月半くらいにはなるのか。早いなぁ。
8インチタブレットが買えなかったのでついカッっとなって買って、その後けっこうすぐに8インチタブレットも買えるようになってちょっと後悔したことも無くはないが、今となっては買ってよかったとしか言えん。8インチ高解像度タブレットも出るようだが、そっちに乗り換えましょうという気も起こらんな。
まずはサイズからにするか。10インチはちょっとでかいかなぁと思っていたが、すぐ気にならなくなった。縦持ちだと、高さこそ大きいものの幅は今まで使ってたLOOX Uとほぼ同じだしね。 ただし重さはやっぱり重い。ハンドルつけて使ってるから良いものの、何もなくてはつるつるしてて使い物にならん。あと片手で持つのはきっついよ。
性能はまあこんなもんか。CPUが明らかに足引っぱってたLOOX Uからすると、重いと思うことはほぼ無くなった。メモリは4GBなんだが32bitOSなので3GBしか使えないのは残念。といっても残りはビデオメモリ扱いされてるんだろうし気になることもないが。3GBあれば足りてるしね。
高解像度はとても良い。文字とか綺麗だし、小さめでも潰れないから情報量が増やせるのは嬉しい。特にソフトウェアキーボード出すと画面が狭くなるからなぁ。 ただ高解像度であるがために描画がたまに怪しい。画面に線状のゴミが入ったり、管理者権限要求された瞬間に描画が更新されなくなったりなど。Aero切らないとまともに動きすらしなかったGMA500に比べると格段に速くなったが、ここまで高解像度だとたまに怪しいところがありそうだ。まあだいたい普通に動いてるからいいんだけど。 あとソフトウェアキーボード使ってると10インチあって良かったとつくづく思う。これ8インチでは狭くて今以上に押せないんじゃねぇかな。
8インチタブレットに今のところ無いのはタッチペンと防水だろうか。まあ8インチでもタッチペンがあるタブレットはあるが、高解像度の物にはペンがない。タッチパネルでべつにいいんじゃねぇかと思ってたんだけど、ソフトウェア的にペンと指は別物として認識されて両方扱えるのだ。これが効くのはOneNoteなんかだけど、指で画面をなぞると画面のスクロール、ペンでなぞると手書き、というのがごく自然にできる。これどっちかだけでは出来ませんよ。すごく便利!ただ問題はStoreアプリ版のOneNoteは出来がいまいちですぐ落ちちゃうんだよねぇ。MS製のアプリがこれではちょっとどうかと。デスクトップ版のOneNoteは使い勝手がそこまで最適化されてないのでできればStoreアプリ版を使いたいところだ。あとペンは背中に消しゴム機能ついてれば完璧でしたが贅沢ですかね……。
防水はほんとあってよかった。お風呂でアニメ見れるし本読めるしピアキャスも見れちゃうしプログラムも書けちゃうよ!やばいよこれは!そして風呂に入ったついでに画面を水で洗うと指紋なんかの汚れも綺麗に消える。ちょっと嬉しい。
Windows8.1は使いやすい。まあ勝手がいろいろと違ってて慣れるまでは戸惑うこともだいぶあるんだけど、理解すれば十分使いやすい。特にタブレットだとね。Storeアプリがあんまり無いのは残念すぎるがな。 ちょっと前からデスクトップマシンもWindows8.1にしたけど、普通に使いやすい。スタート画面はやっぱりちょっと残念な感じがあるし、24インチ画面でのストアアプリの使えなさっていったら無いけどね……。
ついこの前だけど、拡張クレードルを注文してたのが届いた。これがあると予想以上に便利でびっくりした。 標準ではACアダプタを蓋開けて刺してたのがクレードルに置くだけで充電できるようになった。蓋開けるのは意外にめんどいし、ACアダプタの端子も細いので下手に力かけると曲がりそうで怖かった。それが無くなるだけでも安心。 普段縦持ちで使ってるので画面回転はロックしてるんだけど、それでもクレードルにぶっさすと横画面になってくれる。外すとちゃんと縦画面でロックかかった状態に戻ってくれるので安心だ。 あとUSB端子が3つあるのは嬉しい。本体にもUSB端子はあるが、やっぱり蓋開けるて抜き差しするのはめんどうだ。キーボードとかゲームパッドとか、クレードルに置いてあるときしか使わない物を挿しっぱなしにしておいて、クレードルに置くだけで全部使えるようになるってのは大変便利だった。 できれば音声の外部出力端子があれば最高だったけどなー。 あと、ずっと納期未定で注文してから三週間もかかったのはちょっとマイナス点かな。あると無いとでだいぶ違うので、買おうと思ったら本体といっしょに買えるくらいにしてほしいわ。標準添付でもいいくらいだよ!スリムキーボード?いらないね。US配列派だし。
ちょっと困った点はBluetoothスピーカーが使えなくなってしまったところ。接続はされるんだが、いざ音を流すとプチプチ切れまくる。どうもWindows8から入ったマイクロソフト製Bluetoothスタックの出来が悪くて相性問題を引き起こしまくってるらしい。おそらくこれのせいかと思われる。やっと入れたかと思ったら今時Bluetoothの出来が悪いってどんな冗談ですか……。 とりあえず困ってるのはスピーカーだけだし、クレードル近くでしか使わないからUSB接続のスピーカー買おうかな。
定期的にTRPGやろうと頑張ってますよー。
というわけでブラッドムーンやった。前日にさくっとモノビースト作るだけで準備完了!なんて楽なゲームなんだ。
ハンターズムーンはやったことがあるので、まあ大体同じだろうと思ったら結構変わってて困惑した。
まあデータが大量になってるのは分かってたんでキャラクター作成時間かかるだろうなーと思ったんだが予想通り1時間半程かかった。とはいえここは楽しいところなんで難しい。
ゲーム中も最初はちゃんと演出してったら結構時間かかって、途中からは飛ばし気味になったものの、プレイヤー3人で21時からキャラクター作り始めてモノビースト一体倒したのが翌2時くらい。初めだったからというのもあるけどそこそこ時間かかったね。
ハンターズムーンくらいのつもりでいたのでPC一人殺せるくらいかと思ったらそうでもなかったぞ。分かってるプレイヤーが一人いてきっちり追加行動潰されたというのもあるし、血量全部使ったら血を減らせる人が一人居たのを忘れてたというのもあるんだが。以前はモノビーストに標準であった全体攻撃が無くなってたりしてなかなか削りづらい。一人に粘着して殺すのが効率良さそうだけど、マスターとしては効率を求めて粘着するのは好みじゃないんだがなぁ。まあブロックとかあるし気にしなくていいのかもしれない。
フォロワーの出番があんまり無いのも残念。ルール的には決戦フェイズでしか出てこなくてあとは演出でってのがつらいな。メインフェイズでは一方的にプレイヤーにボコられる係だけど、メインフェイズで何か存在感を出さないとそもそもボコられすらしないっていうね。
敵側もかなりガチに殺しに行くデータ作ればいいのかなぁ。しかしモノビーストのモチーフに合わせた異形をつけたいし難しいところだね。
次回はまたインセインやるつもりだけど、その次にでも今度は吸血鬼でも作って挑みたい。
改造どどんとふは上手く動かなかったので封印していた。幸いブラッドムーンはカード等使わないので既存サーバ使って遊んだが。
しかしいつまでも動かないのはつらいので原因を調べたい。どうもIISで動かしていたのが悪いようなんだが、特にそれらしき設定もなく良くわからんのだよね。
症状としてはしばらく動かしているとなぜかサーバプロセスがかたまってしまっているようだ。ログを書き出すようにして見てみると、どうもPOSTデータを受信しているところで止まってるっぽい?おや、これはもしかして……。
入力の$stdinをbinmodeしてませんなぁ。$stdoutは出力時にbinmodeしている一方で入力はテキストモードで読み込んでいる。べつにいいじゃんと思うんだが、しかし読み込み時は$stdin.read(length)
と長さ指定してて、Content-Lengthバイトだけ読み込もうとしているようだ。でもCRLFがLFに変換されちゃうので長さが変わってアウトー。うーん、今思ったけど最近のRubyだともしかしてバイナリで読んでくれたりするだろうか。この仕様は使いづらそうだ。まあどっちにしろRuby 1.8系じゃないとどどんとふ動かなかったのでダメなんだが。
$stdinから読み取る前にbinmodeすることで正しく動くようになった。やったー。 今度pull-requestでも送っておくか。
あとどどんとふ本家が更新されててruby 1.9系でも動くようになったらしい。2.0とか2.1でも動くのか今度試してみよう。無理かもなー。
ここしばらくはずっとPeerCastStationにRTMPサーバを仕込んでRTMP対応エンコーダから配信できるように作業していた。
簡単なサーバ自体は既にRubyで書いてある程度動作することは確認できてたんで、それをC#に移植するだけと言えばそうだったんだけど、ちゃんとPeerCastStation内で協調動作するようにするのがなかなか大変だった。
Rubyで書いた物はとにかくエンコーダから配信できるだけの簡単なやつだったんだけど、C#で書き直している間にちゃんとしたRTMPサーバを作ろうとしていた。しかしちゃんとしたRTMPサーバ作ったところで接続されるのは結局エンコーダだけだというのに気付いて、本当に最低限の機能だけ実装する方向に修正。おかげでなんとかOpen Broadcaster Softwareを接続してFLV配信にするところまで形にできた。真面目なRTMPサーバ作ってたらあと一ヶ月はかかっただろう。無駄にな。
頼りないRTMPの仕様書やFlashのドキュメントとにらめっこしている間に、RTMPサーバの構成は把握してきたので、そのうちちゃんとしたRTMPサーバも作りたい。
今のところOBS→PeerCastStation→VLCで視聴できるのを短時間確認しただけなので、あとはこれを長時間やっても大丈夫か、他のRTMPエンコーダでも大丈夫か、エラーが発生してもいきなり死んだり固まったりしないか、なんかを確認していきたい。
他のエンコーダって何があんのかなー、これでMac単体配信も可能になったよなーと調べてみたら、思ったよりRTMP対応エンコーダが多くないことを発見した。
WindowsではFlash Live Media Encoder、Wirecast、Open Broadcaster Software、XSplit Broadcaster、あとはキャプチャーカード付属でAVerMediaのRECCentralあたり。 一方OSXではFlash Live Media Encoder、Wirecastくらいしかない。 RECCentralはOSX版のベータが出てるようだけど対応キャプボ持ってないのでRTMP配信できるかは未確認。 Flash Live Media EncoderはFlash Media Server以外に配信するのはライセンス違反。 Wirecastは約$500と結構高い。 うわー、意外とOSXでの配信は限られるもんだな。 ニコ生とかどうしてんのかと思ったらOSXではFlash Playerからの配信でやってるようだ。そういやそれもありましたね。 え、VLCからの配信?あれがまともに動いた試しが無いですし……。
PeerCastStationでFlash Live Media Encoderは使うのはライセンス違反だが動作確認くらいしておいてもよかろう。 XSplitも商用だけどそんなに高くないし、無料版あるようなので動作確認はこれでもよかろう。 Wirecastは体験版で動作確認できる。Wirecastは高いので使う人がいるとは思えないが、むしろ俺がちょっと欲しいんだよなこれ。 Flash Playerからの配信はAS3でアプリ作らないと無理だろうなぁ。ちょっとめんどい。
Windowsから配信するんだったら今のところOBS(+Windows8以降)が良さげ。UIはちょっとわかりづらいけどな。