2011年12月25日

Androidで動画ストリーミング@家庭内無線LAN

クリスマス、近所のスーパーで子供が今朝貰ったプレゼントについて話しているのを聞いた
「サンタさん来てね、○○(オモチャ名は忘れた)おいてくれたよ」
「ぼくも○○(やっぱり商品名はよく分からなかった)もらったよ」
・・・そうかー。今のオモチャの商品名は妙に長ったらしいんだなぁ~(え?そこ?)

頑張ってる子にはサンタさん来るんだねぇ、
毎日深夜まで残業してる独り身の人たちにサンタさん、
プレゼントは子供たちにあげればいいから労いの言葉だけでもください・・・ホント(ノ_・、)
最後に笑うのは辛くてもひたむきに毎日努力する人だと信じてます

・・・さて!今回は昨日ぼそっとつぶやいた年末年始に向けた
Androidでパソコン内の動画をストリーミング再生しちゃおう@無線LAN
を行なってみたいと思います。

以前のSugarSyncでのストリーミング
便利っちゃあ便利なんですが、auも300万パケットの規制が始まりましたし
動画の変換時間がうっとおしい!
って思われている方もいるような気がします。
(更に言ってしまえばIS01でSugarSyncアプリが動かなくなりましたΣ(゚д゚lll))

というわけで、
自宅内にいるのであればわざわざSugarSyncとかMicroSDHCカードとか使わず
宅内ネットワークを使用して無線LAN経由でパソコンの中の動画を再生しちゃえばいい
というわけです。

では、お料理開始です!

まずは以下の材料を用意します

1:パソコン
2:無線LAN
3:スマートフォン
4:PS3 Media Server
5:UPnPlay
6:見たい動画(今回は外部に公開しないのでどんなのでもOKъ( ゜ー^))

1と2と3については説明するまでも無いはずですが、
パソコンはデュアルコアCPU以上の性能があったほうがいいと思います。
Windows7が入ってるPCであれば、まあ、問題無いです。

無線LANはできるだけ電波状況が良くなるように設置場所を工夫してください、
YouTubeの動画がコマ落ちせずに無線LANで再生できるくらいは必要です

さて、それでは4のPS3 Media Serverについて説明します。

こちら、名前の通り本来はPS3でパソコン内の動画を再生できるようにする
DLNAサーバツールです。
他にもDLNAサーバ機能を持っているツールというのは沢山あるのですが
「日本語」で「無料」で「安定している」ということでこちらを選びました。
(英語もバッチリって方は色々探してみてください)

まずはこちらにアクセスしてください


すると画像のようなページが出ますので、
中央のWindowsロゴをクリック(MacやLinuxの方は両隣をどうぞ)

GoogleProjectのページが表示されますので

赤枠で囲った部分をクリックしてファイルをダウンロードします。

ダウンロードが終わったら、インストールの開始です


pms-setup-windows-(バージョン).exeをダブルクリックして起動します


「NEXT」で先に


インストール場所はデフォルトのままで問題ないはずなので
そのまま「NEXT」
(JAVAがインストールされていないとエラーになるかもしれないので、その時はインストールを)


するとインストールが始まります


インストールが終わったら「Finish」を!
デスクトップにショートカットが欲しい場合は、下のチェックボックスにチェックを

はい、あっさりとインストール完了です(^_^)v

それでは早速起動してみます


