2012/06/23 MEGライブで撮影コーナーをやりました。

LINEで送る
Pocket

久しぶりの投稿です。

先日、6/23に渋谷AXで行われたMEGの10th Anniversary Party “Arivee´”にて記念フォトブースなるコーナーをやってきました。

MEGさんへの思い入れを語りだすと非常に長くなりそうなので簡単にですが、5年以上前、名古屋に住んでいるときからのファンで、冗談ではいつか会えたらなあ、とかいつか何らかの形で力になれたらなあと思っていただけに、まさか現実になるとは!という感じで非常に
テンションがあがっていました。
また出来たらいいなあ。

コンテンツ自体は、
LA JAPONESEのポスターの様な写真をライブの記念にとれます、という至ってシンプルなものです。
技術的にもシンプルなものを組み合わせて一気に制作しました。

今回のシステム全体図はこういう感じです。
ブログ資料

メインとなる撮影コンテンツはOpenframeworks(以下、oF)で作りました。

制作メモ

【カメラ画質が汚かった】

カメラの映像を常に画面に表示しているのですが、普通にofGrabberを使おうとするとなぜか映像が非常に荒くなって使い物にならないという問題発生。
解決する時間も無かったので映像を綺麗に表示できていたVJソフトのmodul8の映像をsyphon経由で撮影アプリにおくり、syphon経由でビデオの映像を表示しました。
また、webカメラだとどうしてもカメラとしての性能が良くないので画面が綺麗にならず、ビデオカメラを借りました。(ありがとうございました。)

【撮影について】

撮影→画像化はoFで行いましたが、通信周りの実装が時間的に厳しかった事もあり、サーバーへのアップロードはPHPスクリプトにて作りました。

oFで画像化→シェル経由でPHPスクリプト起動→curlでサーバーの保存スクリプトへアップロード

という流れです。
ちなみに今回はほとんど使わなかったですが、撮影画像のアップロードが完了すると画面にQRコードが現れるという仕組みも作りました。

【iPhoneアプリについて】

どれだけ入力の煩わしさを減らし、なるべく速く多くの人に体験してもらいながらも今回の要求を満たすセキュリティを確保できるかというのも課題の一つとしてあり、PCのキーボードで入力するとなると敷居が高くなるので、パスワードだけを登録できるアプリをiPhoneアプリとして作りました。
改善点はあるものの、PCで入力させるよりは使いやすかったのではないかと思っています。
これは前日まで悩んでいたのですが、ちゃちゃっと作ってみました。

【ダウンロードについて】

撮影時に動的にURLがつけられるので、そこにアクセスしたときにiPhoneアプリに入力したパスワードを入れると画像を表示する、というものだったのですが、思ったよりいわゆるガラケーユーザー、古い機種を持っている人が多かったので、ダウンロード方法などで少し工夫する余地がありました。
画像サイズも大きめにしていたのですが、古い機種だとサイズオーバーしてしまって表示できないと言う事がありました。
また、保存方法も機種によりまちまちだったので、メール送信などの方法をとった方が良かったのかなとも思いました。

【ネットワークの回線について】

懸念事項ではあったのですが、途中で回線が遅くなり、画像アップロードに時間がかかってしまう時がありました。
ここは改善の余地ありですね。

——
とはいえ、予想以上にお客さんが撮影コーナーにきて撮影してくれた事、撮影中みんながすごく楽しそうに撮影してくれたり、ポーズをとってくれたり、非常に楽しそうにしてくれていてすごく嬉しかったです。
色々気にしていて肝心のライブをあまりみれなかった事は非常に残念ではありますが、
自分が前から応援しているMEGのライブを僕と同じように心待ちにしていたみなさんの思い出づくりに少しでも役に立てたのかと思うと充実感がすごくありました。

最後に、当日まで色々とやり取りしていただいたり設置でアドバイスをいただいたスタッフの方々、機会を与えてもらえて気を遣って言葉をかけてくれたMEGさん、
コンテンツの相談や当日頭が動いていなく、不器用な僕なんかよりすごく動いてくれて考えてもらえた友達にも改めて感謝いたします。
また、ビデオカメラを貸してくれた村上さんありがとうございました。

ライブ後のエンドロールに名前を入れてもらえてた事を知ったときはすごい嬉しかったです。

また機会があればよろしくお願いします。

あとは現場風景の写真をいくつか。

撮影場所。このようにビデオカメラを横に設置しました。ディスプレイは50inch。

撮影場所。このようにビデオカメラを横に設置しました。ディスプレイは50inch。

ブースのパネル。横のポスターのテイストで撮影できるようなコンテンツでした。

ブースのパネル。横のポスターのテイストで撮影できるようなコンテンツでした。

撮影画面。ここに入って撮影しました。

撮影画面。ここに入って撮影しました。

※確認を取っていないので名前は伏せ気味で。。

PHP5のこと。

LINEで送る
Pocket

PHP4のサポートが終了してから、結構な時間が経ち、レンタルサーバーでもPHP4を打ち切るところが出てきましたが、

