投稿

7月, 2009の投稿を表示しています

Gmailのエイリアス機能で複数のメールアドレスを使い分ける

社内で知らない人がいたので紹介。 メールアドレスの重複チェックしているシステムをテストするときに便利なのがGmailのエイリアス機能。 hoge@gmail.com というアカウントを持っていた場合、 hoge+1@gmail.com hoge+shopping@gmail.com でもhoge@gmail.comの受信箱に届く。+以降は何を指定してもok。 個人的には買い物や会員登録などサイトによって+以降を変更してラベルをつけて管理している。便利。 でも「+」を禁止しているサイトも最近増えてきたので、この技が使えない場合も多い。 その他マニアックなGmailの使い方は下記リンクを参考に。 Gmailの使い方!

jQuery UIでリッチなユーザーインターフェースを実装する

タブ機能をもっと簡単に実現できないかなと探していたら見つけた jQuery UI jQuery を使った タブ機能 スライド式表示・非表示切替 ダイアログ カレンダー プログレスバー スライドバー ハイライト表示 ドラッグ&ドロップ などを簡単に実装できる。詳しくは デモサイト で。 ダウンロードするときに必要な機能だけ選択すると、一つのjsファイルにしてダウンロードできる。それぞれ便利そうなので、どれを選択するか迷う。 ここで選ばなくてもダウンロードして解凍したフォルダ内のdevelopment-bundle/uiに個別jsファイルが置いてあるので、必要なjsファイルだけ個別に読み込むことも可能。 UI的に必要なものは、ほぼ網羅されているので、これを使えば簡単にリッチなサイトが実現できそう。 CoTV のUIはjQueryとjQuery UIを中心に開発していこう。

【FFMpeg】ネットワークカメラとffserverを使ってライブ配信

前の記事 では、USBカメラを使ってライブ配信をしてみたけど、今度はネットワークカメラを使ってライブ配信をやってみた。 CoTV の機能拡張にもなるしね。 安価なUSBカメラと違ってネットワークカメラはちょっと高め。定価が20万円ぐらい。 でもカメラ自体にサーバ機能があって、直接http経由でアクセスするだけで、ライブ配信を見れたり操作できたりするので、20万円でも安いと思う。 今回は複数のネットワークカメラの映像をリアルタイムエンコードして、次のことを試してみた。 ネットワークカメラ自体に接続制限(30人ぐらい)があるが、これを超えた人数のライブ配信を可能とする 複数のカメラの映像を1つの画面で並べて表示する 音声も取得、配信する ネットワークカメラはPanasonic, Sony, Canonなどが出しているけど、外部からアクセスできるSDKを提供してくれているCanonのカメラを使うことにした。 ちなみに聞いた話だとカメラ性能はPanasonicの方がいいらしい。 使ったカメラは Canon VB0-C60 。マイクとスピーカーは内蔵されていない。 別製品の VK-16 とかカメラに付属しているVK-Liteを使うと複数のカメラを並べて表示ができる(もちろん音声も)。 さて、本題。 FFMpegのインストールは 前の記事 を参考に。 ライブ配信可能にするffserverはFFMpegのインストールと同時に使えるようになる。 ffserverの設定ファイルをソースからコピー # cp /opt/software/ffmpeg-0.5/doc/ffserver.conf /etc/ 設定ファイルを編集。設定の仕方は この辺 を参考に。 # vi /etc/ffserver.conf feed1.ffmをfeedに指定して、複数のFormatを記述できるが、これはfeed1.ffmに出力されてきた動画を指定した分だけ同時にエンコードする。その分CPUパワーは必要。 BitRateなどはkbits/sなのでFFMpegの変換オプションより0が3つ少なくなるので注意。 設定後ffserverを起動。バックグラウンドで。 # ffserver & http

オープンソースのグループウェア「Aipo(アイポ)4」

のんだくれ に教えてもらって試す機会がなかったので、そのうち試すためのメモ。 オープンソースで開発されている「 Aipo4 」というグループウェア 機能紹介 をみると、カレンダー(施設予約)、プロジェクト管理、伝言メモ、携帯対応など基本機能はしっかりとおさえている感じ。 また試したら追記予定。

自治医科大学での講演が動画配信されているのが気になった