起動すると自動的にLAN内にあるDLNA機器をスキャンして表示してくれます
Android端末はドロイド君が表示されていればOKです
(テレビも出てますが、DLNAプレーヤー非対応機種なので使えなかったです(´・ω・`))

実際に動画を見る前に設定を行なっていきます


言語は「Japanese」にします。
自動的に起動する設定はお好みで選択して下さい。
毎日必ず動画を見るんだ!って方はつけておいてもいいかもしれないですが
貧PGは「見たいときに起動すればいい」ということでつけてません(どうでもいいすな)


次はどのフォルダにある動画たちを再生させるかの設定です。
画面一番下の部分がその設定項目になっていますので、
PC内の全てを対象としたい場合は全ドライブ
動画が一箇所に固まっているのであればそのフォルダを選択したりしてください


そして動画変換の基本設定
PS3でも再生してAndroidでも再生するっていう場合、どちらかに合わせることになるので
より再生頻度の多い方に合わせておけばいいかと(都度直せばいいという話でもある)

Androidのスピーカーの場合、音声は通常のステレオで充分ですし
ビデオの品質も無駄に高くするとスマートフォンのCPUが追いつきません
なので、使用している端末と環境に合わせた設定を試してみてください。


そしてもうひとつの設定項目で、ビデオファイルエンジンの設定というのがあります、
ここにある「ビデオと音声の同期」は忘れずにチェックしておきましょう!
長時間の動画で徐々に音声がずれていってしまう現象を軽減できます

さて、設定が終わったら「保存」をクリックして、「サーバーを再起動」します。
これで、PC側の設定はひとまず完了です!


お次はスマートフォン側のストリーミング再生準備となります。

ではこちらからAndroidアプリのUPnPlayをインストールしてください
(もしくはAndroidマーケットから「UPnPlay」を検索してインストール)


無線LANに接続され、パソコン上でPS3 Media Serverが起動していると
画面のように接続可能なサーバ一覧が表示されると思います。
※DIGAも表示されていますが、デジタル放送の再生に対応したツールが
  Androidに入っていないので再生はできないっす(;´▽`A``


ちゃんと接続が行えるとフォルダの一覧が表示されますので、
見たい動画のあるフォルダへ移動していきます
(ドライブ沢山あるけどボロHDDの寄せ集めなので、全部あわせても1TBないっす(T▽T))


お目当てのフォルダに到着したら、以下の分岐判定をすることになります

1:Androidでそのまま再生できるファイルの場合
2:そのままでは再生できないので自動変換をしてもらうファイルの場合

1の場合はそのまま再生できるので問題ないのですが
2の場合が問題です、そのまま再生を一度してみて、ダメであった場合は
「#--TRANSCODE--#」
というフォルダに移動してみてください。

フォルダ内の動画ファイルが再度フォルダの状態で表示されていると思います。


そして再度見たい動画のフォルダに移動したら、
末尾に「MEncoder」と付いたファイルがあると思いますので、
そのファイルを再生してみましょう!(末尾の文字は動画変換設定で設定したエンジン名です)


ファイルを長押しするとこんなような画面も出ますので、
スマートフォンで再生できる動画をUSBケーブル使わずに転送したい!
って場合はここで「Download」を選ぶと変換されたファイルがDL出来るはずです


あとは、パソコンの性能次第ですが、
少し遅れて動画の再生が始まるので、存分に楽しんでください、( ̄▽ ̄)V

以上!お料理完成です!

インターネット上から家庭内のDLNAサーバ動画再生は、
環境が作れないので貧PGは試せていないです。
VPNとかで繋げばできるような気もしますが、IS03のスペックじゃぁ、厳しいので・・・

今回紹介したのも多くの手段の中のほんの一例ですので、
きっともっといい設定方法とかが存在すると思います。
それを色々と探ってみるのも、楽しいAndroidライフの一部ではないでしょうかヾ(@~▽~@)ノ
(綺麗にまとめたつもり)

では!今回のお料理もこのあたりで!

※おやくそく※
ツールの使用方法はあくまでも貧PGが行った一例です、上手く動かなくても怒らないでください。
動画の再生はマナーを守って楽しく使用しましょう(*´∇`*)

2011年12月24日

クリスマス、その日は世界に笑顔があふれる・・・はずなんだが

クリスマスイブも仕事だぜ~、だから独り身でも寂しくないぜ~ъ( ゜ー^)
と言える思っていたらこういう時に限って休日出勤なしという
運命の歯車は歯がすり減った上に逆に回っているような気がする今日この頃

そうそう、年賀状を書かないといけないなーと
年とか月の感覚が年を重ねるにつれて希薄化しているような気もするのですが
まあ、特にすることも無いのでなんかデザインを考えてみましょう

メールの年賀状は相手によって適当に文面変えて送ればいいので
今回は紙の年賀状です。(σ・∀・)σ

では、作成時間30分!2012年の貧乏プログラマからの年賀状。デザインはこちら!

さて、年が明ける前から年賀状を公開したついでに
このAA風挨拶ロゴの詳細をご説明

知っている人にはすぐ分かることかもしれませんが、
この「謹賀新年」の部分はプログラムのコードになっています。
QuineでRubyのコードをまんま出力しております。
(C#でのやり方がよく分からなかったので今回はRubyです(;´▽`A``)

簡単にご説明すれば、自分自身と同じ文字列を出力する
効率主義が叫ばれる中ではなんの意味があるんだい?と言われるような
「プログラマにとってのただの遊びです」
(偉い人にはそれがわからんのですよ)

受け取った人が年賀状を見ながら同じコードを書き
それを実行すれば「謹賀新年」と表示されると。

では、この文字列を出力するソースコードを載せてみます
b="BAhsKwK6AQAA/v+Bf/wDAPwHwP//BwAAACAA0A84wA8/wP8FAEAAAAAAAgAFAACAEAAAUAAABAAAAOD/XwAAAAgBAAAFfEAAAACA////////8AAfUMAHBAAAAAgAoP///wcH/AEFAEAAAACAAAAKAABAGGABUAAABAAAAPj/vwAAAISB8f/9/38AAAAA/v8JPPBAEPz/////AQAAACAAkMADDwQTAAAAABAAAAAAAgAJAABA4AEAAAAAAQAAAOD/nwAAAAQW8P//DxAAAAAA/v/5P/B/AAH+//8AAQAAACAA0P8B/g8QAAAAABAAAAAAAgAFAACAAAH///8AAQAAAOD/XwAAAAgQ4P//DxAAAAAA/v/9P/D/AAH+//8AAQAAACAAkP8B/gcQ8P//DxAAAAAAAgAJAABAAAEAAAAAAQAAACB4kP8B/gcQAAAAABAAAAAAggf9P/D/AP8A/wP+AQAAACAAUAAAAAj/ADAwAP4BAAAAAgAFAACAYADAAwcACAAAACAAUAAAAAgM/wOA/8EAAAAA/v/9////gB8AAADwBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwHwAA/gcA/w8AAAAAAAAA/wH//B9AAAzAAAAAAAAAABAAAEgAAAxwAPz//38AAAAAAQCABACAgAEAAAAABAAAABAAAEgA8A8GAAAAAEAAAAAAD3zgBPwAGAAAAAAABAAAAIBABkJAAIAB/v8A/38AAAAADzzgBfj/MDAACBAAAAAAABAAAFAAAAgG//8A/j8AAAAAAQAABQCAwAcAAAAAAgAAABAAAFAAAAhYAAAAACAAAAAA/wH/BTzgAAQAAAAAAgAAAPAf8F9AAgJAgP8A/z8AAAAAAQAABSQgAAQICBAAAAAAABAAAFBAAgJ/gP8A//8AAAAAAQAAAyQgEAAAAAAACAAAAPADwD9AAgIBAAAAAIAAAAAADAA4AiYgEAAAAAAACAAAADAAACwgAgIBAAAAAIAAAAAAAQBAAyIg8P//D/D/DwAAACAccBQgAgIAAIAAAQAAAAAAZgE9ASIgAAAACBAAAAAAAMAREBMwAgIAAIAAAQAAAAAACP8B/yEgAAAA+B8AAAAAAAAAAAAQ/gMA"

n=Marshal.load(b.unpack("m")[0])

e="eval$s=%w"<<39<<($s*3)

o=""
j=-1
0.upto(54*132-1){|i|
  o<<((n[i]==1)?e[j+=1]:32)
  o<<((i%132==131)?10:"")
}

o[-77,6]=""<<39<<".join"
puts(o)

詳しい解説・・・
を書こうと思いましたが、これを必要としているような人が思いつかないので
省略。
興味のある方はhttp://code.google.com/codejam/japan/tshirt.html
などを調べてみてください。もっと綺麗な作り方が見つかると思います。

では、クリスマスはまだ終わっていないようなので
年末年始に布団の中からAndroidで動画鑑賞するための準備をしたいと思います。

では、また!
え?クリスマス当日?当然引きこもるよ!(^_^)v