超久々に雁ヶ原に ozzinger さん& ozzinger 友人さんと行ってきた.
雁ヶ原は 5年ぶりなんだけど,ロッジとかぜんぜん変わってなくてメッチャ懐かしい.でも昔と比べて車がメッチャ少ない…
なんかモータースポーツ人口の減りっぷりを目の当たりにしたみたいで寂しいね.
まぁ空いてたらたくさん走れるからいいんだけど,てなわけで,ほぼ待ちなしで連続走行→適当に休憩,を一日繰り返す.
陽も傾いてきた頃,走るのにも満足して「今日はメッチャ走ったな~」と時計をみたら,まだ 14:30 (汗
空いてるにもほどがあります
当日のコースは Lock to Lock を 4連続くらい強いられるコースなので,終盤はすでに苦行w 16:15 にはすでに他グループも終了モードになってたのでコースの撤収作業開始w (本来の終了は 17:00)
でもなんだかんだ言っても,やっぱ雁ヶ原は楽しいっす ヽ(´ー`)ノ
-------
で 5年ぶりに行って分かったのは,大してウデは上達してないってことかなwww
2011年10月24日月曜日
Aipo と Google カレンダー連携
後日追記: 全部 perl で書き換えました→こちら
------
某所で Aipo というグループウェアが使用されていて,他の人はこれで予定を管理している人が多いんだけど,個人的には Android で予定管理したいので Google カレンダーに予定を入れている.で,Aipo に入れた予定を自動的に Google カレンダーに反映したいんだけど,それらしいことを一発でできるソリューションは今のとこ無いみたい.
で,ふと思いついたのは,Aipo に予定を入れると関係する人にメールが飛ぶようになっているので,このメールをトリガに Google カレンダーに予定を追加できるんじゃね? と思って,自作プログラムから Google カレンダーを操作できる API を探してみたら,本家 Google が API・ライブラリ等を公開してた.
だけど今回は,もっと手軽にコマンドラインから Google カレンダーを操作できる gcalcli というプログラムを使ってみた.
iCal というスケジュール内容が記述されたファイルを gcalcil に食わせれば Google カレンダーに予定が追加できる.あとは,メール内容から iCal を生成するスクリプトを作成し,Aipo メールを受信したらメーラからそのスクリプトを kick すればよい.
gcalcil は python スクリプトなので,cygwin 上で動作させることにする.
gcalcil 以外に python モジュールの gdata.calendar.service, dateutil.tz, setuptools もインストールした (ここは適宜怒られたら足りないものをインストールする).
iCal 生成スクリプトはこんな感じ.
…とおもったら,色々と問題が.
Aipo に自分で予定を入れると,自分にはメールが飛ばない仕様なので,人が入れた予定しか自分の Google カレンダーに反映できないw これに関しては,メアドが自分と同じ別のアカウントをもう一人作ってもらい,その人もスケジュールのメンバに加えることで解決.
あと Aipo で予定を修正する毎に Google カレンダーに予定が追加されていくw これはスクリプトを改良すれば何とかなるかもしれない.
------
某所で Aipo というグループウェアが使用されていて,他の人はこれで予定を管理している人が多いんだけど,個人的には Android で予定管理したいので Google カレンダーに予定を入れている.で,Aipo に入れた予定を自動的に Google カレンダーに反映したいんだけど,それらしいことを一発でできるソリューションは今のとこ無いみたい.
で,ふと思いついたのは,Aipo に予定を入れると関係する人にメールが飛ぶようになっているので,このメールをトリガに Google カレンダーに予定を追加できるんじゃね? と思って,自作プログラムから Google カレンダーを操作できる API を探してみたら,本家 Google が API・ライブラリ等を公開してた.
だけど今回は,もっと手軽にコマンドラインから Google カレンダーを操作できる gcalcli というプログラムを使ってみた.
iCal というスケジュール内容が記述されたファイルを gcalcil に食わせれば Google カレンダーに予定が追加できる.あとは,メール内容から iCal を生成するスクリプトを作成し,Aipo メールを受信したらメーラからそのスクリプトを kick すればよい.
gcalcil は python スクリプトなので,cygwin 上で動作させることにする.
gcalcil 以外に python モジュールの gdata.calendar.service, dateutil.tz, setuptools もインストールした (ここは適宜怒られたら足りないものをインストールする).
iCal 生成スクリプトはこんな感じ.
#!/usr/bin/perl -w
use jcode;
use Time::Local;
# 必要なら適当に python 用 proxy の設定.
$ENV{ 'http_proxy' } = 'http://hoge.hoge:8080';
$ENV{ 'https_proxy' } = 'https://hoge.hoge:8080';
# stdin を全部読み込んでいったん EUC に変換
$_ = join( '', <> );
Jcode::convert( \$_, 'euc' );
@_ = split( /\x0D*\x0A/, $_ );
# メールのパース
$Summery =
$Location =
$Description = '';
$DateStart = $DateEnd = ':';
while( $#_ >= 0 ){
$_ = shift( @_ );
if( $_ eq '[予定]' ){
$Summery = shift( @_ );
}elsif( $_ eq '[日時]' ){
$_ = shift( @_ );
if( m#(\d+)/(\d+)/(\d+)\s+(\d+):(\d+)~(\d+):(\d+)# ){
# 時間指定あり
$DateStart = timelocal(
0, $5, $4,
$3, $2 - 1, $1
);
( $Sec, $Min, $Hour, $Day, $Mon, $Year ) =
localtime( $DateStart - 9 * 3600 );
$DateStart = sprintf(
":%4d%02d%02dT%02d%02d%02dZ",
$Year + 1900, $Mon + 1, $Day, $Hour, $Min, $Sec
);
$DateEnd = timelocal(
0, $7, $6,
$3, $2 - 1, $1
);
( $Sec, $Min, $Hour, $Day, $Mon, $Year ) =
localtime( $DateEnd - 9 * 3600 );
$DateEnd = sprintf(
":%4d%02d%02dT%02d%02d%02dZ",
$Year + 1900, $Mon + 1, $Day, $Hour, $Min, $Sec
);
}elsif( m#(\d+)/(\d+)/(\d+)# ){
# 時間指定なし
$DateStart = sprintf( ";VALUE=DATE:%04d%02d%02d", $1, $2, $3 );
$DateEnd = timelocal(
0, 0, 0,
$3, $2 - 1, $1
);
( undef, undef, undef, $Day, $Mon, $Year ) =
localtime( $DateEnd + 24 * 3600 );
$DateEnd = sprintf(
";VALUE=DATE:%04d%02d%02d",
$Year + 1900, $Mon + 1, $Day
);
}else{
# よくわからない時間指定,とりあえず無視
}
}elsif( $_ eq '[場所]' ){
$Location = shift( @_ );
}elsif( $_ eq '[内容]' ){
while( $#_ >= 0 ){
$_ = shift( @_ );
last if( $_ =~ /^\[/ );
$Description .= '\n' if( $Description ne '' );
$Description .= $_;
}
}
}
# iCalender 本文
$_ = << "EOF";
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART$DateStart
DTEND$DateEnd
DESCRIPTION:$Description
LOCATION:$Location
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:$Summery
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
EOF
Jcode::convert( \$_, 'utf8' );
s/\x0A/\x0D\x0A/g;
$TmpFile = "/tmp/aipo2gcal$$.ics";
open( fpOut, "> $TmpFile" );
print fpOut $_;
close( fpOut );
system( "/home/hoge/bin/gcalcli import $TmpFile" );
unlink( $TmpFile );
メーラのフィルタリング設定等で,Aipo メールがきたらこのスクリプトを kick するよう設定することで,Aipo スケジュールが Google カレンダーに自動的に追加されるようになった.…とおもったら,色々と問題が.
Aipo に自分で予定を入れると,自分にはメールが飛ばない仕様なので,人が入れた予定しか自分の Google カレンダーに反映できないw これに関しては,メアドが自分と同じ別のアカウントをもう一人作ってもらい,その人もスケジュールのメンバに加えることで解決.
あと Aipo で予定を修正する毎に Google カレンダーに予定が追加されていくw これはスクリプトを改良すれば何とかなるかもしれない.
2011年10月10日月曜日
ナニこの残念画質…(´・ω・`) ショボーン
Xacti DMX-SH11 を買って実戦投入したのは半月ほど前なんだけど,なんで今頃 SH11 の記事を書いてるのかというと,メーカー送りにしてたからwww というのも,静止画の画質がめちゃめちゃ酷い.サンヨーがしょぼいのか? と思ったらそうでもなくて,5年前の機種の Xacti C40 のほうが綺麗に撮れるから余計むかつく(--メ むか
ってなわけでこれ壊れてんじゃねーの? とメーカー送りにしてみたけど,メーカーからの返答は「どっこも壊れてネーヨ!!」orz
どんくらい汚いかは,実際に取った写真を比べるとよく分かる.
パナソニックが Xacti 引き継いでも,大々的に売り出さないわけがなんとなく理解できた.
----------
静止画カメラとしては使い物にならないが,動画カメラとしては満足ヽ(´ー`)ノ
画角が広いのでワイコンなしでギリギリフロントウィンドウいっぱいに撮れるし,マイクの風切り音が大幅に減ってオープン状態の風切り音が大幅に減った.画角の広さはこんなかんじ↓
あと,これが一番やりたかったっていう 300fps 動画.
んーもうちょっと面白い被写体を選ぶべきだったなw ただのスロー走行にしか見えんwwww
ってなわけでこれ壊れてんじゃねーの? とメーカー送りにしてみたけど,メーカーからの返答は「どっこも壊れてネーヨ!!」orz
どんくらい汚いかは,実際に取った写真を比べるとよく分かる.
↑SH11
↑C40
↑光学ドライブ部分の拡大 上:SH11/下:C40
パナソニックが Xacti 引き継いでも,大々的に売り出さないわけがなんとなく理解できた.
----------
静止画カメラとしては使い物にならないが,動画カメラとしては満足ヽ(´ー`)ノ
画角が広いのでワイコンなしでギリギリフロントウィンドウいっぱいに撮れるし,マイクの風切り音が大幅に減ってオープン状態の風切り音が大幅に減った.画角の広さはこんなかんじ↓
あと,これが一番やりたかったっていう 300fps 動画.
んーもうちょっと面白い被写体を選ぶべきだったなw ただのスロー走行にしか見えんwwww
2011年9月19日月曜日
赤ザク Get
(今は亡き) サンヨー Xacti DMX-SH11 を Get.目的は旧式化した LUMIX FZ1 と Xacti C40 の置換え.
昔 1200fps のハイスピード動画が撮れる EXILIM EX-F1 が出たときすげー欲しかったんだけど,10万近い値段と一眼レフ並みの仰々しいボディがネックになって手が出せなかった.で最近ふと EXILIM のカタログ見てたら,普通のコンデジサイズでハイスピード動画が実現されていた.型落ち品なら¥15k 位なので買いかな,と思ったけど,車載動画撮るためにはバリアングル液晶が必須 (画面をレンズ側に向ける必要がある).
というわけで EXILIM は却下.ていうかコンデジでは Xacti 以外の選択肢がなくなるわけだが,でここでふと Xacti にハイスピード動画撮影機能がないか? と思って探してみたら,あったよ…(゜ーÅ)ほろり あまり大々的には機能展開してないらしく Xacti でもこの機能がある機種は限られていたが,ちょうど DMX-SH11 が在庫処分的に安くなってたので,衝動的にポチッとな.
ってデジカメ買ったはずなのにほとんどビデオカメラだなこれ… まぁ静止画は Desire で十分だし,ほぼ車載動画専用かな.
最近のコンデジはどれ買っても同じみたいな感じになってきてるけど,こういう尖った機能を持ったカメラがもっと出てきてほしいね.
FZ1 は光学 12倍ズームと光学手ぶれ補正を当時あの価格帯で実現したのが驚異的だったし
Xacti シリーズが出始めの頃は MP4 動画撮影をメインに考えたカメラが当時そんなになかったし
今回は買わなかったけど EXILIM は高速撮影を生かした HDR 撮影とかすげえ面白そうだし
SONY Bloggie の 360°パノラマ動画も面白そうだし (カメラ本来の性能がアレなので見送ったけど).
昔 1200fps のハイスピード動画が撮れる EXILIM EX-F1 が出たときすげー欲しかったんだけど,10万近い値段と一眼レフ並みの仰々しいボディがネックになって手が出せなかった.で最近ふと EXILIM のカタログ見てたら,普通のコンデジサイズでハイスピード動画が実現されていた.型落ち品なら¥15k 位なので買いかな,と思ったけど,車載動画撮るためにはバリアングル液晶が必須 (画面をレンズ側に向ける必要がある).
というわけで EXILIM は却下.ていうかコンデジでは Xacti 以外の選択肢がなくなるわけだが,でここでふと Xacti にハイスピード動画撮影機能がないか? と思って探してみたら,あったよ…(゜ーÅ)ほろり あまり大々的には機能展開してないらしく Xacti でもこの機能がある機種は限られていたが,ちょうど DMX-SH11 が在庫処分的に安くなってたので,衝動的にポチッとな.
ってデジカメ買ったはずなのにほとんどビデオカメラだなこれ… まぁ静止画は Desire で十分だし,ほぼ車載動画専用かな.
最近のコンデジはどれ買っても同じみたいな感じになってきてるけど,こういう尖った機能を持ったカメラがもっと出てきてほしいね.
FZ1 は光学 12倍ズームと光学手ぶれ補正を当時あの価格帯で実現したのが驚異的だったし
Xacti シリーズが出始めの頃は MP4 動画撮影をメインに考えたカメラが当時そんなになかったし
今回は買わなかったけど EXILIM は高速撮影を生かした HDR 撮影とかすげえ面白そうだし
SONY Bloggie の 360°パノラマ動画も面白そうだし (カメラ本来の性能がアレなので見送ったけど).
2011年9月11日日曜日
エコ に踊らされてみるテスト
ワットチェッカー購入.
きっかけは,
・楽天で自動車保険一括見積もりをやると有効期限付きの 1,000 ポイントがもらえるキャンペーンがやってた
(余談だけど見積もりの方はエリはほぼ門前払いw)
・知らない間に 1,000 ポイントが加算されていたが,その期限も知らない間に迫っていた
なんという楽天トラップ ((((;゚д゚))))ガクガクブルブル
というわけで,ポイントを消費すべく前からちょっと欲しいと思っていたワットチェッカー購入.
ただしあまり高いのを買うと楽天の思う壺なので,楽天で一番安かった ET55D なるものを購入.
その安さ故 W 数計測精度はあまり期待していないけど,まぁこの値段ならいいかな.
しかもタイマーによる通電 ON/OFF 機能も付いているので待機電力撲滅教原理主義過激派の人々にとっては嬉しいんじゃなかろうか.
自分は,充電を自動的に終了してくれないシェーバーとかの充電にタイマーを使っているので,この機能は結構重宝している.
で届いたので早速使ってみたら,W数計測表示はおろか通電すらしない (汗 いきなり壊れてんのかと思ったら,
・ET55D にはバッテリーが内蔵されている
・タイマー通電 ON/OFF 制御や消費電力表示はバッテリーの電力を使って行われる.コンセントに差してもバッテリーが空なら動かない
・購入直後はタイマー通電 OFF 状態
というわけで,まず内蔵バッテリーの充電からする必要があった.
で色々使ってみた感想.
○W数表示のみならず,積算電力・電気代・CO2 など表示が充実している
○液晶が大きくて見やすい
△カタログ通り 5W 以下の計測は 0W と表示されてしまうので待機電力の計測には向かないけど,5W 以上であれば 1W単位で (少なくとも表示は) 変化するので,他の機器との合算で待機電力も測れそう.
△バッテリーのヘタリが心配.バッテリーが死んでもコンセントに挿しさえすれば動く,なら良かったんだけど,上に書いたとおり基本的にバッテリーの電力で動作するので,バッテリーが死んだら動かないかも.
×横幅が広いのでテーブルタップには向かない
まぁ,だいたい満足 ヽ(´ー`)ノ
いろいろ PhenomII の省電力化とかやってるけど,実際に数値に現れると面白いので,しばらくはいろいろ遊べそう.
きっかけは,
・楽天で自動車保険一括見積もりをやると有効期限付きの 1,000 ポイントがもらえるキャンペーンがやってた
(余談だけど見積もりの方はエリはほぼ門前払いw)
・知らない間に 1,000 ポイントが加算されていたが,その期限も知らない間に迫っていた
なんという楽天トラップ ((((;゚д゚))))ガクガクブルブル
というわけで,ポイントを消費すべく前からちょっと欲しいと思っていたワットチェッカー購入.
ただしあまり高いのを買うと楽天の思う壺なので,楽天で一番安かった ET55D なるものを購入.
◆在庫処分の為に大特価★早い者勝ち在庫限り★超特価★REVEX【リーベックス】 節電 エコタイ... |
しかもタイマーによる通電 ON/OFF 機能も付いているので待機電力撲滅教原理主義過激派の人々にとっては嬉しいんじゃなかろうか.
自分は,充電を自動的に終了してくれないシェーバーとかの充電にタイマーを使っているので,この機能は結構重宝している.
で届いたので早速使ってみたら,W数計測表示はおろか通電すらしない (汗 いきなり壊れてんのかと思ったら,
・ET55D にはバッテリーが内蔵されている
・タイマー通電 ON/OFF 制御や消費電力表示はバッテリーの電力を使って行われる.コンセントに差してもバッテリーが空なら動かない
・購入直後はタイマー通電 OFF 状態
というわけで,まず内蔵バッテリーの充電からする必要があった.
で色々使ってみた感想.
○W数表示のみならず,積算電力・電気代・CO2 など表示が充実している
○液晶が大きくて見やすい
△カタログ通り 5W 以下の計測は 0W と表示されてしまうので待機電力の計測には向かないけど,5W 以上であれば 1W単位で (少なくとも表示は) 変化するので,他の機器との合算で待機電力も測れそう.
△バッテリーのヘタリが心配.バッテリーが死んでもコンセントに挿しさえすれば動く,なら良かったんだけど,上に書いたとおり基本的にバッテリーの電力で動作するので,バッテリーが死んだら動かないかも.
×横幅が広いのでテーブルタップには向かない
まぁ,だいたい満足 ヽ(´ー`)ノ
いろいろ PhenomII の省電力化とかやってるけど,実際に数値に現れると面白いので,しばらくはいろいろ遊べそう.
2011年9月3日土曜日
WiMAX の切断がひどい
WiMAX 使ってると,たまに通信が切断されてその後全く通信できなくなることがある.
ググッてみると,一番多いのは無線 LAN が切断される現象らしいが,うちの場合は PC ⇔ WM3500R の通信は生きているので,どうも WM3500R ⇔ 基地局 の通信が切れているらしい.
じゃあ WiMAX の電波状態が悪いのかというとそうでもなくて,アンテナは常に 2本立ちだし,不思議なのが WM3500R を再起動させれば通信が回復する.いちいち WM3500R を再起動させるのはストレスが溜まるんだけど,こんなのをユーザーサポートに問い合わせてもどうせ電波状態で片付けられるんだろうなぁ.
というわけで,一定時間通信できなかったら WM3500R の再起動ページを kick する perl スクリプト書いてみた.
←でこれを走らせている時のネットワークのモニタ結果.
縦の目盛りが 5分だから,大体 5分毎に再起動を繰り返してるのがわかると思う.
なんぢゃこりゃwwww
余談だけど,このスクリプトを書くときに,再起動ページの POST メソッドの送信データを調べる必要があって,最初はパケットモニタソフトでも入れようかと思ってたんだけど,すげー簡単な方法があった.
計算機と戯れる日々
この方法はなかなか目からウロコだ.
ググッてみると,一番多いのは無線 LAN が切断される現象らしいが,うちの場合は PC ⇔ WM3500R の通信は生きているので,どうも WM3500R ⇔ 基地局 の通信が切れているらしい.
じゃあ WiMAX の電波状態が悪いのかというとそうでもなくて,アンテナは常に 2本立ちだし,不思議なのが WM3500R を再起動させれば通信が回復する.いちいち WM3500R を再起動させるのはストレスが溜まるんだけど,こんなのをユーザーサポートに問い合わせてもどうせ電波状態で片付けられるんだろうなぁ.
というわけで,一定時間通信できなかったら WM3500R の再起動ページを kick する perl スクリプト書いてみた.
#!/usr/bin/perl -w
use strict 'vars';
use strict 'refs';
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
my $TimeoutCnt;
while( 1 ){
$_ = `ping -n 1 www.yahoo.co.jp -w 1000`;
if( !/Reply from/ ){
++$TimeoutCnt;
}else{
$TimeoutCnt = 0;
}
print( "Timeout = $TimeoutCnt\n" );
if( $TimeoutCnt >= 15 ){
RebootWM3500R();
print( "restarting WR3500...\n" );
sleep( 10 );
while( 1 ){
$_ = `ping -n 1 192.168.0.1 -w 1000`; # WM3500R が再起動するまで待つ
last if( /Reply from/ );
}
print( "done\n" );
$TimeoutCnt = 0;
}
sleep( 1 );
}
sub RebootWM3500R {
# リクエストの生成
my $url = 'http://web.setup/index.cgi/reboot_main_set';
my %formdata = (
'UPDATE_BUTTON' => '%BA%C6%B5%AF%C6%B0',
'DUMMY' => '',
'DISABLED_CHECKBOX' => '',
'CHECK_ACTION_MODE' => '1',
);
my $request = POST( $url, [%formdata] );
# UserAgentを生成して処理
my $ua = LWP::UserAgent->new;
my $res = $ua->request( $request );
#print $res->as_string;
}
# WR3500 の admin 認証
package LWP::UserAgent;
sub get_basic_credentials {
return ( 'admin', 'hogehoge' );
}
←でこれを走らせている時のネットワークのモニタ結果.
縦の目盛りが 5分だから,大体 5分毎に再起動を繰り返してるのがわかると思う.
なんぢゃこりゃwwww
余談だけど,このスクリプトを書くときに,再起動ページの POST メソッドの送信データを調べる必要があって,最初はパケットモニタソフトでも入れようかと思ってたんだけど,すげー簡単な方法があった.
計算機と戯れる日々
この方法はなかなか目からウロコだ.
2011年8月20日土曜日
2011年8月8日月曜日
MediaPlayerClassic + AviSynth で 1.5 倍再生
PS3 には 1.5倍再生機能があって便利なので,PC でもやってみた.
でも x倍再生機能がある動画プレイヤーは他の機能がしょぼかったりしたので,普段使っている MediaPlayerClassic (MPC) + AviSynth でやってみた.MPC には最初から avs スクリプト再生機能があるので,1.5倍再生スクリプトを書いて MPC に読ませるだけで ok.スクリプトはこんな感じ.
AssumeScaledFPS で映像の再生速度を 1.5倍にして,TimeStretch で (音程は変えずに) 音声の再生速度を変える.
これで完璧ヘ(^∇^ヘ)ヘ(^∇^ヘ) ウヒョヒョ と思っていたら,なんか映像と音声がずれる.どうも convertfps=true をつけると映像の冒頭がなぜか切り捨てられることがあって,その分の音声がずれるらしい.DirectShowSource はいろんなフォーマットの動画が読み込めて便利なんだけど,ちょっと変わったことをしようとするととたんに音声がずれて使い勝手が悪い.
というわけで他の方法を模索.FFmpegSource というプラグインがあったので,それを使ってみた.
ただし問題がひとつあって,FFmpegSource は動画ファイル毎にインデックスファイルを作成してからでないと再生が始まらない.1時間の番組で 30秒ほどかかることもあるので,この間待ちぼうけを食らうのも辛い.
なので,まず通常速度で再生する MPC を起動しつつ裏でインデックスを作成して,作成が終わったら改めて 1.5倍再生する MPC を起動するバッチファイルを組んだ.FFmpegSource のパッケージにインデックスを作成するコマンドラインプログラムが付属しているので,それを使う.
バッチファイル (正確には WinBatchEh のスクリプトだけど) はこんな感じ.
-----
WSH の javascript で書いたものを置いときます.
SFC mini も入れといてください.
でも x倍再生機能がある動画プレイヤーは他の機能がしょぼかったりしたので,普段使っている MediaPlayerClassic (MPC) + AviSynth でやってみた.MPC には最初から avs スクリプト再生機能があるので,1.5倍再生スクリプトを書いて MPC に読ませるだけで ok.スクリプトはこんな感じ.
Scale1 = 3
Scale2 = 2
DirectShowSource( "hoge.ts", pixel_type="YUY2", convertfps=true )
AssumeScaledFPS( Scale1, Scale2 )
TimeStretch( tempo = Scale1 * 100.0 / Scale2 )
convertfps=true は VFR を CFR に変換するために必須.AssumeScaledFPS で映像の再生速度を 1.5倍にして,TimeStretch で (音程は変えずに) 音声の再生速度を変える.
これで完璧ヘ(^∇^ヘ)ヘ(^∇^ヘ) ウヒョヒョ と思っていたら,なんか映像と音声がずれる.どうも convertfps=true をつけると映像の冒頭がなぜか切り捨てられることがあって,その分の音声がずれるらしい.DirectShowSource はいろんなフォーマットの動画が読み込めて便利なんだけど,ちょっと変わったことをしようとするととたんに音声がずれて使い勝手が悪い.
というわけで他の方法を模索.FFmpegSource というプラグインがあったので,それを使ってみた.
Scale1 = 3
Scale2 = 2
FFmpegSource2( "hoge.ts", atrack=-1, cachefile="hoge.ts.ffindex", fpsnum=30000, fpsden=1001 ).ConvertToYUY2
AssumeScaledFPS( Scale1, Scale2 )
TimeStretch( tempo = Scale1 * 100.0 / Scale2 )
FFmpegSource は ffmpeg という知ってる人は知ってる有名な動画エンコーダの動画リード部分を流用しているだけあって,安定性は抜群.これで音ズレなくまともに 1.5倍再生ができるようになった.ただし問題がひとつあって,FFmpegSource は動画ファイル毎にインデックスファイルを作成してからでないと再生が始まらない.1時間の番組で 30秒ほどかかることもあるので,この間待ちぼうけを食らうのも辛い.
なので,まず通常速度で再生する MPC を起動しつつ裏でインデックスを作成して,作成が終わったら改めて 1.5倍再生する MPC を起動するバッチファイルを組んだ.FFmpegSource のパッケージにインデックスを作成するコマンドラインプログラムが付属しているので,それを使う.
バッチファイル (正確には WinBatchEh のスクリプトだけど) はこんな感じ.
: 変数セット
set TmpDir=%temp%\mpc_playlist
set Player="C:\Program Files\MediaPlayerClassic\mplayerc.exe" /fixedsize 860,550
set FileName=%1
: tmp ファイルフォルダ作成
if Exist %TmpDir%\ del /y %TmpDir%\*
mkdir %TmpDir%
: .avs 作成
set FileNameOrg=%FileName%
StrTokFile=STF_NAME FileName "%FileName%"
set FileName=%TmpDir%\%FileName%.avs
echo Scale1 = 3> "%FileName%"
echo Scale2 = 2>> "%FileName%"
echo FFmpegSource2( "%FileNameOrg%", atrack=-1, cachefile="%FileName%.ffindex", fpsnum=30000, fpsden=1001 ).ConvertToYUY2>> "%FileName%"
echo AssumeScaledFPS( Scale1, Scale2 )>> "%FileName%"
echo TimeStretch( tempo = Scale1 * 100.0 / Scale2 )>> "%FileName%"
: とりあえず普通再生の画面を起動
start %Player% "%FileNameOrg%"
: index を作成,1個出来たら mpc 起動
exec=SW_HIDE "C:\Program Files\AviSynth 2.5\plugins\ffmsindex.exe" -p "%%a" "%FileName%.ffindex"
start %Player% "%FileName%"
途中まで再生された後,また MPC が立ち上がって最初から再生されちゃうけど,まぁ手でシークすればいいし許容範囲内かな.-----
WSH の javascript で書いたものを置いときます.
SFC mini も入れといてください.
2011年8月4日木曜日
PhenomII X6 ゲット
AMD PhenomII X6 1065T を購入.
そろそろ AMD のソケットが変更されて,今の AM3 ソケット CPU は生産中止になるらしいので.いま買い換えとけば後 3年は持つかなぁ? というわけで 6コア CPU ゲット.
今のマシンは 3年前に組んだものだけど,最新の CPU がマザボの変更無しでそのまま使えるって凄いことだなあ.しかもメモリの主流が DDR2→DDR3 に変わってるにもかかわらず.AMD はこういうところでもコストパフォーマンスが高いからインテルより気に入っている.
というわけで恒例のクロック & 電圧いじり.1065T は倍率変更でのオーバークロックはできない (倍率を下げる事しかできない) ので,やっぱ時代はエコだよねー,というわけでひたすら省電力方向に振ってみた.
で K10Stat の設定はこんな感じ.
Athlon64 の時は 1GHz/0.800V が下限だったけど,今度のは 100MHz まで下げられるwww 流石にそこまで下げちゃうとモッサリ感が半端ないので,下限は 400MHz にした.あと,各 PState 毎のクロック割り振りを低めにして,なるべく低い周波数で動くようにしてみた.
で,6コアをしばらく使ってみたけど,今までの 2コアと体感は全く変わらねー(笑) 今までですでにオーバースペックだったってことね.唯一実感できたのは動画のエンコが 3倍速くなったことだけだな.
そろそろ AMD のソケットが変更されて,今の AM3 ソケット CPU は生産中止になるらしいので.いま買い換えとけば後 3年は持つかなぁ? というわけで 6コア CPU ゲット.
今のマシンは 3年前に組んだものだけど,最新の CPU がマザボの変更無しでそのまま使えるって凄いことだなあ.しかもメモリの主流が DDR2→DDR3 に変わってるにもかかわらず.AMD はこういうところでもコストパフォーマンスが高いからインテルより気に入っている.
というわけで恒例のクロック & 電圧いじり.1065T は倍率変更でのオーバークロックはできない (倍率を下げる事しかできない) ので,やっぱ時代はエコだよねー,というわけでひたすら省電力方向に振ってみた.
で K10Stat の設定はこんな感じ.
Athlon64 の時は 1GHz/0.800V が下限だったけど,今度のは 100MHz まで下げられるwww 流石にそこまで下げちゃうとモッサリ感が半端ないので,下限は 400MHz にした.あと,各 PState 毎のクロック割り振りを低めにして,なるべく低い周波数で動くようにしてみた.
で,6コアをしばらく使ってみたけど,今までの 2コアと体感は全く変わらねー(笑) 今までですでにオーバースペックだったってことね.唯一実感できたのは動画のエンコが 3倍速くなったことだけだな.
2011年7月16日土曜日
WiMAX (・∀・)デムパ!! 強化実験
こことかここらへんの記事を見て,自分も WiMAX アンテナ (というかリフレクタ) を試してみようと思った.
無線 LAN で電波波長とか? を考慮した本気のアンテナ自作は見たことあるけど,上記サイトのような割といい加減な (ほとんど鉄板でも) 効果はあるっぽい.
というわけで,家に転がっていたアルミ鍋の蓋を三脚に付けてトライ.
金色の見た目といい,どっからどう見ても別の意味で (・∀・)デムパ!! を受信しているようにしか見えないが,やってる本人は割と真剣なのですよ.
で,結果は…
ジャマになるというデメリット以上の効果は認められなかった(汗 いろいろ方角とか蓋⇔WiMax ルータの距離とか変えてみたけど,やっぱり効果なかった.方角を変えるとある方角から外れたときにガクッと速度が落ちるので,電波遮断の効果はあるらしい(汗
というわけで,今回のネタは失敗┐('~`;)┌
いろいろ試しているときに,いつもの置き場所,写真のように障子の桟に乗っけているのだが,この位置から升目 1個分上下・左右にずれただけで速度が半分に落ちることがわかった.なんかここにピンポイントに電波が来てるらしい(笑)
無線 LAN で電波波長とか? を考慮した本気のアンテナ自作は見たことあるけど,上記サイトのような割といい加減な (ほとんど鉄板でも) 効果はあるっぽい.
というわけで,家に転がっていたアルミ鍋の蓋を三脚に付けてトライ.
金色の見た目といい,どっからどう見ても別の意味で (・∀・)デムパ!! を受信しているようにしか見えないが,やってる本人は割と真剣なのですよ.
で,結果は…
ジャマになるというデメリット以上の効果は認められなかった(汗 いろいろ方角とか蓋⇔WiMax ルータの距離とか変えてみたけど,やっぱり効果なかった.方角を変えるとある方角から外れたときにガクッと速度が落ちるので,電波遮断の効果はあるらしい(汗
というわけで,今回のネタは失敗┐('~`;)┌
いろいろ試しているときに,いつもの置き場所,写真のように障子の桟に乗っけているのだが,この位置から升目 1個分上下・左右にずれただけで速度が半分に落ちることがわかった.なんかここにピンポイントに電波が来てるらしい(笑)
登録:
投稿 (Atom)








