事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
HTPCのWin7機にpingを飛ばすと帰ってこないので、調べると標準のFireWallはデフォルトでそうなってるらしい。
前にも同じようなのあったな・・・・

コントロールパネル(表示方法:アイコン) > Windows ファイアウォール > 詳細設定
> 受信の規則 > エコー要求ICMPv4 を選んで規則の有効化

icpm_win7_firewall.png

おわり。

でもやはり、無料でもサードパーティーの入れないとだめかな・・・・

スポンサーサイト

PageTop
Lanが遅い!
インターネットも遅いのだけれど、なによりNASが遅い!
しかもどんどん遅くなる気がする。おかしい。Sambaの設定はCentOS6.0の時とほぼ同じなのにっ。

サンバ経由でTSを見ると数分に一度2~3秒止まる。
TVTestの設定をいじくりまくっても変わらない。
ルーターとHubが100Mbpsなので遅いのは当然なのだけど、CrystalDiskMarkで測ると、30Mbpsとかしかでない。
しかも、スピードが一定ではなくカーブががたがた。

crystaldiskmark01.png

で、Sambaが悪いのかLanが悪いのか、原因を切り分けるためFTPで速度を測ることにした。

参考:『ftpでネットワークの速度を測定する

まず、NASのCentOS6.3サーバーにFTPサーバーをインストール
[root@NAS ~]# yum -y install vsftpd

[root@NAS ~]# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
 のコメントアウトを消す(有効にする)

vsftpdを起動 常には使わない(今のところ)のでchkconfig vsftpd onはしない

[root@NAS ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@NAS ~]# ps -el | grep vsftpd
5 S 0 23795 1 0 80 0 - 13015 inet_c ? 00:00:00 vsftpd
[root@NAS ~]#

FireWallはいつもどおりGUIから、FTP 21/tcpを追加で解放

次にWindows7の端末からコマンドプロンプトを立ち上げ200MBのテスト用ファイルを作る。

C:\>R: RamDiskのR:\へ移動 cd R:\では移動出来ないのね・・
R:\>fsutil file createnew test 200000000
ファイル R:\test が作成されました

R:\>compact /c test

R:\test\ のファイルを圧縮しています

test 200000000 : 0 = 1.0 : 1 [OK]

1 ディレクトリ内の 1 ファイルが圧縮されました。
合計 200,000,000 バイトのデータが、0 バイトに格納されました。
データの圧縮率は 1.0 : 1 です。


testファイルをSamba経由でLinuxの/var/ftp/pub(vsftpdのデフォルトのディレクトリがここらしい)にコピーする。(ftpで送って速度を測ろうとしたが何故か出来なかったのでとりあえずあきらめダウンだけ測る)

測定開始
ftpでつないでダウンロードする

R:\>ftp 192.168.0.101
192.168.0.101 に接続しました。
220 (vsFTPd 2.2.2)
ユーザー (192.168.0.101:(none)): anonymous
331 Please specify the password.
パスワード:      そのままEnter
230 Login successful.
ftp> dir  ディレクトリを見る
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxrwxrwx 2 0 0 4096 Nov 25 19:56 pub
226 Directory send OK.
ftp: 61 バイトが受信されました 0.00秒 20.33KB/秒。
ftp> cd pub    pubの中へ移動
250 Directory successfully changed.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rwxrw-rw- 1 0 0 200000000 Nov 25 19:24 test
226 Directory send OK.
ftp: 63 バイトが受信されました 0.00秒 63.00KB/秒。
ftp> get test nul
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test (200000000 bytes).
226 Transfer complete.
ftp: 200000000 バイトが受信されました 20.37秒 9817.40KB/秒
ftp> get test nul
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test (200000000 bytes).
226 Transfer complete.
ftp: 200000000 バイトが受信されました 17.00秒 11768.17KB/秒
ftp> get test nul
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test (200000000 bytes).
226 Transfer complete.
ftp: 200000000 バイトが受信されました 16.99秒 11768.86KB/秒


3回やったが、9MBps~11MBps(70~90Mbps)とまともな数値。

こうなると、やはりSambaがあやしい。

PageTop
HTPC兼コタツトップのWindows7がアイドルで放置しても自動でスリープしないので、調べた。


参考:
Windows7でいくら待っても、スリープ状態にならなかったので調べてみただけ。
Windows 7で自動でスリープ状態にならない問題を解決(電子証明書の期限切れ、オーディオデバイス)

スタート > すべてのプログラム > アクセサリ > コマンド プロンプト

>cd C:\Windows\System32

>powercfg /energy
トレースを 60 秒間有効にしています...
システムの動作を監視しています...
トレース データを分析しています...
分析が完了しました。

エネルギー効率の問題が見つかりました。

3 個のエラー
20 個の警告
22 個の情報

詳細については、C:\Windows\System32\energy-report.html を参照してください。


で、C:\Windows\System32\energy-report.html を見てみると、

~~略~~

分析結果
エラー
システムの利用可能性の要求:システムが必要な要求
デバイスまたはドライバーによって、システムが自動的にスリープ状態にならないようにする要求が行われました。
要求しているドライバー インスタンス HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_12970888&REV_1000\4&8113e0a&0&0001
要求しているドライバー デバイス Realtek High Definition Audio


USB 中断:USB デバイスは中断していません
USB デバイスは中断状態になりませんでした。USB デバイスが使用されていないときに中断状態にならない場合、プロセッサの電源管理が行われないことがあります。
デバイス名 USB Root Hub
ホスト コントローラー ID PCI\VEN_8086&DEV_27C9
ホスト コントローラーの場所 PCI bus 0, device 29, function 1
デバイス ID USB\VID_8086&PID_27C9
ポート パス

~~上記同様のUSBのバスがずらずらと~~略~~

プラットフォーム電源管理機能:PCI Express Active-State Power Management (ASPM) が無効です
このコンピューターのハードウェアとの既知の非互換性のため、PCI Express Active-State Power Management (ASPM) は無効になっています。

~~略~~

さらに、

>powercfg -requests
DISPLAY:
なし。

SYSTEM:
[DRIVER] Realtek High Definition Audio (HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS
_12970888&REV_1000\4&8113e0a&0&0001)
現在 1 つのオーディオ ストリームが使用中です。

AWAYMODE:
なし。


Realtekのオーディオドライバーのせいかな と。

で、

再びコマンドプロンプトで、
>powercfg -requestsoverride DRIVER "Realtek High Definition Audio" SYSTEM
>powercfg -requestsoverride DRIVER srvnet SYSTEM


これで、再起動後はスリープするようになりました。

PageTop
ほんとは、Linux+XBMC でHTPC(HomeTheaterPersonalComputer)にしたかったのですが、試行錯誤の挙句、時期尚早(自分の技術力が足りないだけ)のためWindows7でつなぐ試験運用することにしました。
やはりLinuxは今一歩マルチメディア系が弱い・・・・
10年以上前のMacとWinみたい・・・・
という訳で、
Windows7+XBMC(+TVTest+VLC) でHTPCにすることにしました。

で、今回はこのPCをTV以外にもそこらに転がっていた17インチの液晶にもつないで、HTPC兼コタツトップパソコンにすることにしました。
ちなみに、スペック 
   M/B:ベアボーン Shuttle SD32G2
   CPU:Core2Duo E6300
   RAM:2GB*2
   SSD:Silicon Power 64GB SP064GBSS2T10S25
   VGA:ELSA GLADIAC 573 128MB (GeForce 7300 LE)
   電源:PicoPSU160
   リモコン:iMon inside

という何世代前?のシロモノ(SSDとiMoninsideは追加)

   モニタ1:日立 Wooo P50-XP05 (50インチプラズマテレビ)
   モニタ2:Acer AL1721    (17インチSXGA液晶モニタ)

CPUファンは本来の9cmのものを外し、クーラーはそのままにGELID Silent12(120mm)を針金で吊り下げ。
チップセットファンは本来の4cmのものを外し、RDL8025BLを3.5インチベイから針金で吊り下げ、5V駆動。
これで、P50-XP05のそばにおいてもP50-XP05のHDD回転音のほうがうるさい。
ちなみに、これでアイドル50wくらい。HD再生で70~80wくらい。一日数時間だしivyBridgeにしても消費電力差で元取るまではいけないよねぇ~~



まずは、OSのインストールから。
XBMCやリモコンなんかがうまく動くか試験運用する、という理由からWindows7Enterprise評価版を適当にググってダウンロードし、インストールすることにします。
インストールの際に、windows7はシステム予約領域というものをHDD上に確保するらしいので、それを解消しつつやります。
インストール画面で、未割当て領域でドライブオプション > 新規をクリックし、好きなサイズでパーティションを作ります。
すると、システム予約領域ともう一つのパーティションが出来るので、もうひとつのほうを削除で消します。
そして、システム予約領域を拡張で好きなサイズにします。
そして、ここへインストールすればOK。

ちなみにシステム予約領域はBitLockerというHDDとかUSBメモリとかの暗号化に使うものらしいです。
Ultimate と Enterprise だけらしいです。
→『BitLocker ドライブ暗号化

ちなみにちなみに、評価版なので当然いずれは使えなくなるのですけど、
しばらくは評価してみないとわからないわけです。
という訳で、しばらく評価する方法
→『グーグル先生
→『Windows OSのライセンス認証の猶予期間を延長する
  評価が固まるころにはLinuxがいい具合になることを祈りつつ・・・・



次に、
XBMCのインストールと設定
XBMC公式
最新はXBMC11みたいだけど、とあるプラグインが使えない(使い方がわからない後述)ので、XBMC10をダウンロードし、インストールします。

