してログ

開発当初は、PHP5 + MySQL5 で行く予定のプロジェクトが、急遽 PHP4 + MySQL4 の環境で動かさなければならなくなって、開発を進めてきた DB をダウングレードする必要に迫られた。考えるだけで苦労しそうな命題なだけに、「えぇ〜新しいサーバー買おうよぉ」と言いたいのを我慢してとにかくトライしてみることにした。

まず出来たら儲けもんだと、phpMyAdmin からエクスポート&インポートを試してみたけど、全くだめ。文字化けしている。GUIだと逆にどう設定したらいいのか分からないので、早々に諦めコマンドでダンプすることにする。とりあえずリストアするのは MySQL4 なので、--compatible=mysql40 を試してみるけど、やっぱり文字コード周りでうまく行ってないっぽいエラーが出る。けど、エクスポート自体は下記コマンドで OK っぽい。

mysqldump --compatible=mysql40 --default-character-set=ujis --database xoops > xoops.sql

出来上がりの xoops.sql を見ても、文字化けしてない。ちなみに、これは EUC の文字コードで xoops という db をダンプするという指定だ。

で、リストア時のエラーを良く見てみると、なんか DB 定義 SQL の前後で、文字コードを保存して一時的に変更、定義後に元に戻す、というようなことをやっている。もしや、これいらないんじゃないかと思い、試しにこの3行をすっぱり削除してみた。ちょっと気の利いたテキストエディタで置き換えすれば、3回の操作で修正完了。

こいつをリストアに掛けてみると、おぉ幾つかテーブルが作成された! 文字化けも OK だ。

まだ途中でエラー停止してしまっているので、エラーメッセージを確認してみる。「varchar(256)」これだ。そんな制限あったかどうだか分からないが、varchar は 255 までらしい。ちなみに、ccenter というモジュールの email フィールドの定義部分だった。まぁ1文字くらい大丈夫だろうと、varchar(255) に修正して、リトライしたら、全テーブル移行に成功しちゃいました。

いや〜、心配だったけど、やり方さえ分かってしまえば、もう安心。

※この記事は「Yahoo!ブログ - HDRp」からの転載です

http://wwwca.kodak.com/JP/ja/digital/digitalcamera/pocket_video_camera/zi8/products.shtml

Kodak の Zi8 というSDカードムービーカメラで HD 対応のものだったので、衝動買いしてしまいました。元々外国の製品らしく、作りやアクセサリー等がそういう匂いを出しています。

一応 HD とは言うもののカメラの画素数が少ないためか静止画や室内動画撮影ではクリアに映りません。日中の屋外だとやっと綺麗だなと思えるくらいです。

ただこの製品、手ブレ軽減機能が付いているということらしいのだが、まったく効いている感じがしません。試しにスキーしながら撮影してみましたが、デジタルっぽい上下に伸縮するようなブレブレの動画になってしまいました。

本体は小さく、携帯電話を少し大きくした程度で、パッと取り出してサッと撮影するという用途に使えるかと思いきや、電源入れてから録画可能になるまで10秒もかかり、実際使ってみると「撮りたい」と思ってからでは遅いこともしばしば。

少々期待はずれな製品でした。

・カメラの画素数が足りない?
・手ブレ補正があまり効かない(日本メーカーの技術を搭載して欲しい)
・起動をもっと速くしないと、撮りたいシーンを逃してしまう。
・動画ファイルが MOV になるのが嫌だなあ
・SDカードスロットやUSBコネクタ部分が使いにくい
・本体のみで直立できて置いたまま撮影できない
・シャッターボタンがスティックになっていて誤操作していまう

※この記事は「Yahoo!ブログ - HDRp」からの転載です

起動すると特定のポートでサービスを開始するWindowsアプリケーションがあるのだが、これをある時間帯だけ稼働させたい、なんかいい方法は無いだろうか? という質問を受けたので、ちょっと方法を検討してみた。

