Weblog
2009.12.09: HandBrake TS iPhone 変換
生TS ファイルから iPhone 向けの mp4 (H264+AAC) ファイルが音ずれする。264 と AAC を分離して MP4Box で合体させてもダメぽい。そこで、Windows で DVD を iPhone に変換する時にお世話になった HandBrake をソースからコンパイルして linux で使うことを思いついた。CentOS 5.4 上で 生TS から iPhone に一発変換ができたのでアップします。事前準備
HandBrake の linux 上のコンパイルは本家のこちらを参考にした。Fedora も CentOS でもそう変わらないだろうと適当に考えて Frdora の手順で行く。
sudo yum groupinstall \
"Development Tools" \
"Development Libraries" \
"X Software Development" \
"GNOME Software Development"コンパイル
subversion でソースを取って来ます。開発場所に移動してから
svn co svn://svn.handbrake.fr/HandBrake/trunk HandBrake-source
cd HandBrake-source
./configure --launch --disable-gtk
cd build
make
sudo make installTS -> iPhone 変換
変換はコマンドラインから
HandBrakeCLI -i <INPUT> -o <OUTPUT> --preset="iPhone & iPod Touch"本家Linuxビルド資料
本家HandBrakeCLI使い方
キーワード:
2009.12.09: TS 音ずれ 対策
生 MPEG2-TS ファイルの 音ずれ 対策ffmpeg や mencoder で iPhone 向けに H264 & AAC でエンコードすると 音ずれ が発生する。趣向を変えて mencoder の lavc で asf ファイルを作ってみると微妙に改善される。しかも、ダウンロードしながら再生してくれるので、これはこれで良しなのだが、ちょっと違うな。
mencoder <infile> -o <outfile> \
-of lavf -lavfopts format=asf \
-vf scale=480:-10,harddup \
-oac lavc -lavcopts acodec=wmav2:abitrate=128 \
-ovc lavc -lavcopts vcodec=wmv2:vbitrate=768キーワード:
2009.12.09: 録画済み番組の削除時にサムネイル画像も消す
素敵なソフト epgrec をありがとうございます。録画済みの番組一覧から番組を削除した時に、サムネイル画像があればそれもゴミにならないように手を加えてみました。
epgrec フォルダ内の cancelReservation.php に手を加えます。
この部分を
$program_id = $rec->program_id; 下の通りに行を追加します。
$program_id = $rec->program_id;
// サムネイル画像も忘れずに消します
if ($settings->use_thumbs) {
@unlink(INSTALL_PATH."/".$settings->thumbs."/".$rec->path.".jpg");
} なお、本家には伝えてあります。
キーワード:
2007.01.15: Enterキーが押されたら次の入力項目へ
フォーム上でEnterキーが押されたときにTabキーが押されたように次の入力項目へ移動させるにはどうしたら良いか。通常はテキストフィールドでEnterを押してしまうと送信されてしまう。ネット上でいろいろ探したけど、MSDNでEnterキーを押された時に無視する方法が載っていたけど、それを次のように改良してみた。KeyCodeをEnter(13)からTab(9)に書き換えてやるというもの。単純だけどIE上ではバッチリ動くので仕事では問題無さそう。使い方は、フォームのonKeydownイベントにEnter2Tab()を割り当ててあげるだけ。
<script type="text/javascript">
function Enter2Tab() {
if (event.keyCode == 13) {
if (window.event.srcElement.type != 'submit' &&
window.event.srcElement.type != 'textarea') {
event.keyCode = 9;
}
}
}
</script>
<form onKeydown="Enter2Tab();">
<!-- ここに何か入力項目がある -->
</form>
2006.07.24: Rails Migrate で エラー (Windows版)
MySQL のテーブルを Migrate で作成しようとしてrake db:migrate [Enter]
を実行するとエラーとなる。
gem install mysql は、MS-WIN32 を入れたので大丈夫だと思ったのだが例外エラーがでた。
libmysql.dll が無いらしい。
ディスク内を検索してみると複数あった。
xampp を使っているので php や mysql にあった。
どうやら、Pathが通ってないと ruby からは参照できないようなので Path を通す。
エラーが無くなって無事に Migrate が通った。
2005.12.19: ASP.NET でクライアントの Excel を起動する
ASP.NETで社内イントラネット用にWebアプリケーションを構築。MS-SQL ServerのデータをExcelで印刷することになった。その時にJavascriptを使ってクライアント側のExcelを起動してマクロを走らせた。実行する為には、WEBサーバをIEの《信頼済みサイト》に登録する必要があります。
面倒なCOM系の設定は不要なようだ。
(サーバ:Windows2000、クライアント:WindowsXP Pro SP2)
《コードサンプル》
function xlRun(xlFile, xlMacro, xlCmd, xlPara) {
var xlApp = new ActiveXObject("Excel.Application");
xlApp.DisplayAlerts = false;
xlApp.Visible = true;
xlApp.Workbooks.Open(xlFile, 0, true);
xlApp.Run(xlMacro, xlCmd, xlPara);
xlApp.Quit();
xlApp = null;
}
《簡単な説明》
フルパスで指定されたExcelファイルをRead-Onlyで開いて、マクロを実行する。
ASP.NET上では、Button1などにonClickイベントを割り当てる。
- xlFile
- Excelファイルをフルパスで指定する。ネットワーク上の公開フォルダも可。
- xlMacro
- 実行するマクロの名前
- xlCmd, xlPara
- マクロに渡す引数
2005.11.20: [bugfix] Blogn Plus Module captcha 0.2.2
本家の blogn BBS にて C.J. さんから bug報告を頂きました。早速、対応したものをアップしておきます。
《bugfix》
・fnmatch関数が無いと怒られる。
環境に依存し易い fnmatch関数の使用を止めて、素直にpreg_match関数を使う。
・管理者の設定画面が白紙になる。
管理者かどうかの変数 $blogn_admin を きちんと global 宣言して対応。
以上の2点になります。
C.J.さん、ありがとうございます。
《おまけ》
・管理者の設定画面でサンプル表示が出来ます。
色の具合を確認しながら設定できるようになりました。
添付ファイル:
captcha022.zip
2005.11.07: OpenSUSE 10.0 入れてみました

自宅にサーバを立てようかと思ってインストールしてみたけど、いいですねぇ。ドイツ製だからというわけじゃないんだろうけど、しっかりしているね。エラーメッセージもきちんと日本語化していたのには驚いた。
ただ、やはりまだ情報が少ないのが困りもの。
まだ、工事中だけど、インストールメモを作ってます。
2005.10.31: BlognPlus Module captcha 0.2.1 bugfix
昨日からバタバタとご迷惑おかけします。[bugfix]
・control.php が管理者権限なしでも動いてしまうのを修正。
アップグレード:
導入済みの人は、captcha.ini 以外を上書きアップして下さい。
添付ファイル:
captcha021.zip
2005.10.31: Captcha 0.20 更新しました
Blogn Plus 用の captcha を更新しました。Blogn管理画面のモジュール管理から設定を変更できるようにしました。
アップグレード方法:
captchaフォルダを上書きして下さい。
添付ファイル:
captcha020a.zip 167KB
※readme-utf8.txt に追記。