1:日本語化
System > Setting > Appearance > International
Language を English(US) から Japanese へ

文字化けしてところどころ“豆腐”になっているので、フォントを変えます。
Internationalの上のタブ(?)がSkin(多分、豆腐が三丁)なのでそこへ入ります。
で、上から4つ目(たぶん Skin default となっているところ)を
Arial based に変えます。

あとは、文字が読めるようになったのでインターナショナルに戻って、
文字セットを Japanese(Shift-Jis)

Skinはほとんどで日本語表示ができるようになってるみたい。@XBMC11
大概は、スキンを選んだ時点でフォントがDefaultに戻るので、フォントを変えればどれかしらで日本語が表示できる。(だめなのもあるけど。MetropolisとXperienceMoreだけかな?)
AEON NoxはKoreanで日本語になった。なぜ?
ちなみに、日本語がだめなSkinで日本語表示するための方法は
XBMC Windows SKINの日本語化について
XBMC 10.0 言語ファイル(日本語)
あたりに書いてあります。試してませんけど・・・

2:外部プレーヤーの登録
XBMCの内部プレーヤー(?)はDSPlayerってものらしいです。
そのままでも、結構色々なフォーマットの音楽、ビデオ、写真etcが再生できるのですがmpeg2TSなんかはうまく再生できないようなので、外部プレーヤーを登録します。

試行錯誤の挙句mpeg2TS用に使うプレーヤーはTVtest
試した中では唯一AACパススルーが出来て字幕もそのまま見れる。
(LinuxはどのソフトもAACパススルーが出来ない・・・wine+TVTestもだめだった・・・orz)

その他の動画にはVLCを使います。(ISO見れます。)

C:\Program Files\XBMC\system\playercorefactory.xml	windowsの場合
/usr/share/xbmc/system/playercorefactory.xml Linuxの場合
の記述を以下のように変えました。

<playercorefactory>
<players>
<!-- These are compiled-in as re-ordering them would break scripts
The following aliases may also be used:
audiodefaultplayer, videodefaultplayer, videodefaultdvdplayer
<player name="DVDPlayer" audio="true" video="true" />
<player name="DVDPlayer" /> placeholder for MPlayer
<player name="PAPlayer" audio="true" />
-->
<player name="VLC" type="ExternalPlayer" audio="true" video="true">
<filename>C:\Program Files\VideoLAN\VLC\vlc.exe</filename>
<args>--fullscreen --play-and-exit "{1}"</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
<player name="TVTestPassThrough" type="ExternalPlayer" audio="true" video="true">
<filename>C:\Program Files\tvtest\TVTest.exe</filename>
<args>/tvtplay /fullscreen /ini TVTest-xbmc-spdifPT.ini "{1}"</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
<player name="TVTest" type="ExternalPlayer" audio="true" video="true">
<filename>C:\Program Files\tvtest\TVTest.exe</filename>
<args>/tvtplay /fullscreen /ini Video.ini "{1}"</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
</players>
<rules name="system rules">
<rule name="vlc" filetypes="mpeg|mpg|iso|mp4|mkv|avi" filename="*" player="VLC" />
<rule name="tvtestPassThrough" filetypes="ts" filename=".*SS.*|.*5_1.*" player="TVTestPassThrough" />
<rule name="tvtest" filetypes="ts" filename="*" player="TVTest" />
</rules>
</playercorefactory>

playerタグのargsコマンドラインオプション
VLCは全画面表示でスタート。再生終了でアプリも終了
TVTestは全画面でスタート。tvtplayを有効化。
更に、iniをSPDIFパススルーしたいものとそうでないもので分け、ファイルネームで選別しそれを読み込む。
拡張子及びファイルネームでの選別はruleタグで行える。
ruleタグのfiletypesは拡張子の指定(正規表現可)。
filenameでファイルネームを正規表現で指定している。
上の例の場合、ファイルネームに『SS』と『5_1』と入っているときはパススルー用。
SPDIFパススルーするとtvtplayで倍速再生が出来なくなるので、5.1chだけパススルーするようにした。
(ステレオはパススルーだろうがPCMだろうがどうせ同じ。よね。)
で、5.1chの放送は番組タイトルに【SS】【5.1】が入るのでこれで選別する。
ただし、Recpt1(EPGrec?)で録画するとピリオド(.)がアンダーバー(_)に変換されるので、【5.1】の文字列はファイルネームでは【5_1】になる。更に、XBMCの正規表現が【】を含んでいると判断できないようなので、こうなった。
そして、絞り込んだruleを先に書くとそちら優先で再生されるようなので、下側のruleではfilename="*"で一応選別できるようになった。文字列を否定する正規表現て大変よね・・・)
当然EPGrec等での命名規則に激しく依存するので注意。
ちなみにplayerのnameとかにハイフン(-)など使うとそれだけでうまく動かないので記号は避けたほうがいいかも。どうせこのxmlだけでのことだし。

参考:『XBMCで外部プレーヤーを指定する方法

さらに、Windows7エアロを有効にしてる場合、HD再生でカクカクになるので
vlc.exeとTVTest.exeを右クリック>プロパティ>互換性>デスクトップコンポジションを無効 にチェック をいれる。
XBMC自体もデスクトップコンポジションを切っておいた方が、外部プレーヤーに切り替えるとき瞬かなくていいかも。元からエアロは使わないとかね。

<<追記メモ>>
HTPCがc000021a(レジストリの不整合らしい)のBSoDが出るようになったので、クリーンインストールしたら、なぜかXBMCからTVtestを開くと重くてまともに見れなくなった。
で、<player>タグの<hidexbmc>要素をfalseからtrueにしたらまともになった。
原因、理由は不明。とりあえず様子見。
参考:『External players XBMC wiki


ちなみに、フィルタ(デコーダー?)を使えるようにしてあげることでDSPlayerでもmpeg2TSもヌルヌル見れるらしいです。
参考:『XBMC for Windows TIPS – 池デジを録画した MPEG-2 TS をヌルヌル再生する方法
ただ、ffdshowとかなんで、Linuxだとうまくいかない予感。

3:XBMCからFirefoxを使えるようにする。
まず、Firefoxはコマンドラインオプションで全画面表示が出来ないらしい。
ウィンドウのサイズと位置は前回終了時の設定が残るので、頭で書いたようにHTPC兼コタツトップにすると、前回コタツトップでつぎにXBMCで使ったときに、全画面にならなかったりするとちょっといやなので、それぞれをプロファイルで分けることにします。

前準備として、スタート(>すべてのプログラム>アクセサリ)>ファイル名を指定して実行 にfirefox -P としてfirefoxのプロファイルマネージャを起動。参考:『Command Line Options
新しいプロファイルを作成からXBMC用のプロファイルを作成し、一度起動し適当にいじって、ひとまずFirefoxを終了。

Firefoxのプロファイルは firefox.exe -P "profilename" とすればそのプロファイルで起動できるので、どこか適当なところ(Firefoxのフォルダの中とか)に以下の内容のバッチファイル(ex.firefox_xbmc.bat)を作る。
@echo off
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "xbmc"

※コマンドプロンプトが出るのがいやな場合→『バッチファイル プロンプト画面を表示しない
※XBMCのLauncherでコマンドラインオプションを指定する方法、ショートカットにコマンドラインオプションを指定する方法は、何故かうまくいかないのでバッチファイルでやることにしました。


XBMCを起動し、プログラム > GetMore... > Launcher > Install
※XBMC11だとこのLauncherがなく、代わりにAdvancedLauncherというのがあったけど、どうも使い方がわからないので、XBMC10を使うことにした。 orz

プログラム > Launcher を起動し、
Launcher Type はStandalone (normal PC executable)
Select the launcher application で先ほどのバッチファイルを選択
Application arguments は
Set title of the launcher は Firefox あたりで
ちなみに、後から追加で登録する場合、既に作った設定を削除する場合などは項目を選んだ状態でキーボードの『C』を押すとコンテキストが出てくるのでそこから行えます。

参考:『ワイヤレスキーボードと xbmc の組み合わせで快適インターネット!

ここまでで、プログラム>LauncherでFirefoxを起動することは出来たものの階層が深いので、ホーム画面上のプログラムの隣(下)にインターネットという項目を作ってそこで一発でFirefoxを起動できるようにします。
まず、XBMCを一度Exitし、
C:\Program Files (x86)\XBMC\addons\skin.confluence\720p\Home.xmlを開き

~~略~~
<item id="1">
<label>0</label>
<onclick>ActivateWindow(Programs,Addons,return)</onclick>
<icon>special://skin/backgrounds/programs.jpg</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</thumb>
<visible>!Skin.HasSetting(HomeMenuNoProgramsButton)</visible>
</item>