変更点の一つが、

php.iniのallow_url_fopenがデフォルトではoffであることです。

ってことは、http経由でごにょごにょしている人には、file関数とか、fopenとかに問題がでる恐れがあります。

それを回避するには、様々な方法がありますが、一つには、socket通信する、という方法があります。

使い方はこんなふうです。要はPHPでtelnetしてる感覚ですね。

ちなみに、以下の例では、80番ポートと決めうちしてアクセスしているので、サイトによっては別途ポートを指定する必要があります。

 

$domain = "www.hi-farm.net"; // 対象ドメイン

$file = "sample.php"; // URL以下のパス(GETも使えます)

$fp = fsockopen($domain, 80, $errno, $errstr, 4); // 80番ポートに接続

$out = "GET /{$file} HTTP/1.1\r\n"; 

$out .= "Host: {$domain}\r\n";

$out .= "Connection: Close\r\n\r\n";

 

fwrite($fp, $out);

stream_set_timeout($fp, 4);

 

while(!feof($fp))

{

	$file_data0 .= fget($fp);

}

fclose($fp);

 

セキュリティうんぬんはわかるので、PHP側での対応はわかるけど、php.iniでしか変えれないのよね。。。

レンタルサーバーやっている業者さんは、単に「変更されますので準備しろ」だけでなくて、テストする環境を用意してくれよ

って思います。。。

 

ぐちってしまった。。。

PearのFile/Archive.phpをMODxで

LINEで送る
Pocket

ちょっと料理名っぽいですが。

MODxをちょい前から使っているのですが、このMODxは動的にサイトを見せることも可能だし、静的HTMLのエクスポートも可能。

で、今回は、MODxはサイトのジェネレータとして使う事を考え、エクスポートしたファイルをダウンロードできる仕組みを作成。

簡単に言えば、

1. managerから、『サイトのエクスポート』
2. zipダウンロードするmoduleを作成し、指定階層以下のフォルダをzipにしてダウンロード

という流れです。

で、2のところですが、pearのFile/Archive.phpを使いました。

使い方としては、

前提としては、$tardir:zipファイルを作成するフォルダ

File_Archive::extract(
File_Archive::read( $tardir.’export/’ ),
File_Archive::toArchive(‘Files.zip’, File_Archive::toOutput() )
);

でいけるはずなのですが、zipを展開できなかった。(Binaryで見てみると、圧縮しているというよりは、ファイルの頭がHTML宣言だったので、きっと圧縮に失敗している)
なので、一度サーバでファイルを作成し、ダウンロードしてからzipファイルを削除 という流れに変更。
変更後がこれ。

File_Archive::extract(
File_Archive::read( $tardir.’export/’ ),
File_Archive::toArchive($tardir.’Files.zip’, File_Archive::toFiles() )
);

$params = array(
‘file’ => $tardir.’Files.zip’,
‘contenttype’ => ‘application/zip’,
‘contentdisposition’ => array(HTTP_DOWNLOAD_ATTACHMENT, ‘Files.zip’),
);

$ret = HTTP_Download::staticSend($params);

unlink($tardir.’Files.zip’);

これで無事zipファイルをダウンロードできました。

2008年2月13日21:28

MAMPをセットアップ、PHPMyAdminでつまづく

LINEで送る
Pocket

今月はオフィスを離れて仕事をする事が増えるだろう、ということで、メインマシンである、MacBookで移動中も開発すべく、ローカルにMAMPをインストール。

で、PHPMyAdminの画面を開いても、エラーがでる。

『#2002 – サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません) 』

ってね。

うーん。。。。。とうなってると、原因はどうやら、PHPMyAdminで使うMySQLの設定が違ってたみたい。

/Applications/MAMP/bin/phpMyAdmin/config.inc.phpのこの箇所をこう記述。
$cfg[‘Servers’][$i][‘extension’] = ‘mysqli'; 

無事動く。

当たり前ですね。MySQLのバージョンが5.0.41なんだから。

ってかさいっしょっからその設定に変えておいてよ。

2008年2月3日23:36

PHPでの文字化け

LINEで送る
Pocket

PHPでの文字化けに対して、詳しい情報を書いているBLOGを見つけました。
http://hain.jp/index.php/tech-j/2007/02/13/p125

本文に書いている、

文字化けが何かというのはご存じのとおり。
PHPにおいて文字化けが起こる理由は

勘違い・思いこみ
これ以外に存在しない。

という言葉が衝撃的であったが、php.iniのmbstring.internal_encodingが実は内部エンコードではない、ということなどを詳しく説明してくれている。

初心者向けの書籍などは、詳しく書きすぎても混乱するだけなので省略したり、少々間違っててもわかりやすく記述するのはわかるのだが、internal_encodingなのに『内部エンコード』ではない、というのはちょっと。。。

他にも、
自動変換を利用しない
ということや、php.iniにおいて設定すべき項目、設定すべきではない項目を書いてくれていて、とてもわかりやすかったです。

2007年9月11日19:36