サイトネットワーク管理

新しくサブディレクトリの参加サイトを作ったつもりが、管理画面の参加サイトに掲示されなかった。よく調べると管理者のアドレスが異なっていると表示されないのだった。これでよさそうだ


Fuji FinePix w3写真に3D画像を重ねる

昔Fuji FinePixという3D画像や動画が取れるカメラがあった。これを使って3D画像をOculus riftで読もうとした。FinePixの画像はMPOフォーマットになっている。サイズは左右それぞれで3584 x 2016だ。もしこちらで何か3D画像を作ろうとしたら、このサイズか、あるいはそれに比例するサイズで作成する必要がある。半分でちょうど1792 x 1008になる。これで作ったらよさそうだ。あるいは1280 x 720で作成すると比率としては丁度だ


MPOファイルをOculus riftで閲覧

MPOファイルをOculus riftで見るのは簡単ではない。そこでいっそのことmp4ファイルに変換してしまえばよい、という考えで以下の変更をした。

  • ステレオフォトメーカを使ってMPOを読みこむ
  • ステレオ画像として保存、このときファイルの種類をJPG, 正確なサイズを選択して最大のJPSを作成する。+常にSBS形式で保存、をチェックする。
  • これでSBSなJPGファイルができたので、これを静止画からmp4に変換する。Adobe Premierで動画として編集すれば音もキャプションも入れられる。
  • 先に書いたGizmoVRで読み込めば3D動画として閲覧ができる。


Oculus riftで従前のside by sideコンテンツを視聴する

Oculus riftで従前のside by side コンテンツは両方が並列に並べられて見えたりしてうまく3Dとして見えない。この視聴は、Oculus riftのライブラリにあるGizmoVRを利用するとよい。mp4で作成されたファイルであれば、自動的にファイルを変換してくれるようで、これで問題なく同コンテンツは3Dで見ることができる。その際、各コンテンツごとに設定をして、3Dモード、また画面モード、ループの有無などを設定すること。これで楽しめる。また自分でStereoMovieMakerで作成したAVI 3DファイルもHandbrakeなどでmp4化するとOculusで視聴を楽しむことができる。


Raspberry Pi 外部からのSSH接続について

SSHを有効にしたが、以下を実装した

  1. Rootによるログインを無効にする
    /etc/ssh/sshd_configで
    #PermitRootLogin yes ->
    PermitRootLogin no に変更ssh再起動は、sudo /etc/init.d/ssh restart
  2. SSHのポートを変更する
    同じく/etc/ssh/sshd_configで
    #Port 22 ->
    Port XXXXX に変更
  3. 公開鍵によるログインとする
    これはこのサイトを参照して作成した

Raspberry Piでimgboardをinstallした

家で常時接続サーバにすることにした。DDNSをセットアップし、imgboardをinstallし、それなりに権限をセットするのだが、うまくゆかない。いろいろ調べた結果、次をミスっていたことに気が付いたので備忘録として、

  • cgiの一行目がきちんと#!/usr/bin/perl になっているかどうかを確認すること(動かなかったのは#!/usr/local/bin/perlになってた)
  • 絵が全然表示されず、Exec format error:がerror.logに出ていた。調べてみると、/cgi-bin/のディレクトリである、/usr/lib/cgi-bin/ディレクトリが、/etc/apache2/sites-enabled/000-default ファイルの中の設定で、「ScriptAlias」として設定されており、その配下のファイルは全てスクリプトとみなされていたことに起因していた。このため、000-default中に

    AddHandler image/gif .gif
    AddHandler image/jpg .jpg

    を挿入したところOKとなった


  • PerlでのUTF8はややこしいな

    cygwin上でperlをつかって日本語処理しようとしているが、utf8がなかなかうまく処理できない。本日の練習ではutf-8Nでコードを書いて、

    #!/usr/bin/perl
    use utf8;
    #use open ":locale";
    #use open ":std";
    #use strict;
    use Encode;
    my $str = "漢字をstdoutに出力してみる\n";
    print Encode::encode('utf8',$str) . "\n"; # *
    print length($str). "\n";
    exit 0;

    ぐらいにすると、

    漢字をstdoutに出力してみる
    17

    の結果が出るようになった。