<item id="12">
<label>443</label>
<onclick>RunPlugin(plugin://plugin.program.launcher/?Firefox)</onclick>
<icon>special://skin/backgrounds/firefox.jpg</icon>
<!--thumb>$INFO[Skin.String(Home_Custom_Back_Programs_Folder)]</thumb-->
</item>


<item id="5">
<label>13000</label>
<onclick>ActivateWindow(Settings)</onclick>
<icon>special://skin/backgrounds/settings.jpg</icon>
<thumb>$INFO[Skin.String(Home_Custom_Back_Settings_Folder)]</thumb>
</item>
~~略~~

のようにします。
!Skin.HasSetting(HomeMenuNoProgramsButton)』で検索をかけて(1度しか出てこない)、その塊の下に赤文字の部分を入れればOKだと思います。
ちなみに、C:\Program Files (x86)\XBMC\addons\skin.confluence\backgroundsにfirefox.jpgというJpegの壁紙を入れると、インターネットを選んだ画面の壁紙がfirefox.jpgになります。

参考:『xbmc のホーム画面をいじってみる



起動からすべてをリモコンだけで操作する
HTPCが目的なので家電ライクに使えないと意味がないわけで、となるとリモコンが必須。
という訳で、当初からACPIのS5(電源断)から起動できる、知る限り唯一の赤外線リモコンであるiMonを内蔵済み。
iMon inside
韓国(中国?)の通販会社から\3,500で届きました。微妙な値段・・・
リモコンの受光部はUSBでつなぐので、つなぎさえすればキーボードのように何かのキーが帰ってくるのかと思ったら、専用のアプリ(ドライバー)を入れないとだめなのね。なんだやっぱり・・・。ということ(専用ドライバによる)は、そこらに転がってるリモコンの信号は受取れないってことね。ちょっとがっかり・・・。よく考えれば(考えなくても)、当然か・・・
そして、LinuxだとLircってのでリモコン受光部さえあれば、いらなくなったリモコンを使えるようだけどWindowsにはないっぽい。
(正確にはUSB対応のがない。Lirc派生のWinLircはシリアル接続のみ)
EventGhostでimonをHIDヒューマンインターフェースデバイスとか何とかで割り当てても、imonの専用アプリで割り当てたもの以上のキーは出てこない。ぽい。


リモコンはRM100という小さいもの。
ボタン電池はCR2025。 より一般的な2032にしてくれればいいものを・・・・
附属のボタン電池を入れて、反応がすごく鈍くて、何を間違っているのかとアプリのリインストールを繰り返していたら3日後には電池が切れた・・・orz
リモコンのボタンと専用アプリでのボタンの名前の対応表のようなものがなく、微妙にわからなかったのでメモ。
 専用アプリでの名前仮想キーコード
/AutoHotKeyでの名前
rm100.png
1App.Exit自由に割当可
2Power自由に割当可
3BackVK_BACK
/ BS
4Up自由に割当可
5MenuVK_APPS
/ AppsKey
6Left自由に割当可
7EnterVK_RETURN
/ Return
8Right自由に割当可
9VOL+自由に割当可
10Down自由に割当可
11CH+自由に割当可
12VOL-自由に割当可
13Mute自由に割当可
14CH-自由に割当可
15Previous自由に割当可
16Play自由に割当可
17Next自由に割当可
18Quick Launch自由に割当可

ボタンに対して帰ってくるキーコードを専用アプリでカスタマイズできる。
赤字の3つだけは固定されていて変えられない。

ということで、これらのボタンに好きなキーを割り当てて(一部マルチメディアキーも可)アプリ側もホットキーをそれにあわせれば、好きなように動かせる。
さらにAutoHotKeyも活用すれば、完璧。

ちなみにimon以外で、PCの起動を本体のボタンを押さずリモコンライクに起動するアイデアとして、
・スマホとかのWifi端末からマジックパケットを送りWOLでPCを起こす。
・ワイヤレスキーボードetcで『電源の管理』タブ(デバイスマネージャー>キーボード>プロパティ)でサスペンド解除が出来る場合、それを使う。
等がある。
特に下の方法は、M/Bとキーボードが対応さえしていれば一般的なUSBドングル付きのワイヤレスキーボードがPCリモコンになる。(無駄にでかいけど・・・)
さらに、Buffalo(メルコ?)のDT-OP-RCがこの電源の管理に対応してるらしく、S3サスペンドからならこのリモコンだけで復帰できるらしい。(多分Linuxでもいけるよね)
アマゾンで\2,500円位で買える(2012/11/17現在)ので、悪くないと思う。一個確保しとこうか・・・



番外編1:音声のデジタルとアナログ同時出力
AACのSPDIFパススルーにこだわりTVTestにした(ひいてはWindowsにした)訳だけど、デジタル接続のマルチチャンネルアンプで聞きたいとき(映画とか音楽ものとか)と、テレビのスピーカーでもいいときがあるわけで、そうなると出来ればデジタル、アナログ同時出力されていることが望ましい。
で、結論から言うと5.1chの場合は不可(SPDIFパススルー優先)。
ステレオ2chの場合は同時出力可ということになった。
※TVTestがパススルーをする際に音声デバイスがデジタルになっていないとだめ。
音声フィルタはなしになっていないと色々とだめ。とおもう。
設定項目は 設定 > 再生 のあたり


で、ステレオ2chの場合は以下の方法で実現できる。
概要としては、アナログで出力し、PC内部でアナログをデジタルに送る(?)様な感じ
※TVTestは・パススルーをしない・音声デバイスをデフォルトとか(アナログ)にする。

コンパネ(表示方法:アイコン) > サウンド > 録音
リスト表示されている部分で右クリック > 無効なデバイスの表示


ここまでで、ステレオミキサーが出てきたら ステレオミキサーを有効

そして、
再生 で スピーカー (アナログ)が 既定のデバイス になってることを確認

録音 に戻り
ダブルクリックでステレオミキサーのプロパティを開き
聴く > このデバイスを使用して再生する を デジタルアウト系
このデバイスを聴く に チェック

で、アナログとデジタル両方に出力される

デジタルが若干遅れる(DSP通るしね)けど1フレ2フレ位のレベルなので映像に対しては遅れて感じない。無意識の脳内補完てすごいよね・・・・

※デジタルアウトを再生の既定にして、サウンドミキサーでアナログへ聴く はできなかった。
おそらくサウンドミキサーは入力がアナログ固定なんだろう・・・よく分からないけど・・


ちなみに、ステレオミキサー がない場合
ドライバを入れることでステレオミキサーが出てくることもある。

うちの場合、Realtekからドライバ(High Definition Audio Codecs)をダウンロード → インストール で出てきた。

マシンの再起動後にステレオミキサーが出てこなければ あきらめるしかない。たぶん。

参考:『S/PDIFとアナログを同時出力(Windows7)

番外編2:2つの画面をうまいこと切り替える
先にも書いたとおりHTPC兼コタツトップなのでディスプレイが2枚つながっている訳ですが、一方はFullHD(1920*1080)、もう一方はSXGA(1280*1024)になるので、解像度がまるきり違うためミラーリング(画面のコピー)にすると片方が制限を受けることになってしまう。
かといって、2画面を同時に使うことはないので通常のデュアルディスプレイの使い方ではとても不便。
ということで、ディスプレイ1、ディスプレイ2を完全に切り替えて使うことにします。
が、当然毎回コンパネから~なんてやってられないので、バッチで出来ないかと探したら『Display Changer』が完璧。
グラフィックボードが古くて(かな?)nvidiaの最新のドライバーがうまいこと入らないようなので、2枚とも汎用Pnpモニタとかになってしまうけど、\\.\DISPLAY1\\.\DISPLAY2で判別が付くようで切り替えもうまくいく。

バッチファイルはこんな感じ
"C:\Program Files\12noon Display Changer\dc.exe" -monitor="\\.\DISPLAY1" -primary -width=1280 -height=1024 -force

timeout /T 3

"C:\Program Files\12noon Display Changer\dc.exe" -monitor="\\.\DISPLAY2" -detach


やってることは、
ディスプレイ1(17インチSXGA)をメイン画面として有効にする。
3秒待つ。   (深い意味はないけど切り替えの猶予)
ディスプレイ2(テレビ)を切り離す。

これでテレビから17インチへ、切り替えが出来た。
逆も適当に作って、あとはリモコンから来るキーアクションをAutoHotKeyでこのバッチを実行するようにしてあげればOK。
(バッチ使わず、AutoHotKeyから直接でもいいのだろうけど、構築したのがこの順番だったので・・・)

Display Changer』はリンク先に詳しく事例も書いてあるのでそちら参照(英語だけど)
AutoHotKeyは『AutoHotkeyを流行らせるページ』『AutoHotKeyの初手』『AutoHotkeyのチュートリアルを読んだ』『使用例』この辺が役に立った。

PageTop
HTPC(HomeTheaterPersonalComputer)予定のPCはバックパネルにS/PDIF(デジタル)出力がないものの、内部にピンヘッダがあるので、ここから同軸出力(Coaxial)を作ることにしました。

オンボードのサウンドチップがRealtek(ALC888)なので、
RealtekのHPで検索すると、Data Sheetがみれる。
それによると、こんな回路図が載っていた。無断転載シマスタ。
spdif_circuit.png
今回作るのは出力だけなので、上の回路
必要な部品は
・コンデンサ0.01uF
・コンデンサ100pF
・抵抗100Ω
・抵抗220Ω
何のことはないアナログ回路なんかの出力段の最後につけるカプコン(カップリングコンデンサ@ゲーム会社じゃないよ)と、パスコン(バイパスコンデンサ、デカップリングコンデンサ)が付いているだけなので、基本的な回路の要素はチップパッケージの中で完結してる。のね。当然か。
当然、HPF(ハイパスフィルタ)とLPF(ローパスフィルタ)としても機能するので、音質(f特:周波数特性)に関連するわけだけど、なんせデジタルだしね・・・・
アナログならジカに効くので何なんだけど・・・デジタルなんで、ある程度は「データが行けばいんじゃね?」ということで、回路図を参考に、手持ちのパーツ等を使いつつ作ってみました。(クリックで拡大:以下同)
spdif01.jpg
コンデンサは、それでも一応フィルムコンデンサ     一個\15とかのものだけど。
抵抗は手元に1/4wカーボン100Ωがあったので、ケチって、それを3つ使い、100Ωと200Ωとして使用。(20Ωくらい気にしない。)
銅線はCat5のいらないLanケーブルをばらして撚りを強くツイストペアにして使用。
基盤もベークライトのユニバーサル基盤の切れ端。

これを適当に組んで、回路全体は収縮チューブにくるんで、PCにつけました。
spdif.png

Flex-ATXの電源をPicoPSUに変更してるので、その穴をアルミ板で埋めて、PicoPSU用とS/PDIF用の端子をつけました。
spdif02.jpg
RCAジャックは一応、絶縁型金メッキ   共立エレパーツで\180かな?あそこ送料が安くていいのよね・・・

S/PDIFからTVTestで5.1chAACをパススルー
マルチチャンネルアンプのFL管でMPEG2 AACの表示と5.1ch分のスピーカーのマーク
VSA-D1011.png


音質?なんせデジタルだしね。Audiophile 2496も持ってるけどかわんねーよ。たぶん。
とかいいつつ、アンプにつなぐケーブルはTARA LABSのPrism8N 定価2万円?くらい?あほです。

PageTop
SSDにWindows7を入れたときのカスタマイズ 自分用メモです。
基本的に、
・書き込み回数の上限があるので、書き込みを少なくする
・素で速いので、バックグラウンドでの先読み的な不要な動作をやめる
 という方向性です。  (列挙するとLinuxよりやること多いなぁ・・・・)

1:フォルダーオプション変更 (直接は関係ないですが・・)
コントロールパネル(表示方法:アイコン) > フォルダー オプション
表示 > 隠しファイル、隠しフォルダー、及び隠しドライブを表示する に変更
表示 > 登録されている拡張子は表示しない のチェックを外す
(いい加減デフォルトでこうしてくれないかな・・・・そのまま使ってる人っているのだろうか・・いるんだよねたぶん・・)

2:復元ポイント削除 (不要な書き込みの抑制※復元を使う人はしない)
コントロールパネル(表示方法:アイコン) > システム > システムの保護
(or コンピューター右クリック > プロパティ > システムの保護)
ドライブを選び > 構成
システムの保護を無効にする を変更

3:Trimの確認 (SSD対応の確認)
スタート > すべてのプログラム > アクセサリ > コマンドプロンプトを右クリックで管理者として実行
fsutil behavior query DisableDeleteNotify
DisableDeleteNotify = 0 と表示されればTrim有効
DisableDeleteNotify = 1 と表示されればTrim無効 → Trim有効化

4:ハイバネーション(及びハイブリッドスリープ)をやめる (不要な書き込みの抑制)
スタート > すべてのプログラム > アクセサリ > コマンドプロンプトを右クリックで管理者として実行
powercfg /hibernate off

(確認)
コントロールパネル(表示方法:アイコン) > フォルダー オプション
表示 > 保護されたオペレーティング システム ファイルを表示しない (推奨) のチェックを外す
コンピューター > Cドライブを開き hiberfil.sys が消えているのを確認

もしくは、管理者として実行したコマンドプロンプトから
powercfg.exe /a
でも確認可能
休止状態
休止状態は有効にされていません。
ハイブリッド スリープ
と出ればハイバネーションはOff
スリープを選ぶとサスペンド(メモリ保持)になる

保護されたオペレーティング システム ファイルを表示しない (推奨)のチェックが外れているとdesktop.iniとか普段必要のないものまで見えてしまうので、確認したらチェックを戻しておく。

5:UACを切る (SSDとは直接は関係ありません)
SELinuxみたいなもんらしいです。
コントロールパネル(表示方法:アイコン) > ユーザー アカウント > ユーザー アカウントの制御設定の変更
通知しない に
※UAC有効だとAdobeIllustrator9だったかな?がうごかない。

6:デフラグのスケジュールを止める (不要な書き込み・不要動作の抑制)
コントロールパネル(表示方法:アイコン) > パフォーマンスの情報とツール > 詳細ツール > ディスク デフラグ ツールを開く
スケジュールの変更 > スケジュールにしたがって実行する のチェックを外す

7:インデックスの停止 (不要な書き込み・不要動作の抑制)
コントロールパネル(表示方法:アイコン) > 管理ツール > サービス
Windows Search を
スタートアップの種類:無効
停止 をクリック

8:SuperFetchを止める (不要動作の抑制)
コントロールパネル(表示方法:アイコン) > 管理ツール > サービス
Superfetch を
スタートアップの種類:無効
停止 をクリック

9:PreFetchを止める (不要動作の抑制)
スタート > ファイル名を指定して実行 (or Win + r)
regedit と入力し OK
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters の EnablePrefetcher の値を 0 にする

   パラメータの意味
    0 無効
    1 アプリケーションプリフェッチモード
    2 ブートプリフェッチモード
    3 アプリケーション&ブートプリフェッチモード(デフォルト)

更に、C:\Windows\Prefetch を開いて、ファイルをすべて削除

10:SoftPerfect RamDiskを導入 (不要な書き込みの抑制)
※下記のDataRam RamDiskよりよさそうな物を発見したので追記(4GBの制限がないetc)
ただ、まれにBSoD(後述)

softperfectからRamDiskをダウンロードしインストール(商業利用以外は無償)
SoftPerfect RamDiskを起動したら、
Disk > Add
Sizeに作りたいラムディスクのサイズを入力し
DriveLetterはお好きに設定
FileSystemNTFS
Create Foldersに『TEMP』『TMP』を一行づつ入れる
OKをクリック しばらくするとラムディスクができる

Disk > Add Boot Disk... を使うと起動時のより早い段階でラムディスクができるらしいが、普通のAddのほうで問題なく動く

起動時に高確率でBSoDになるので、DataRam RamDiskに戻した。

10:DataRam RamDiskを導入 (不要な書き込みの抑制)
DataRamからFreeVersionをダウンロードしインストール(4GBまで個人利用に限り無償)
<<追記>>
Version4.1.0を試したら、搭載Ram容量で上限値が変動するようなので、4.0.5を探して入れた。

Dataram RAMDisk Configuration Utilityを起動
Settingsタブで
 DiskSize を設定
 Unformatted を選択

Start RAMDisk をクリック

successfully になったら

スタート > コンピューター を右クリック > 管理
(or コントロールパネル(表示方法:アイコン) > 管理ツール > コンピューターの管理
記憶域 > ディスクの管理
MBRかGPTかと聞かれるが、どちらでもいい。2Tを超えるわけもなく関係ない
RamDiskとおぼしきディスク1を右クリック > 新しいシンプルボリューム
ドライブレターをわかりやすく R に (RamDiskなので)
 ファイルシステム:NTFS
 アロケーションユニット:規定値
 ボリュームラベル:RamDisk
 クイックフォーマット
でフォーマット

スタート > コンピューター から RamDiskを開き
『TEMP』『TMP』のフォルダを作る。 (結構これが無いと動かないソフトってあるのね・・・)

Dataram RAMDisk Configuration Utility に戻り > Load and Save
Load Disk Image at Startup にチェック

The selected image file does not exist. A new image file will be created if the image is saved. The RAMDisk will start unformatted. とか言われる
まぁ、そうなので OK

Save Disk Image Now をクリック
C:にRAMDisk.img とかが出来る
※起動のときに毎回これを読み込む仕様らしい。
その為にRamDiskのサイズが大きいと起動が遅くなるという噂も?(確認できず)


10.1:テンポラリーファイルをRamDiskにおく (不要な書き込みの抑制)
スタート > コンピューター を右クリック > プロパティ > システム詳細設定 > 環境変数
ユーザー環境変数システム環境変数 両方とも ※たまにシステムのほうを忘れる。
TEMP を選択 > 編集
R:\TEMP
TMP を選択 > 編集
R:\TMP
デフォルトでは両方同じフォルダだけど、個人的にずっと別にしてきた・・・

11:仮想メモリをRamDiskにおく (不要な書き込みの抑制)
スタート > コンピューター を右クリック > システム詳細設定
パフォーマンスの 設定 > 詳細設定 > 仮想メモリの 変更
自動的に管理する のチェックを外す
C:ページングファイルなし を選び 設定をクリック
R:カスタムサイズ
  初期サイズ16MB
  最大サイズ16MB  を入力し 設定をクリック
※本当はページングファイルを0にしたいところなんだけど、AdobePhotoshop6とかが、これが無いと起動しないので、常にこれにしてます。最小値が16MB

12:IEのキャッシュの場所をRamDiskに (不要な書き込みの抑制)
IEの ツール > オプション > 全般 タグ > 閲覧の履歴 の 設定 > フォルダーの移動
RamDiskのTEMPへ変更する
移動後に元のキャッシュをフォルダごと削除
デフォルトの階層は
C:\Users\***\AppData\Local\Microsoft\Windows\Temporary Internet Files
※保護されたオペレーティングシステムファイル~~ になっているので、フォルダオプションを変更しないと見えない

13:Firefoxのキャッシュの場所をRamDiskに (不要な書き込みの抑制)
about:config
browser.cache.disk.parent_directory  (文字列) R:\MozillaFirefoxCache\

14:Thunderbirdのキャッシュの場所をRamDiskに (不要な書き込みの抑制)
about:config (ツール>オプション>詳細>一般>高度な設定>設定エディタ)
browser.cache.disk.parent_directory  (文字列) R:\MozillaThunderbirdCache\

15:Chromeのキャッシュの場所をRamDiskに (不要な書き込みの抑制)
(設定ではなくコマンドラインオプションでやるらしい)
ショートカット(エイリアス)を作るなりなんなりして、オプションに以下を追加 数値は良しなに
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-dir=R:\ChromeCache --disk-cache-size=500000000 --media-cache-size=1000000000

C:\Users\ユーザー名\AppData\Local\Google\Chrome\User Data\Default\Cache を削除
<<参照>>『Chromeのキャッシュサイズや場所を変更

16:各ブラウザのダウンロード先の変更 (不要な書き込みの抑制)
既定でRamDiskにするとか、毎回たずねるとか、良しなに

17:Windows Defenderを切る (SSDとは直接関係ないです)
avastとか入れるからこれいらないよね・・・
コントロールパネル > Windows Defender
ツール > オプション
管理者 > このプログラムを使用する チェックを外す

PageTop
VLCでmpeg2TSを見ると、埋め込まれた字幕(?)が見れません。
が、それを見れるようにするパッチをどこかの偉い人が作ってくれたので、それを使ってVLCをコンパイルしてみます。
依存関係が結構多くてなかなか大変でした。

参考にしたHP:
nkoriyama / vlc-aribsub』 基本的にここを隅から隅まで見れば多分大丈夫。特にwikiの中のBuild
パッチはこの辺:『SkyDrive

VLCの公式
VideoLan Wiki UnixCompile
VideoLan Wiki Building
VideoLan Wiki Contrib Status



ではいってみましょー。
赤いところをコピーして端末にペースト、Enterすればたぶん出来ると思います。
まずは、『VideoLan Wiki UnixCompile』を参考に、コンパイルに必要なツールを入れます。
test@test-SD32V10 ~ $ sudo apt-get install git libtool build-essential pkg-config autoconf
~~略~~
次に、依存関係にあるツール群を『VideoLan Wiki Contrib Status』のSingle command installationあたりを参考に入れていきます。

test@test-SD32V10 ~ $ sudo apt-get -y install libvorbis-dev libogg-dev libtheora-dev speex libspeex-dev flac libflac-dev x264 libx264-dev a52-0.7.4 liba52-0.7.4-dev mpeg2dec libmpeg2-4-dev faad libfaad-dev faac libfaac-dev lame libmp3lame-dev ffmpeg libavdevice-dev libmad0 libmad0-dev dirac libdirac-dev liboil-dev libschroedinger-dev libebml-dev libdca-dev twolame libtwolame-dev libmpcdec-dev libvorbisidec1 libvorbisidec-dev libass-dev libass4 libmatroska-dev libdvbpsi-dev libmodplug1 libmodplug-dev libshout3 libshout3-dev libdvdread4 libdvdnav4 libdvdnav-dev livemedia-utils liblivemedia-dev libcddb2 libcddb2-dev libcdio10 libcdio-dev libxcb-composite0-dev libcdio-utils vcdimager libvcdinfo0 libvcdinfo-dev libgpg-error0 libgpg-error-dev libgcrypt11 libgcrypt11-dev gnutls-bin libgnutls26 libgnutls-dev libdap10 libdap-bin libdap-dev libxml2 libxml2-dev libpng12-0 libpng12-dev libjpeg8 libtiff4 libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev libc-bin gettext libfreetype6 libfreetype6-dev libfribidi-dev libfribidi0 zlib1g zlib1g-dev libtag1-dev libcaca0 libcaca-dev caca-utils libqt4-core libqt4-dev libportaudio2 libportaudio-dev libupnp-dev libupnp4 libupnp3 libexpat1 libexpat1-dev yasm libxcb-xv0 libxcb-xv0-dev libx11-xcb1 libx11-xcb-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意: 正規表現 'a52-0.7.4' に対して 'liba52-0.7.4-dev' を選択しています
注意: 正規表現 'a52-0.7.4' に対して 'liba52-0.7.4' を選択しています
注意、'liboil-dev' の代わりに 'liboil0.3-dev' を選択しています
パッケージ libdap10 はデータベースには存在しますが、利用できません。
おそらく、そのパッケージが見つからないか、もう古くなっているか、
あるいは別のソースからのみしか利用できないという状況が考えられます
しかし、以下のパッケージで置き換えられています:
libdapserver7:i386 libdapclient3:i386 libdap11:i386 libdapserver7 libdapclient3 libdap11

パッケージ libcdio10 はデータベースには存在しますが、利用できません。
おそらく、そのパッケージが見つからないか、もう古くなっているか、
あるいは別のソースからのみしか利用できないという状況が考えられます

E: パッケージ 'libcdio10' にはインストール候補がありません
E: パッケージ 'libdap10' にはインストール候補がありません


無いといわれるので、libcdio10libdap10をはずします。
また、a52-0.7.4 liba52-0.7.4-dev もはずします。
(後でコンパイルして入れます。a52ってのはAC-3のことらしい。DVDの音声フォーマットですね)

test@test-SD32V10 ~ $ sudo apt-get -y install libvorbis-dev libogg-dev libtheora-dev speex libspeex-dev flac libflac-dev x264 libx264-dev mpeg2dec libmpeg2-4-dev faad libfaad-dev faac libfaac-dev lame libmp3lame-dev ffmpeg libavdevice-dev libmad0 libmad0-dev dirac libdirac-dev liboil-dev libschroedinger-dev libebml-dev libdca-dev twolame libtwolame-dev libmpcdec-dev libvorbisidec1 libvorbisidec-dev libass-dev libass4 libmatroska-dev libdvbpsi-dev libmodplug1 libmodplug-dev libshout3 libshout3-dev libdvdread4 libdvdnav4 libdvdnav-dev livemedia-utils liblivemedia-dev libcddb2 libcddb2-dev libcdio-dev libxcb-composite0-dev libcdio-utils vcdimager libvcdinfo0 libvcdinfo-dev libgpg-error0 libgpg-error-dev libgcrypt11 libgcrypt11-dev gnutls-bin libgnutls26 libgnutls-dev libdap-bin libdap-dev libxml2 libxml2-dev libpng12-0 libpng12-dev libjpeg8 libtiff4 libsdl1.2-dev libsdl-image1.2 libsdl-image1.2-dev libc-bin gettext libfreetype6 libfreetype6-dev libfribidi-dev libfribidi0 zlib1g zlib1g-dev libtag1-dev libcaca0 libcaca-dev caca-utils libqt4-core libqt4-dev libportaudio2 libportaudio-dev libupnp-dev libupnp4 libupnp3 libexpat1 libexpat1-dev yasm libxcb-xv0 libxcb-xv0-dev libx11-xcb1 libx11-xcb-dev
~~略~~
うちの環境(Ubuntu12.04とLinuxMint13)ではこれでエラーなく入りました。

次に、a52関係を入れます。
liba52のコンパイル&インストール
liba52tofloat32_plugin.la] Error 1 VideoLan Wiki
を参考にしました。

test@test-SD32V10 ~ $ cd /usr/local/src
test@test-SD32V10 /usr/local/src $ sudo wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
--2012-10-30 11:28:44-- http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
liba52.sourceforge.net (liba52.sourceforge.net) をDNSに問いあわせています... 216.34.181.96
liba52.sourceforge.net (liba52.sourceforge.net)|216.34.181.96|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 241507 (236K) [application/x-gzip]
`a52dec-0.7.4.tar.gz' に保存中

100%[==================================================================================================================================================================>] 241,507 197K/s 時間 1.2s

2012-10-30 11:28:46 (197 KB/s) - `a52dec-0.7.4.tar.gz' へ保存完了 [241507/241507]

test@test-SD32V10 /usr/local/src $ sudo tar xzf a52dec-0.7.4.tar.gz
test@test-SD32V10 /usr/local/src $ cd a52dec-0.7.4
test@test-SD32V10 /usr/local/src/a52dec-0.7.4 $ ./bootstrap
+ aclocal -I autotools
+ libtoolize --force --copy
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `autotools'.
libtoolize: copying file `autotools/ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
+ autoheader
+ automake --add-missing --copy
liba52/Makefile.am: installing `autotools/depcomp'
liba52/Makefile.am:1: `CFLAGS' is a user variable, you should not override it;
liba52/Makefile.am:1: use `AM_CFLAGS' instead.
src/Makefile.am:1: `CFLAGS' is a user variable, you should not override it;
src/Makefile.am:1: use `AM_CFLAGS' instead.
+ autoconf
+ rm -f config.cache
test@test-SD32V10 /usr/local/src/a52dec-0.7.4 $ ./configure CFLAGS="-fPIC"
~~略~~  このオプションの意味わかりませんけど。これが無いとだめでした。
test@test-SD32V10 /usr/local/src/a52dec-0.7.4 $ make
~~略~~
test@test-SD32V10 /usr/local/src/a52dec-0.7.4 $ sudo make install
~~略~~


次にlibmadをコンパイルして入れます。
Single command installationでもlibmadはありましたけど、VLCのコンパイルの段で無いといわれたのでコンパイルで入れます。
ライブラリのインストール (mp3 decoder)』を参考にしました。
パッチが必要です。

test@test-SD32V10 /usr/local/src/a52dec-0.7.4 $ cd ..
test@test-SD32V10 /usr/local/src $ sudo wget http://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz
--2012-10-30 11:36:47-- http://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz
sourceforge.net (sourceforge.net) をDNSに問いあわせています... 216.34.181.60
sourceforge.net (sourceforge.net)|216.34.181.60|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz/download [続く]
--2012-10-30 11:36:47-- http://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz/download
sourceforge.net (sourceforge.net)|216.34.181.60|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://downloads.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz?r=&ts=1351564608&use_mirror=jaist [続く]
--2012-10-30 11:36:48-- http://downloads.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz?r=&ts=1351564608&use_mirror=jaist
downloads.sourceforge.net (downloads.sourceforge.net) をDNSに問いあわせています... 216.34.181.59
downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: http://jaist.dl.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz [続く]
--2012-10-30 11:36:48-- http://jaist.dl.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net) をDNSに問いあわせています... 150.65.7.130
jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|150.65.7.130|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 502379 (491K) [application/x-gzip]
`libmad-0.15.1b.tar.gz' に保存中

100%[==================================================================================================================================================================>] 502,379 668K/s 時間 0.7s

2012-10-30 11:36:49 (668 KB/s) - `libmad-0.15.1b.tar.gz' へ保存完了 [502379/502379]

test@test-SD32V10 /usr/local/src $ sudo tar zxf libmad-0.15.1b.tar.gz
ライブラリのインストール (mp3 decoder)』からパッチをもらってきて/usr/local/srcにおいておきます。コマンドではうまく行かなかったのでGUI上でやります。
test@test-SD32V10 /usr/local/src $ sudo gunzip libmad-1.patch.gz
test@test-SD32V10 /usr/local/src $ sudo gunzip libmad-2.patch.gz
test@test-SD32V10 /usr/local/src $ patch -p0 < libmad-1.patch
patching file libmad-0.15.1b/configure.ac
test@test-SD32V10 /usr/local/src $ patch -p0 < libmad-2.patch
patching file libmad-0.15.1b/configure.ac
test@test-SD32V10 /usr/local/src $ cd libmad-0.15.1b
test@test-SD32V10 /usr/local/src/libmad-0.15.1b $ ./configure
~~略~~
test@test-SD32V10 /usr/local/src/libmad-0.15.1b $ make
~~略~~
test@test-SD32V10 /usr/local/src/libmad-0.15.1b $ sudo make install
~~略~~
test@test-SD32V10 /usr/local/src/libmad-0.15.1b $ sudo ldconfig  インストールしたものを適用するみたいです
test@test-SD32V10 /usr/local/src/libmad-0.15.1b $ cd ..


以上で、前準備が一応おしまい。
VLC2.1だとうまくパッチが当たらないようなので、VLC2.0で行きます。

test@test-SD32V10 /usr/local/src $ sudo git clone git://git.videolan.org/vlc/vlc-2.0.git
Cloning into 'vlc-2.0'...
remote: Counting objects: 372101, done.
remote: Compressing objects: 100% (75444/75444), done.
remote: Total 372101 (delta 299545), reused 366382 (delta 294915)
Receiving objects: 100% (372101/372101), 213.68 MiB | 12 KiB/s, done.
Resolving deltas: 100% (299545/299545), done.
パッチ(aribsub-patch-vlc-2.0.tar.bz2)はあらかじめ/usr/local/srcにダウンロードしておきます。
test@test-SD32V10 /usr/local/src $ sudo tar jxf '/usr/local/src/aribsub-patch-vlc-2.0.tar.bz2'
test@test-SD32V10 /usr/local/src $ cd vlc-2.0
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0010-Support-for-ISDB-ARIB-Subtitle.patch'
patching file configure.ac
Hunk #1 succeeded at 2969 (offset -33 lines).
patching file include/vlc_fourcc.h
patching file modules/codec/Modules.am
patching file modules/codec/aribb24dec.h
patching file modules/codec/aribsub.c
patching file modules/codec/aribsubstext.h
patching file modules/demux/Modules.am
patching file modules/demux/ts.c
Hunk #5 succeeded at 817 with fuzz 1.
Hunk #6 succeeded at 1648 (offset -12 lines).
Hunk #7 succeeded at 1849 (offset -12 lines).
Hunk #8 succeeded at 2944 (offset -15 lines).
Hunk #9 succeeded at 3064 (offset -15 lines).
Hunk #10 succeeded at 3217 (offset -15 lines).
Hunk #11 succeeded at 3241 (offset -15 lines).
Hunk #12 succeeded at 3264 (offset -15 lines).
Hunk #13 succeeded at 3281 (offset -15 lines).
Hunk #14 succeeded at 3428 (offset -15 lines).
Hunk #15 succeeded at 3848 (offset -15 lines).
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0011-text_renderer-add-support-for-halfwidth-font.patch'
patching file include/vlc_text_style.h
patching file modules/text_renderer/freetype.c
patching file modules/text_renderer/quartztext.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0012-quartztext-support-kerning-and-some-text-attributes.patch'
patching file modules/text_renderer/quartztext.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0013-freetype-support-kerning.patch'
patching file modules/text_renderer/freetype.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0014-aribsub-fix-fstat-related.patch'
patching file modules/codec/aribsub.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0015-aribsub-fix-typo.patch'
patching file modules/codec/aribsub.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0017-aribsub-stop-force-bold.patch'
patching file modules/codec/aribsub.c
patching file modules/codec/aribsubstext.h
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0018-freetype-fix-spacing.patch'
patching file modules/text_renderer/freetype.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0019-aribsub-fix-adjustment.patch'
patching file modules/codec/aribb24dec.h
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0020-aribsub-fix-config-naming-style.patch'
patching file modules/codec/aribsub.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0021-text_renderer-use-fontname-in-text_style_t.patch'
patching file modules/text_renderer/freetype.c
patching file modules/text_renderer/quartztext.c
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0022-ts-support-TOT-and-EIT-running-status-for-ISDB.patch'
patching file modules/demux/ts.c
Hunk #1 succeeded at 3215 (offset -15 lines).
Hunk #2 succeeded at 3332 (offset -15 lines).
Hunk #3 succeeded at 3404 (offset -15 lines).
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0023-aribsub-fix-conversion-table.patch'
patching file modules/codec/aribb24dec.h
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0024-aribsub-fix-adjustment.patch'
patching file modules/codec/aribb24dec.h
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo patch -p1 < '/usr/local/src/patches/0026-aribsub-fix-adjustment.patch'
patching file modules/codec/aribb24dec.h
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo ./bootstrap
~~略~~
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo ./configure --disable-lua
luaは入れても何故か入ってないといわれてまったくだめなのであきらめます。
プログラムに関するツールらしいです。よく分かりません。
~~略~~

checking for LIBVA... no
configure: WARNING: No package 'libva' found
No package 'libva-x11' found.
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... no
configure: error: No package 'libswscale' found. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.
apt-getで入るかやってみます。
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo apt-get install libswscale
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ libswscale が見つかりません
無いといわれたので、-devを付けてみます。
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo apt-get install libswscale-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libswscale-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 20 個。
114 kB のアーカイブを取得する必要があります。
この操作後に追加で 516 kB のディスク容量が消費されます。
取得:1 http://archive.ubuntu.com/ubuntu/ precise-updates/main libswscale-dev amd64 4:0.8.3-0ubuntu0.12.04.1 [114 kB]
114 kB を 1秒 で取得しました (61.1 kB/s)
Selecting previously unselected package libswscale-dev.
(データベースを読み込んでいます ... 現在 166467 個のファイルとディレクトリがインストールされています。)
(.../libswscale-dev_4%3a0.8.3-0ubuntu0.12.04.1_amd64.deb から) libswscale-dev を展開しています...
libswscale-dev (4:0.8.3-0ubuntu0.12.04.1) を設定しています ...
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo ./configure --disable-lua
~~略~~
checking for LIBVA... no
configure: WARNING: No package 'libva' found
No package 'libva-x11' found.
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... yes
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking for POSTPROC... no
configure: error: No package 'libpostproc' found. Pass --disable-postproc to ignore this error.
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo apt-get install libpostproc
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ libpostproc が見つかりません
また、-dev付けてみます。
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo apt-get install libpostproc-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libpostproc-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 20 個。
64.2 kB のアーカイブを取得する必要があります。
この操作後に追加で 254 kB のディスク容量が消費されます。
取得:1 http://archive.ubuntu.com/ubuntu/ precise-updates/main libpostproc-dev amd64 4:0.8.3-0ubuntu0.12.04.1 [64.2 kB]
64.2 kB を 1秒 で取得しました (52.5 kB/s)
Selecting previously unselected package libpostproc-dev.
(データベースを読み込んでいます ... 現在 166476 個のファイルとディレクトリがインストールされています。)
(.../libpostproc-dev_4%3a0.8.3-0ubuntu0.12.04.1_amd64.deb から) libpostproc-dev を展開しています...
libpostproc-dev (4:0.8.3-0ubuntu0.12.04.1) を設定しています ...
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo ./configure --disable-lua
~~略~~
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile

libvlc configuration
--------------------
version : 2.0.5
system : linux
architecture : x86_64 mmx sse sse2
optimizations : yes
vlc aliases : cvlc rvlc qvlc

To build vlc and its plugins, type `make', or `./compile' if you like nice colors.
やっとここまでこぎつけました。

test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo make -j8  -jオプションは同時実行ジョブ数?とかなんとか、らしい。
-jの後にCPUのコア数の1~2倍の数字を入れると速い。らしい。
一度だけLinuxMintで同じやり方でmakeでコケたけど、sudo make cleanしてからやったら通りました。原因不明
~~略~~

test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo make install
~~略~~
test@test-SD32V10 /usr/local/src/vlc-2.0 $ sudo ldconfig


使い方は
>設定→すべて→入力/コーデック→デマルチプレクサー→MPEG-TS の「Support ARIB STD-B24」というところのチェックで機能のオンオフができます。
>デフォルトはオフ。
だそうです。

詳しくは『vlc-aribsub / README.md』の設定項目に書いてあります。

PageTop
ThinkPad Edge E525 にLinuxMintを入れます。
UbuntuのUnityが個人的にだめなのと、それでもデスクトップ環境はCentOS(RedHat)よりもubuntuの方が色々といじるには楽っぽいので人気上昇中らしいLinuxMintにします。

公式LinuxMint

LinuxMint13はUbuntu 12.04 LTS(LongTermSupport)がベースで2017年4月までサポートらしいので、使い出したら余り試行錯誤したくない私にはぴったりです。
なにやらMateとCinnamonがあるらしいけど、安定してるらしいMateにします。
何のことやらと思ったら、ウィンドウマネージャーの名前らしいです。gnomeなんじゃないの??よく分かってません。
CD(DVD)にLiveCDを焼いて、起動します。
windows7とデュアルブートにしたのでext4のパーティションをつくりマウントポイントは『/』でブートローダーはインストールするパーティションに指定/dev/sda3)してインストールします。
ブートの切り替えはMBMでやります。