CoTV で動画配信を提供しているので、他の動画配信サービスも気になるところ。 そんなんで検索してたら 自治医科大学 で、講座をまるごと公開しているサイトにたどり着いた。 自治医科大学公開講座講演メニュー 内容は最近流行の子供に関する問題とか、がんとかいろいろ。 普通に勉強になりそう。 そしてCoTVの可能性も感じた。 前に紹介した ポータルサイト Teniteo.jp(テニテオ) のママさんたちも勉強になる内容じゃないかな? 今度の打合せで紹介してみよう。

PDFを編集するフリーソフト「PDF-XChange Viewer」

イメージ
PDFを編集したくて調査したメモ。 既存のPDFの文字を隠したり、コメントを追記したりするにはこのフリーソフトで十分。ダウンロードしてインストールするだけ。 【窓の社】PDF-XChange Viewer ( 本家 ) インストール後はEdit→Preferenceから言語を日本語に変更。あとはフィーリングで操作できる。 ↓吹き出し、コメント、スタンプ、図形描画(四角で文字を隠す)を使ってみた 保存して右下のAcrobat Reader起動で確認するとこんな感じ。 フリーでここまでできるのはすごい。 さらにファイル→ドキュメントのプロパティからセキュリティの設定で 印刷を禁止したり 編集するためのパスワードを設定したり ファイルを開くときのパスワードを設定したり できてしまう。acrobatいらない?他の商用ソフトがかわいそう・・・。 有償バージョンはさらに便利な機能が使えるらしい。 ここ の「PRODUCT COMPARISON CHART HERE!」から製品ごとの機能比較が参照できる。 ・・・よく分からなかったけど。 あと調べていて見つけたのが、OpenOfficeでPDFを編集できるようにするプラグイン(フリー)。ダウンロードは ここ から。 OpenOffice3.0以上をインストールしておく必要あり。 でも、試しにPDFを読み込んでみたら、画像が表示されなかったりレイアウトが崩れたりしたので今のところはまだ実用レベルではないかも。   <2010/01/22 追記> レイアーを重ねて表示しているだけなので、本当に編集しているわけではない。 illustratorとかで開くと元のpdfが参照できてしまう ので重要な文書は画像でエクスポートするかAcrobat(本当に編集できるソフト)を使う必要がある。 PrimoPDF とかで出力しても元のPDFを参照できる。PDF( Portable Document Format )は元の文書の著作権を守る側面もあるためしょうがない。   <関連リンク> 【PHP】TCPDF 4.5.xxx+FPDIで既存PDFの読み込みと編集 【PHP】Webで帳票を作成するのにPD

【Linux】Lamppの環境にFFMpeg-PHPをインストール

Lampp を使えると導入が楽できるので、FFMpeg-phpをLamppで使えるようにしたメモ。 httpdの環境にインストールした記事 も参考に。 FFMpegの導入は まとめページ を参考に。 Lamppをインストールする場合はffmpeg-phpのコンパイルもLamppを使う。 Lampp のページからDevelopment packageをダウンロード # mv xampp-linux-devel-1.7.1.tar.gz /opt/ # tar xzvf xampp-linux-devel-1.7.1.tar.gz これでコンパイル環境が整った。 次はffmpeg-phpのコンパイルとインストール # tar jxvf ffmpeg-php-0.6.2-ex.tar.bz2 # cd ffmpeg-php-0.6.2 # /opt/lampp/bin/phpize # ./configure --with-php-config=/opt/lampp/bin/php-config # make # make install /opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/にffmpeg.soができている。 lamppを再起動 # /etc/rc.d/init.d/lampp restart これで 前の記事 の下の方に書いたようにffmpeg-phpモジュールを動的に読み込むようにすれば使える。 php.iniに extension="ffmpeg.so" して常に読み込んでもO.K.(要再起動 or 再読込) 動作確認する場合は # cd ffmpeg-php-0.6.2/tests # /opt/lampp/bin/php getFrameCount.php ffmpeg getFrameCount(): 240 と出力されれば正常に動作している。

【Linux】FFMpegを使った動画配信サーバーの環境構築まとめ