定期的に作業させたい場合は、タスクスケジューラを使って開始時間と継続時間を設定すればいいのだが、そのアプリケーションは終了時に確認を求めるタイプなので、この方法ではうまく終了してくれない。

そこで思いついた方法は次の2つ

(1)起動しているアプリをリモートコントロールして終了させる

(2)利用ポートを遮断してアプリは起動しっぱなしとする

今回は、(1)の方法でうまく行きそうな目処が立ったので、こちらの方法を紹介します。

1.アプリケーションの起動はタスクスケジューラを普通に使って行う

2.終了については、下記のような WSH を作成してタスクスケジューラに登録する

 Set objShell = WScript.CreateObject("WScript.Shell")
 if objShell.AppActivate("Application Title") then
  WScript.Sleep 100
  objShell.SendKeys "%{F4}"
  WScript.Sleep 100
  objShell.SendKeys "{Y}"
 end if

 * AppActivate の引数は、終了したいアプリケーションのタイトルバーの内容を入れる
 * SendKeys は、アプリケーションに応じて変更(この場合は、Alt+F4 後、確認ダイアログに Y で応えている)

これでOKです。久しぶりに WSH なんて使いましたよ。


▽12/27追記
ログオンした状態で放っておく場合はこの方法でOKだが、そうでない場合はダメっぽい。隠しフラグの TASK_FLAG_INTERACTIVE でなんとかなるかと思ったがこれもダメ。今のところマシン自体を再起動させて道連れ終了させる他にいい手がなさそう。

▽12/27追記
SendKeysによるキーコード送信はログオフ中は無効になるようなので、この方法は使えないようです。別の方法でプロセスを終了させるようにしてみました。ただ、強制終了に近いと思いますので、アプリケーションによっては不具合が出てしまうかもしれません。

 for each Process in GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process where Name='application.exe'")
  Process.terminate
 Next

※ application.exe のところは終了させたいアプリケーションに入れまえます

※この記事は「Yahoo!ブログ - HDRp」からの転載です

TvTestからRecTestに替えるときは、予約済の番組に注意しよう。どうも、予約した時点での録画ソフトが起動されるようなので、「RecTestで録画できねー」とか悩むハメに。予約済みのは変更方法わからないので、NHK教育あたりのショート番組で動作を確認してOKなら、一週間我慢するのが得策かと。

※この記事は「Yahoo!ブログ - HDRp」からの転載です

地デジ環境構築しました。QRS-UT100B + RecTest + TvRock です。
なかなか気に入ったので、チューナーのほうは同じものを3台購入して、録画用×2とながら見用とで使っています。USBのバスパワーで動くし、カードリーダーも一体なので使いかってが良いです。早速TVガイドを買ってきて、年末年始の番組を録画予約したので、どこへいつ出かけてもOKです。

NHKを録画するときの注意点は、デフォルトの設定だと、最後の数秒が欠けてしまうことがある(CMが無いから)ので、終了時刻+10秒程度録画するよう設定した方が良い。設定するときは+の数字でOK。また、連続でNHKを録画するときは、チューナーを交互に振り分けないと、開始時の助走秒数分だけ欠けてしまうので要注意です。

あと、最初はTvTestで録画してたのですが、リモートデスクトップでログオンしたりすると、録画に失敗してしまうようなので、RecTestを使用したほうが良いみたいです。

録画後は、TMPGEnc4でdivxに変換しています。録画専用機にインストールしておけば、リモートデスクトップで、流れ作業的にCMカットとエンコードができるので、大変重宝しています。本来なら、mp4に変換したいところですけど、どうも画質がイマイチなので、今のところはdivxにしています。ペガシスさん、早く改善してくださーい。

しかし、前IO-DATAの地デジボード買って痛い目にあって(メーカー返金できたけど)から、ワンセグチューナーで我慢していたけど、QRS-UT100Bは思いのほか良かった。ってか、TvTestのほうが良かったんだと思うけど、やっと満足な地デジ環境が手に入って、大満足です。

※この記事は「Yahoo!ブログ - HDRp」からの転載です