1:インストールが終わり再起動したら、まもなくツールバーに出てくる『アップデート』をまず適用します。
  (これをしないと、LanguageSupportで日本語環境にするときにネットの接続を確認しろとか言われて進みませんでした。)

2:コントロールセンター > LanguageSupport を起動します。
  何か足りないものがあるからインストールするとか何とか言われます。まぁ、対話形式で適当に進めます。
  なにやら入れ終わったら、『システム全体に適用』をします。

3:日本語入力が出来るようにインプットメソッドを入れます。
  ソフトセンターからでもいいんでしょうけど、コマンド(端末)で、
  $ sudo apt-get install ibus-mozc
  以前Ubuntuではibus-anthyを使いましたが、mozcの方が使いやすいです。個人的に・・
  コントロールセンター >  KeyboardInputMethod は適当にいじって・・・

4:コントロールセンター > AdditionalDrivers でVGAのプロプライエタリなドライバーを入れます。
  (これを入れないと、サスペンドで復帰できませんでした。)

5:viがnanoで使いづらいのでvimにします
  $ sudo apt-get install vim
  $ sudo update-alternatives --config editor


6:SSDにしてるので、その対応をします。
  $ sudo vi /etc/sysctl.conf
  最終行に
  vm.swappiness = 0
  vm.dirty_writeback_centisecs = 1500