このブログに情報は載せているけど、私以外でももうちょっと簡単に導入できるように情報をまとめてみた。 ▼FFMpegのインストール手順 便利そうなコーデックのコンパイルとインストール( 説明ページ ) 。FFMpegのインストールは別の記事で。 高圧縮率のh264コーデックのコンパイルとインストール( 説明ページ ) FFMpeg本体のコンパイルとインストール( 説明ページ ) ▼FFMpegの機能をPHPから呼び出せるモジュールのインストール FFMpeg-phpのコンパイルとインストール( 説明ページとサンプル ) Lamppの環境にインストールする場合は こちら 。 ▼携帯用(Docomo, Au, Softbank)に対応した動画を作成するためにMpeg(3gp)動画を操作するツールのインストール Gpac(MP4Box)のコンパイルとインストール( 説明ページ )   ▼その他FFMpeg関連記事のリンク 【FFMpeg】H.264コーデックで高画質ストリーミング配信 【Linux】UVC対応カメラをCentOSで認識させる 【ffmpeg】動画変換のコマンド一覧メモ 【ffmpeg】対応フォーマット(コーデック)一覧の表示と確認 【Linux】MP4Boxコマンド一覧のメモ   ▼外部リンク Linux でのビデオ(動画の変換ツールとコマンドとかの一覧)

Teniteo.jp(テニテオ) ママさんのためのポータルサイト

イメージ
開発に携わったので紹介。 今月の15日から創刊されたフリーペーパー「 テニテオ 」のポータルサイト。 完成された雑誌を頂いたので拝読。 フリーペーパーであるにも関わらず120ページものボリューム。 ママさんではないけれど「しつけのコツ」とか「食育のギモン」など普通に読んでしまった。緊急病院リストもママさんにとっては貴重な情報だと思う。 これをフリーでやっているのはすごい。 なぜ「teniteo」なのか聞いてみたら、 「いや特に・・・」 ということだったので深い意味ないらしい。 もうすぐ ママさんになる人 にもお勧め。 サイトの方ももっと気合い入れて作らないとね。 配っているのはアピタとかジャスコとか。 設置店リスト 。 もってない人もオンラインで読むことができる。 バックナンバー から。 会員限定のプレゼントとかアンケートのプレゼントとか会員数が少ない今がチャンス。

【JavaScript】IE6だと画像が表示されたり、されなかったり

またもやIE6でちょっと嵌ったのでメモ。 IE6 SP2(Windows XP SP2のIE)だとgif画像がなぜか表示されない。タグは生成されているけど、右クリック→画像の表示とやると見える。しかもブラウザによって見えたり見えなかったりするので、読み込みとかキャッシュが関連するのではないかと調べてみた。 ちなみに現象が起きたのはWordpressの custom-smilies-se を使って顔文字(絵文字)をポップアップで表示するとき。 参考になったのは ここ のサイト。 要はJavascriptでimgタグのsrcにセットしていると、画像が読み込まれる前に処理が終わってしまった場合、画像が画面に表示されない。 一度ブラウザにキャッシュされている画像は表示される。 なので、画面を表示するときにimageオブジェクトを使って先行読み込みをしてあげれば良い。 簡単なJavaScriptのコードは以下 objImage = new Image(); objImage.src="test.gif"; genlist_post.js.phpに追加したコードは以下 preLoadImage(); function preLoadImage() { <?php $i = 1; foreach ($clcs_smilies as $k => $v) { echo 'objImage_' . $i . ' = new Image();'; echo 'objImage_' . $i . '.src = "' . $imagesdirurl . $v . '";'; $i++; } ?> } さらに画面が表示するまで時間がかかるようになったので、ベタで表示する方法に変更するかも。

【JavaScript】IE6でもmin-width, max-widthを使えるようにする

結局使わなかったけど、今後使う機会がありそうなのでメモ。 IE6で min-width max-width min-height max-height を指定するやり方。 一番簡単なのは minmax.js というJavaScriptを読み込むのが早い。 body要素だけでなく、imgタグなどにも適用してくれるので便利。 欠点は適用されるまで(表示した瞬間は)元のサイズで表示されてしまうこと。 さらにie8だとエラーが起きるので、回避の仕方としてはtry catchを以下のように記述する。 36行目あたり try {   em.style.setExpression('width', 'minmax_checkFont()');   document.body.insertBefore(em, document.body.firstChild); } catch(err){} バージョンアップで対応してるかも。この時点でのバージョンは1.0

【Linux】UVC対応カメラをCentOSで認識させる