上段はswap領域をSSD内に作らない設定
下段はOSキャッシュの書き込みの頻度調整(書込み処理は一度キャッシュされデフォルトだと5秒間隔で書き込むらしいです。それを15秒間隔にします。)

  $ sudo mv /etc/cron.daily/mlocate /etc/cron.weekly/mlocate
mlocateというのがファイル検索のためのデータベースを作るらしいので、それを/etc/cron.weeklyに移動して、データベース作成を毎日から毎週にします。

  $ sudo mkdir /mnt/RamDisk
  $ sudo vi /etc/rc.local

  #!/bin/sh -e
  #
  # rc.local
  #
  # This script is executed at the end of each multiuser runlevel.
  # Make sure that the script will "exit 0" on success or any other
  # value on error.
  #
  # In order to enable or disable this script just change the execution
  # bits.
  #
  # By default this script does nothing.
  #RamDisk wo mount
  mount -t tmpfs -o size=5000m /dev/shm /mnt/RamDisk

  exit 0

起動時に/mntにRamDiskフォルダを作りそこにラムディスク(tmpfs)をマウント(5000MB)
/dev/shmってのが本来のラムディスクのマウントポジションらしい

  $ sudo vi /etc/fstab
  # /etc/fstab: static file system information.
  #
  # Use 'blkid -o value -s UUID' to print the universally unique identifier
  # for a device; this may be used with UUID= as a more robust way to name
  # devices that works even if disks are added and removed. See fstab(5).
  #
  #         
  proc     /proc     proc  nodev,noexec,nosuid 0    0
  tmpfs     /tmp     tmpfs  defaults      0    0
  # / was on /dev/sda1 during installation
  UUID=0df4e598-730d-417d-b03b-44fc5b855831 /  ext4  discard,errors=remount-ro 0 1

/tmpをラムディスクにする。
/tmpはただの一時フォルダ
SSDがTrim対応なので、trimオプションであるdiscardをつける。

7:テキストエディタのplume(geditとどう見ても一緒)の設定
  編集 > 設定
  ・行番号を表示
  ・カーソル行を強調
  ・対応するカッコを強調
  ・自動保存のチェックをはずす  (plumeだとデフォルトでOff)
  ・バックアップのチェックをはずす (plumeだとデフォルトでOff)

8:ターミナル(端末)の設定
  編集 > プロファイル
  ・スクロールを無制限に

9:FirefoxをSyncで設定を同期する
  同期する(元)Firefoxで ツール > オプション(windowsの場合) > アカウントの管理 > リカバリキー をメモる
  それを 新しいFirefoxで『同期するデバイスを持っていません』とかなんとか、をクリックし、キーを入れて同期する。
  同期する項目は
   ・アドオン
   ・個人設定   のみ  ブックマーク、履歴、タブはXmarksにまかせる。
  同期には時間がかかるので、『今すぐ同期』を押したらしばらく放置

  ツールバー、検索ツールバーの検索エンジン、アドオン設定はおそらく同期されないので、自分でやる。
  (TabMixPlusとか設定をインポートエクスポートできるのでする。TMPpref.txt)

  about:configをいじる
  ・browser.cache.disk.parent_directory (文字列) /mnt/RamDisk/FireFoxCache
  ・browser.tabs.onTop  (真偽値) false    ツールメニューから変更できなくなったらしい
  ・browser.urlbar.clickSelectsAll  (真偽値) true