イメージ
動画のストリーミングライブ配信の調査でffmpegとffserverでライブ配信したときのメモ。 まずはUSBカメラをCentOSに認識させるところから。 UVC(USB Video Device Class) 対応カメラなら共通のドライバをインストールすることで対応可能。 Linux kernelのバージョンが2.6.26以上ならUVCドライバが標準でついているので別途インストールは必要ないらしい。最近の Ubuntu だったらカーネルのバージョンが新しいので標準でついている。 やってみたのはCentOS5.2でkernel 2.6.18-92.1.22.el5。64bit OS。 ちなみにカーネルのバージョンを確かめるのは # uname –a UVCドライバについてはまず ここ (英語)を参照。サポートしているデバイスの一覧があるので自分のWebカメラが対応しているか確認。 そこの下の方にリンクがあるけど、ドライバは ここ のページからダウンロード。ページの上にあるgzのリンクから落とす。 サーバに配置して解凍+インストール # tar xzvf uvcvideo-14d5abfc0d7e.tar.gz # cd uvcvideo-14d5abfc0d7e # make # make install コンパイルに必要なgccとかkernel-develは先にインストールが必要 これでログファイルを監視しながらUSBを挿してみる # tail -f /var/log/messages 挿した瞬間に次のメッセージが表示されればOK。 kernel: usb 1-1: configuration #1 chosen from 1 choice kernel: Linux video capture interface: v2.00 kernel: uvcvideo: Found UVC 1.00 device <unnamed> (046d:0992) kernel: input: UVC Camera (046d:0992) as /class/input/input3 kernel: usbcore: registere

【HTML】IE6のtextareaがマウスクリックしても無反応

IE6のバグなのか分からないけど、IE6のtextareaをクリックしてもカーソルが移動せず入力可能な状態にならない現象が起きたのでメモ。 ちなみにtab移動だとちゃんとカーソルが移動する。 とりあえず適用されているCSSを調べてみて、怪しそうな background: none; を削除したら、無事直った・・・。 まぁ、よくあることですね。

【JavaScript】ajaxuploadのIE6でのズレをなんとかする

ファイルをアップロードするときに ajaxupload を利用して非同期にアップロードする処理を加えたけど、これがIE6でうまく動かない。 ブラウザによって「ファイル選択ダイアログ」を表示するクリックの位置がずれる。 今のところIE6だと発生するのだけれど、同じIE6でもコンソールで実行したときは大丈夫だけど、リモートデスクトップ環境で実行したときは駄目。・・・なぜ? しょうがないのでずれても大丈夫なようにajaxuploadをハック。ajaxuploadのバージョンは3.5 295行目あたりに以下を追加 //for IE 6 if (typeof document.documentElement.style.maxHeight == "undefined") {     input.style['margin'] = '-5px 0 0 -85px';     input.style['fontSize'] = '32px';     input.style['width'] = '40px'; } IE6のときだけフォントサイズと横幅とマージンを調整。 デバッグするときはopacity=100にすると仕組みが分かる。

【PostgreSQL】PostgreSQL8.4とpgAdmin3 1.10.0がリリース

PostgreSQL が8.3系から8.4にバージョンアップしたのでメモ。 PostgreSQL 8.4プレスキット(日本語) を読むと、なんとなくどんな機能が追加されたか分かる。 追加された機能の中には特に惹かれるものはなかったけど、性能が大幅に改善されているということなので、今後は8.4を使っていこうかな。 管理ツールの pgAdmin も最新版(1.10.0)がリリースされたので、こっちはすぐにでもインストールしといて損はなし。

【Wordpress】BuddyPressのアバター変更で画像の切り抜きができない

BuddyPress をインストールした直後はできていたけど、他のプラグインをインストールしたり開発していく中でいつの間にかJavascriptのエラーで失敗するようになっていた。 原因はprototype.jsとjQueryがConflict(衝突)を起こしていた。 jQuery Lightbox のプラグインをインストールすると起きる。 回避法はどこかに function xb_jquery_conflict() {     echo '<script language="JavaScript" type="text/javascript">';     echo 'jQuery.noConflict();';     echo '</script>'; } add_action('wp_head', 'xb_jquery_conflict'); って書けば(jQuery.noConflict()を実行すれば)、O.K これでjavascriptエラーは出なくなったけど、今度は画像を切り抜く枠が画面の端に出るようになった。これも嵌った。 プラグインのアンインストールとインストールを繰り返して、Google Analyticsを簡単に導入できるプラグイン「 Ultimate GA 」をインストールすることが判明。 でもロジック的に怪しいのはなかったので、Ultimate GAのせいでないかも。 注意点としては、プラグインのアンインストールしたあと、ブラウザのキャッシュを削除しないと現象が起きたままだったりする。これも嵌った要因の一つ。 プラグインをたくさん入れるとプラグイン同士の競合が恐いですね。