10:マウスジェスチャーソフトEasyStrokeをいれる
  ソフトウェア管理からGUIでいれる。
  ユニバーサルアクセスに出来るので、
  進む を ボタン で ボタン9
  戻る を ボタン で ボタン8  に登録   (ボタン8、ボタン9ってなに?)
  進む を Shift + BackSpace で実現しようと思ったら、なぜかShift + BackSpaceが登録できなかった。
  あとは適当にいじって・・・・
   参考:『SlimBlade Trackball 72327JP買った

PageTop
スリープ(サスペンド)時に 何かをさせたいときの 自分用メモ

Windows7(スリープ)の場合

  コントロールパネル > 管理ツール > タスク スケジューラ

  『操作』となってるパネル(フレーム?)から タスクの作成
   もしくは、タスクが並んでいるところから右クリックから新しいタスクの作成でも

  トリガー > 新規

	タスクの開始	:イベント時
ログ :システム
ソース :Kernel-Power
ID :42

それ以外の設定項目は、こちらから

合ってるかどうかわからないけど、これで動いた気がする。
参考:『特定のイベントに応じてタスクを実行する
イベント ビューアーで Windows ログ > システム で見てると スリープさせると ソースが Kernel-Power が出る気がする。

<<追記>>
結局だめだった。スリープ復帰時にしか実行されない。

PageTop
スリープ(サスペンド)復帰時に 何かをさせたいときの 自分用メモ

Windows7(スリープ)の場合

  コントロールパネル > 管理ツール > タスク スケジューラ

  『操作』となってるパネル(フレーム?)から タスクの作成
   もしくは、タスクが並んでいるところから右クリックから新しいタスクの作成でも

  トリガー > 新規

	タスクの開始	:イベント時
ログ :システム
ソース :Power-Troubleshooter
イベントID :1

それ以外の設定項目は、こちらから

Linuxはこちら

PageTop
スリープ(サスペンド)復帰時に 何かをさせたいときの 自分用メモ

Linux(サスペンド)の場合

  1.pm-suspend の場合
  /usr/lib64/pm-utils/sleep.d/75modules に処理を書く

  2.echo mem > /sys/power/state の場合
  シェルスクリプトの中にecho mem > /sys/power/stateを入れ、
  復帰後させたい処理をその続きに書く
  サスペンド処理はそのシェルスクリプトを実行する

Windowsはこちら

PageTop
電子番組表(EPG)の取得って結構負担かかってるのかな?と思っていたところへ、『kinoko island』さんの『epgrec:番組表取得の負荷を劇的に削減する方法 』なる記事をたまたま見かけたので、やってみました。

えっと。この方法を試す前のMRTGのCPU使用率のグラフ。
偶数時間の10分にcronでepg更新してます。(デフォルトだと29分?みたい?)
cpuuseage-day.png
まぁ、Atomなので非力ですから、CPU使用率がとがってますね。

[root@NAS ~]# mysql -u username -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 67
Server version: 5.1.61 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| PT3 |
| test |
+--------------------+
3 rows in set (0.00 sec)

mysql> use PT3;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------------+
| Tables_in_PT3 |
+----------------------+
| Recorder_categoryTbl |
| Recorder_channelTbl |
| Recorder_keywordTbl |
| Recorder_logTbl |
| Recorder_programTbl |       分からないながら眺めときます・・・・
| Recorder_reserveTbl |
+----------------------+
6 rows in set (0.00 sec)

mysql> show columns from Recorder_programTbl;
+--------------+--------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| channel_disc | varchar(128) | NO | MUL | none | |
| channel_id | int(11) | NO | | 0 | |
| type | varchar(8) | NO | | GR | |
| channel | varchar(10) | NO | | 0 | |
| title | varchar(512) | NO | | none | |
| description | varchar(512) | NO | | none | |
| category_id | int(11) | NO | | 0 | |
| starttime | datetime | NO | MUL | 1970-01-01 00:00:00 | |
| endtime | datetime | NO | | 1970-01-01 00:00:00 | |
| program_disc | varchar(128) | NO | | none | |
| autorec | tinyint(1) | NO | | 1 | |
+--------------+--------------+------+-----+---------------------+----------------+
12 rows in set (0.01 sec)     ふ~~ん

mysql> show index from Recorder_programTbl;
+---------------------+------------+----------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+---------------------+------------+----------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+
| Recorder_programTbl | 0 | PRIMARY | 1 | id | A | 13913 | NULL | NULL | | BTREE | |
| Recorder_programTbl | 1 | program_ch_idx | 1 | channel_disc | A | NULL | NULL | NULL | | BTREE | |
| Recorder_programTbl | 1 | program_st_idx | 1 | starttime | A | NULL | NULL | NULL | | BTREE | |
+---------------------+------------+----------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+
3 rows in set (0.00 sec)      ほぉ・・・・・
ブログに書いてある通りにやってみるか・・・
mysql> alter Recorder_programTbl add index idx_program_disc(program_disc);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Recorder_programTbl add index idx_program_disc(program_disc)' at line 1
   あらーーおこられた。sql文とか完璧忘れてまっせ。
mysql> alter table Recorder_programTbl add index idx_program_disc(program_disc);
Query OK, 13913 rows affected (0.90 sec)    ふぬ。一言足りなかったらしい;;
Records: 13913 Duplicates: 0 Warnings: 0

mysql> show index from Recorder_programTbl;  確認しますか・・
+---------------------+------------+------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+---------------------+------------+------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+
| Recorder_programTbl | 0 | PRIMARY | 1 | id | A | 13913 | NULL | NULL | | BTREE | |
| Recorder_programTbl | 1 | program_ch_idx | 1 | channel_disc | A | 46 | NULL | NULL | | BTREE | |
| Recorder_programTbl | 1 | program_st_idx | 1 | starttime | A | 3478 | NULL | NULL | | BTREE | |
| Recorder_programTbl | 1 | idx_program_disc | 1 | program_disc | A | 13913 | NULL | NULL | | BTREE | |
+---------------------+------------+------------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+
4 rows in set (0.30 sec)   こういうことらしい・・・

mysql> exit
Bye
[root@NAS ~]#


という訳で、Befor~After
Befor
cpuuseage-day.png
After
mrtg_cpu2.png

確実にとげが小さくなってます。
めでたしめでたし。

PageTop
Linuxのサスペンド周りの挙動が、多少見えてきたので自分用メモ。

まず、DN2800MTにCentOS6.3を入れてpm-util(pm-suspend)を使ったサスペンドで画面が戻ってこない。
それ以外は、PT3がサスペンドから復帰で使えなかったが、それは解決済み
 →『DN2800MT + CentOS6.3 + PT3 ACPI サスペンド

画面が戻ってこないことに関しては、
/var/log/pm-suspend.logをみたらvbetoolが入ってないといってる気がする。
どうもこれが、VGA周りのBIOSがらみをいじれるらしい。
が、
yum install vbetool ではNo package found  といわれる。
それ以上はググルも、よく分からない

次に、pm-suspendで、復帰時にコマンドを実行するには
/usr/lib64/pm-utils/sleep.d/75modules
に処理を書けばよさそう。な気がする。
参考:『PT3のスリープからの復帰失敗をなんとかする


そして、pm-suspendは遅いらしい
ここでは、pm-suspendの方が少し時間がかかる、とかなんとか書かれてる。
どこで見たか忘れたが、pm-utilは色々と初期化だの処理をしてるらしい。

で、pm-suspend以外に
echo mem > /sys/power/state
で、サスペンドできる。らしい。
サスペンド、ハイバネート等、なにが可能かは
# cat /sys/power/state
で、出てくる文字列でわかる。らしい。
stanby	=スタンバイ	ACPIのS1	(全部生きの低電力)
mem =サスペンド ACPIのS3 (メモリだけ生き)
disk =ハイバネート ACPIのS4 (HDDに内容を書き出し全部電源断)
まぁこんな感じ。たぶん。
memとかdiskとかをechoの後に入れればよいらしい。
S1ってほとんど使いものにならない。全然消費電力が落ちない。ファンも回りっぱなし。まぁ、当然M/B(BIOS?)によるよね。

で、echo mem > /sys/power/stateの場合は、シェルスクリプトで処理を書いてその中にこれを入れると、サスペンド復帰後にecho mem > /sys/power/stateを書いた後の処理がそのまま行われるっぽい。
で、色々やってみて、以下の方法でサスペンドがうまくいくことがわかった。(※VGAはだめなまま

#!/bin/sh

# remove pt3 driver
/sbin/modprobe -r pt3_drv

# suspend
echo mem > /sys/power/state

# load pt3 driver
/sbin/modprobe -r pt3_drv
sleep 1
/sbin/modprobe pt3_drv


上記のスクリプトを/usr/local/binあたりsuspend.shとかで保存し、サスペンドしたいときに実行すれば、echo mem > /sys/power/stateの行でサスペンドし、復帰した後その次の行から処理が続行される。
VGAのドライバっぽいのを同じようにアンロード、ロードをしてみたけどそっちはだめだった。

参考:
LinuxノートPCのサスペンドとハイバネーション
PT3のスリープからの復帰失敗をなんとかする

結果的にほとんど参考元と同じことになってる。
で、
結論としては、
pm-suspendに比べ、pingが戻ってくるのは速くなる(約20秒→約3秒)
が、puttyがつながるまではほぼ変わらず20秒近く。
実質的にリモートから使えるようになるのにecho mem > /sys/power/state も pm-suspend もほとんど時間は変わらない
(HDDのスピンアップにかかる時間によるのかな。SSDなら echo mem > /sys/power/state のほうが速いかもしれない)



また、ほとんど調べてないけどuswsuspってのがあるらしい
Ubuntu日本語フォーラム
試験運用中なLinux備忘録
はっきり言ってよく分からん。


で、LinuxMintを入れてサスペンド周りの挙動を見て気がつく。
プロプライエタリなドライバを入れればサスペンドがOKになる。
が、CentOSではUbuntu系のように簡単にadditionalDriverが入れられない。
→メンドクサイので放置;;
でもこれだと思う。

ついでに実験としてDN2800MTのHDDを3.5インチ2台(シーゲート120GB+Maxtor250GB)にしてみた。
起動時に60w超える。
アイドル35w前後。
2.5インチ+3.5インチで20w~22w位なのにエライ増えるなぁ・・・2台とも古いHDDにして試したからかな?

S.M.A.R.Tのクイックテストを一回かけただけで、ほとんど動かしてないけど、3.5インチ2台でもM/Bからの電源供給で何とかなるのかも。

PageTop
参考先だけ見れば事足りるので、ほとんどブックマーク的自分用メモ。

TSには色々な情報(ワンセグ、EPGとかとか)が含まれているので必要なものだけ抜き出すツール。
Windowsにはtssplitterなるものがあるらしい。
それのlinux版を誰かが作ってくれたらしい。 ありがたや。

そして、recpt1にも既に組み込まれているらしい。 ありがたや。
けど録画後に、分離するなら必要ね。ということで、インストール。


[root@NAS ~]# cd /usr/local/src
[root@NAS src]# wget http://hp.vector.co.jp/authors/VA038175/download/tssplitter_lite.zip
--2012-10-03 18:40:29-- http://hp.vector.co.jp/authors/VA038175/download/tssplitter_lite.zip
Resolving hp.vector.co.jp... 210.155.146.5
Connecting to hp.vector.co.jp|210.155.146.5|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8296 (8.1K) [application/zip]
Saving to: “tssplitter_lite.zip”

100%[======================================>] 8,296 --.-K/s in 0.004s

2012-10-03 18:40:29 (1.86 MB/s) - “tssplitter_lite.zip” saved [8296/8296]

[root@NAS src]# unzip tssplitter_lite.zip
Archive: tssplitter_lite.zip
creating: tssplitter_lite/
inflating: tssplitter_lite/Makefile
inflating: tssplitter_lite/readme.txt
creating: tssplitter_lite/tssplitter_lite/
inflating: tssplitter_lite/tssplitter_lite/Makefile
inflating: tssplitter_lite/tssplitter_lite/portable.h
inflating: tssplitter_lite/tssplitter_lite/tssplitter_lite.c
inflating: tssplitter_lite/tssplitter_lite/tssplitter_lite.vcproj
inflating: tssplitter_lite/tssplitter_lite.sln
[root@NAS src]# cd tssplitter_lite
[root@NAS tssplitter_lite]# make
cd tssplitter_lite; make all
make[1]: Entering directory `/usr/local/src/tssplitter_lite/tssplitter_lite'
gcc -Wall -O2 -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
tssplitter_lite.c: In function ‘ReadTs’:
tssplitter_lite.c:223: warning: pointer targets in passing argument 5 of ‘AnalyzePat’ differ in signedness
tssplitter_lite.c:53: note: expected ‘int *’ but argument is of type ‘unsigned int *’
gcc -o tssplitter_lite tssplitter_lite.o
make[1]: Leaving directory `/usr/local/src/tssplitter_lite/tssplitter_lite'
[root@NAS tssplitter_lite]# cp tssplitter_lite/tssplitter_lite /usr/local/bin

で、使い方は、
$ tssplitter_lite source.ts output.ts SID


以上!

参考:
PT2で録画したMPEG2-TSファイルをsplitしたりトランスコードをする

Debianでrecpt1によるBS/CS放送の録画

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。