UbuntuでVMware上のWindowsXP起動時間 高速化

YouTube Preview Image

VMwareのWindowsXPの起動時間。タスクバーが出るまで。
※加工して短くした映像ではありません。実際の起動時間とほぼ同じです。

私が使っている環境のUbuntu 8.04上のVMwareで動いているWindowsXPの起動イメージ。通常の用途で使っています。高速化のために機能を削るとか,設定などで変更できない部分を改造するなどをしていない,本当に普通のWindowsXPです。ソフトもかなりインストールしていて,使用期間も長いも結構長い。

手段を選ばず,徹底的に起動高速化に特化すれば12秒ぐらいはいけそう。デフラグとかレジストリとか余計なソフトウエア削除とかWindowsXP改造等や,本体を高速なSSD上に置くとか,まだまだ,伸びしろがある。

普通は仮想コンピュータ上で動かした方が遅くなるが,仮想コンピュータの方が実機よりも高速になる事がある。その事例。

Windowsの起動の動いてるバーが1回目の半分(7ピロ起動)でいきなり完了する。
タスクバー表示まで15秒。

Core2 Quad Q8400 2.66GHz + 4GB RAM (32bit OSを使っているので3GBまで)だが,ハードディスクは 2.5インチのUSB-HDD接続でUbuntu 8.04を起動し,それでVMwareを使ってUSB-HDDのFAT32フォーマットのファイルシステム上にあるWindowsXP仮想ハードディスクイメージ(仮想ハードディスクの内部はNTFSフォーマット)を起動している。

この速度を出すために,高速化のチューニングしている。
内容は
・VMwareの実行時作業ディレクトリをRAMディスク上にする。
・WindowsXPメインメモリは512MBの設定。(VMwareは,このメモリ内容と同じもの?(同容量)を作業ディレクトリに書き出すため,RAMディスクが圧迫される。なので少なめにする)。
・WindwsXPのページファイルを設置している仮想ハードディスクイメージをRAMディスク上に配置。RAMに512MBしか割り当てないので,ページファイルは766MB割り当てる。(ページファイルは実メモリの約1.5倍が基本)。このページファイル用仮想ハードディスクはSCSI形式の1GB。ページファイルしか置かない。)

Windows7 のVirtual WindowsXPモードも このレベルで起動すれば,快適なのだが・・・・。動かしているのは同じコンピュータでもしかも,ハードディスクは,3.5インチで転送速度や回転数などが2.5インチUSB-HDDよりずっと高速なのだが,実際は,ずっと遅い・・・。

最近のハードウェアはかなり高速なのだが,ソフトウエアが弱いと全然低速になることが多い。

やはり ソフトウエアのテクノロジーは大切です。
どんなに速い車や速いバイク,高性能でも乗り手の技術・テクニックがないと速く走れないのと似ていますね。

comments

Windows7 RC Windows XPモードを動かしてみる。

Win7-XP-MODE

VMware で Windows 7 RCのダウンロード,インストールからVirtual WindowsXP モードを入れるところまで やってみたものの,VTが動いていないので,出来なかった。

動くところを見ていないのは悔しいので,今度は実機で試すことに。
使っていなかったハードディスク(160GB)があったのを思い出した。これをフォーマットして Windows7 RCを入れた。

新しいOSでしかもRC(評価版)だし,間違って既存のOSとかデータとかを壊したら困るので このハードディスク(160GB)だけ接続して,そこにWindows7だけ入れた。(一応,WMwareで一通りインストールしたので,わけもわからず,いきなり入れるわけではないが,他のOSに影響を与えたくないので。)

いきなりデュアルブートとかに挑戦は,やめたほうがいい。
既に動いているシステムにOSを追加で入れるのは,いきなりやらい方がいい。
単に起動しなくなるだけなら,なんとか直せるが(それでもかなり大変ですが)間違ってフォーマットとかしてしまうと,データが消えてしまい,取り返しが付かない事態になります。
なるべく新しいハードディスクや使っていないハードディスクを用意して,その用意したハードディスクだけ接続して新規インストールをして,どういったインストール手順なのかを熟知しておくべきです。(間違って消したり,設定を変更したりしない様にするため。)

VMwareやVirtualBoxやVirtual PCなどの仮想コンピュータのソフトウェアを使ってコンピュータを設定して練習すべきです。これらは無料で入手出来ます。それぞれ特徴や難易度が違いますが,誤って全ての設定・全てのデータ・全てのアプリケーションを消したり,コンピュータが起動しなくなったりする心配がありません。また,実機に入れる場合でもこれらを防ぐことが出来ます。仮想コンピュータソフトはOSのインストールの練習に最適です。

これで ようやく Windows XPモードを動かせた。

http://picasaweb.google.co.jp/s2node/Windows7XPMode
Virtual WindowsXPのハードウェア構成・設定などのスクリーンショット

メモリは256MB (設定で増やしたり減らしたり出来る)
HDDは 126GB (設定でハードディスクを増設できる。容量は変更出来ないかも??未確認)
CD-ROMなどは1台。実機のCD-ROM/DVD-ROMにつなげれるほか,CD-ROMイメージのISOイメージファイルも使える。

色々みてみると,中身はVirtual PC そのものである。

スタートメニューの「シャットダウン」が「切断」になっている。
どうも,WindowsXPには,リモートデスクトップ接続の画面でつないでいるみたいだ。

リモートデスクトップなら外部から操作・連携のモードなので,既存のWindowsXPへの変更はほとんど不要のままWindows7連携機能を強化しやすい。

 ホスト(Windows7)のコンピュータのハードディスクなどは,ネットワークドライブとしてつながっている。これもリモートデスクトップにある機能そのものだ。

今までのVirtual PCとの違いは,
・実機のUSBが使えること(VMWareやVirtual Boxでは出来ていた)
・VTなどのCPUによるハードウェアの仮想化支援機能が必須になったこと。(残念)
・Windows XPのライセンスが不要なこと。(一番の違い)
・Windows7との連携でWindowsXPへのソフトをインストールしてWindowXPのスタートメニューに登録すば,Windows7のスタートメニューにも登録される。
 Windows7のスタートメニューに登録された項目を選べば WindowsXPが起動して,選んだソフトが自動で起動する。
 ただし,フリーソフトでいくつか試したところ,独自のインストーラーでスタートメニューに登録するタイプではWindows7のスタートメニューに登録されないパターンが結構あった。

 このVirtual PCは,WindowsXPに限らず自分で仮想コンピュータを自由に作成できる。
 つまり,Virtual PCが標準で付いてくる・・・,いやダウンロードなので標準で付いてくるわけではないか・・・。

 動作速度は,VTなしのVMwareの方が速い感じがする。(実はVMwareはVT使うと遅くなる。VMwareのVT使用時と同等の速度?計測まではしていません。)

 特定のソフトを動かす互換性のためにWindowsXPモードを使うとなると わざわざWindowsXPを起動するのが,ちょっと面倒くさい感じがする。(起動にも結構時間がかかる。)

 とりあえず,これならIE6を同時に使う事が出来るので,そういう点では便利かもしれない。ただし,Windows UpdateですぐにIE8を入れる様に言われるので,IE6を使いたい人は入れないように注意しなければならない。(Virtual WindowsXPは標準ではIE6が入ってる。)

 私は既に Ubuntu 8.04 でVMware使って WindowsXPを使っている。OSが全然違う場合は,動くソフトが全然違うので重宝する。しかし, Windows7とWindowsXPは基本的に同じOSなので,メリットが分かりにくい。

実際に使った感想では
古いソフトをWindows7に入れようとした 入らない or 正常に動作しない。互換性を高めて動かすというモードがあるので,それで試す。でも上手く動かない。ここでようやくVirtual WindowsXPを起動してインストールして動作を確認。(なんか,Windows7でどうしても動かないから渋々WindowsXPに入れるという感じが強い。)動かしてみると「うーん,ちょっと動作が遅いかも・・・。」(仮想コンピュータなので,実機より遅い事が多い。DirectXが必要なものは,ほぼ無理かも。)→最初からWindowsXPをインストールしておけば良かった・・・。

と言う感じになってしまう。

パフォーマンスが不足した時の対策の1つとして,WindowsXPとのデュアルブートも出来る様なオプションがあればよかったかも。となると「WindowsXPだけ」でいいじゃん!となるので,Windows7を売りたいと考えるマイクロソフト的にはNGでしょう・・・。ただし,WindowsXPの出荷が終了しているので,今後WindowsXPが新たに必要な場合は,これを使うかダウングレードサービスを利用するしかない。

どちらにしてもWindows7を購入しなければならない。

WindowsXPモードはソフトがWindows7に対応するまでの一時的なつなぎ or 更新されなくなったソフト・古いハードを最新の環境で使うという意図は大変良く分かるのですが,積極的に使いたいとは思わない・・・。そもそも積極的に使うものでもないか・・・。

うーむ。。。微妙な位置づけのソフトだ。

comments

Windows 7RCを試してみる

Windows 7RC の製品の候補版を無料でダウンロードして試せるのでUbuntu 8.04上のVMwareで動かしてみた。WindowsXPモードを試したいし。( ダウンロードは 2009年8月20日までです。)
http://www.microsoft.com/japan/windows/windows-7/download.aspx

[Windows 7RCのスクリーンショット スライドショー]
Windows 7 RCのインストールから標準ソフトのいくつかのソフトを使ってみたスライドショー
画像一覧:{http://picasaweb.google.co.jp/s2node/Windows7RC7100?feat=directlink

VMwareの仮想PC設定
2CPU
RAM:1GB か 768MB (途中で減らした)
HDD 14GB

実コンピュータじゃなくてVMware上の仮想コンピュータに入れるのは,失敗などして実機のOSなどの環境を破壊しないようにするため。何度も入れ直しが気軽に出来る。また,これは製品版じゃない(開発中のもの)ので,仕事などで運用してはならないし,使用期限(2010年5月31日)があるため,いずれ消さなければならない。さらに,HDDを買ってきて新規インストールしてもよいが,インストール時のスクリーンキャプチャや起動中・シャットダウン時のスクリーンキャプチャなども取れるため。など利点が多い。ただし,制限が結構あるが,安心してテストできるという点は大きい。

インストールはかなり簡単。ステップも少ない感じ。
OSの必要容量はクリーンインストールで 6.7GB程度。
隠しのシステム予約領域が100MBあるので,OS本体のインストールには約7GBの空き容量必要。実際には10GB以上空き容量がないと何もできない。(更新などを考えるともっと必要。)

全体的に見た目はWindows Vista と同じ。かなり軽い。
同じPCのVMware上じゃない実機で動かしているVistaよりスムーズに動いている感じです。
使ってみた感じ,かなり安定しているみたい。
開発期間が短いから,Vistaをチューニングしたという感じ。

アイコンはVistaとほとんど同じ。

一目で分かる違いはタスクバー。全然違う。
タスクバーの「クイック起動」が拡張され,タスクバー全体の機能になった感じ。タスクの起動や切り替えがクイック起動?みたい。
Macのドックに似ている。LinuxのKDEデスクトップにも似ている。

大きな違いは,タスクバーにウインドウタイトル表記が出なくなった。同じアプリで複数のウインドウが少ない数でも1アイコンでグループ化される。グループ化されたものクリックしてウインドウを選ぶところは以前と同じでウインドウタイトルが縦に並ぶ。

一番気になる WindowsXPモードは,VMware上では動かなかった。Intel VT などが必要だから,仮想PC上でVTは有効にするのは無理っぽい。
 しかもWindowsXPモードはVirtual PCとVirtual WindowsXPをダウンロードする必要があった。

後日,動かしました。レビューはこちら:http://blog.kcg.ne.jp/s2node/?p=272

以下からダウンロード。
http://www.microsoft.com/windows/virtual-pc/download.aspx

直リンク:
Windows Virtual PC ベータ版:http://www.microsoft.com/downloads/details.aspx?FamilyID=65e1c5eb-df9b-415f-b2d6-27f6ef5dceb9&DisplayLang=ja
Windows XP mode ベータ版:http://www.microsoft.com/downloads/details.aspx?FamilyID=0e8fa9b3-c236-4b77-be26-173f032f5159&DisplayLang=ja

Windows Virtual PC ベータ版は 4.8MB程度
Windows XP mode ベータ版は 606MB程度(WindowsXPのVirtual PC用仮想PCイメージそのもの。)

これらをインストールすると 9.5GB以上必要になる。WindowsXPモードを入れて まともに使うならば,15GB以上の空き容量が必要。

WindowsXPにソフトを入れるとWindows7スターとメニューにも連動して登録されるらしい。

WindowsXPの中でWindows Updateも行われるし,アンチウイルスソフトも入れなければならない。(^^;。ということはWindows7でWindowsXPモードを使うにはアンチウイルスソフトが2ライセンス必要なのか。
なので実際,VMwareを入れてでWindowsXPを動かすのとほとんど同じ。

Windows Vista にVirtual PC入れて,WindowsXP入れてもほとんど同じことが出来る。(ただし,この場合はUSBが使えない。Windows7のVirtual PCはようやくUSBには対応したらしい。)

一番の違いは,WindowsXPの仮想PCイメージ無料でダウンロードできるということ。つまり,Windows7を買えば,WindowsXPのライセンスが不要=WindowsXPが無料で入手できるのだ。しかし,Vista同様,XPへのダウングレード権があるならば,無料で入手出来るはず。

となると,WindowsXPのインストール作業も不要なぐらいしか,メリットが見当たらない。

うーん,こうなると,微妙。VMwareとかの方がパフォーマンスや自由度が高い(VTも不要で速い)かも。
CPUがVTを搭載しない場合やWindows7のグレードが低い場合でも,VMwareを使えば,WindowsXPが使えるだろう。同様のソフトVirtual BoxやVirtual PCなど,どれも無料で入手できる。こえれらに,ダウングレード権で入手したWindowsXPを入れれば,ほぼ同等の環境に出来るはず。

WindowsXPが無料で新たに入手できる以外,メリットがあまりない。(オフィシャルサポートが受けられるとか?。メインストリームサポート終了しているけど???)
そして,このWindowsXPのサポート期間はどうなるのだろうか?WindowsXPそのものみたいだから,通常のWindowsXPと同じ??

他,付属ソフト全般が Office 2007風のユーザインターフェースになっている。メニューバーがなくてツールバーアイコンがたくさん並ぶタイプ。

他:
・電卓が高機能になった。
・手書きの数式入力ソフトが標準てついてくる。
・リモートプロジェクター(使い方よくわからない。ネットワークにつながっているプロジェクタに画面をだせるっぽい。)
・DVDビデオ作成ソフト(VMwareなので,ビデオカードの性能不足で起動出来ず。 DeVeDeやffmpegで作成ならVMware上のWindowsでも動く)
など。。。

comments

ffmpegで非圧縮動画が上下逆になる対策(rawvideo)

ffmpegで非圧縮動画(rawvideo)を作ると,なぜか上下逆になる。そのときの対策メモ。

ffmpegは動画ファイルを別の動画ファイル・別の圧縮形式,解像度の変更,音量の調整が出来るソフト。動画の切り出しや,音声だけ,動画だけの取り出し,複数の静止画パラパラアニメ方式でで動画に変換するという機能もある。ウインドウなどはないが,単純な変換を大量にする場合は,ウインドウを開く重たい動画編集ソフトを使うよりも作業効率が良いだろう。しかもffmpegは無料で入手できる。

ffmpegで4スレッド(4CPU),音声なし,非圧縮,解像度640×480,アスペクト比4:3,フレームレート 29.97fpsの非圧縮動画を作るには

それぞれ
4スレッド -threads 4
音声なし -an
非圧縮 -vcodec rawvideo
解像度640×480 -s 640×480
アスペクト比4:3 -aspect 4:3
フレームレート 29.97fps -r 29.97
を指定すれば良いので

ffmpeg -threads 4 -i 入力動画.avi -an -vcodec rawvideo -s 640×480 -aspect 4:3 -r 29.97 出力動画.avi

となる。入力動画は.aviに限らず,ffmpegで対応している動画ファイルなら何でもOK。ffmpeg -formats コマンドで一覧を表示できる。一覧は対応フォーマットの頭にDとかEとかの記号ついていて出てくる。Dがデコード対応。読み込める形式。Eはエンコード対応。出力できる形式である。ファイルとコーディック(圧縮方式)の一覧が出る。

この動画はUbuntuの動画プレイヤーでは再生できないが,Ubuntuのvlc player なら再生できる。Windowsのメディアプレイヤー等でも問題なく再生できる。

だけど, これで作った非圧縮動画は,なぜか上下が逆になる

もう1回おなじ様にかければ,さらに逆になって元に戻る。(^^;あまりに単純だが,ちゃんとできるので助かる。
だから以下の様にすればOK
ffmpeg -threads 4 -i 入力動画.avi -an -vcodec rawvideo -s 640×480 -aspect 4:3 -r 29.97 tmp.avi
を実行し,直後に
ffmpeg -threads 4 -i tmp.avi -an -vcodec rawvideo 出力動画.avi
とする。
フレームレートとか解像度などの指定がないと元と同じ設定になる。また,指定しない方が速いので,逆になったのを戻すときは,なるべく省略する。

終わったら tmp.aviを消せばOK。
画質は非圧縮から非圧縮への変換なので劣化はないはず。時間が2倍かかるが,2パスエンコードと思えばいいかも・・・。
ただし,非圧縮動画を1つ余計に作るのでHDD空き容量に注意。

なお,フレームレート指定なしの方が変換は速い。元の動画のフレームレートと出力したい動画のフレームレートが同じなら省略したほうが変換が速いし動画の劣化が少ないだろう。
ffmpeg -threads 4 -i 入力動画.avi -an -vcodec huffyuv -s 640×480 -aspect 4:3 出力動画.avi

メモ:144×108

comments

ffmpeg で DVD-VIDEO用 ファイルをいい感じに生成する方法

ffmpeg とはオープンソースの動画変換(エンコード・デコード・コンバーター)ソフトウエアの1つです。
多くの動画形式に対応しています。
ここでは動画画像ファイルをDVD-Video用に変換する(ほぼ)決定版をメモしておきます。

ここで紹介していスクリプトは基本的に Ubuntu(Linux)用コードです。複雑なコードはWindowsなどでは正しく機能しませが,参考にはなるでしょう。

動画圧縮アルゴリズムは MPEG2Videoで 音声圧縮は AC3 というのを使うとほとんど全てのDVD-Playerで再生できるフォーマットになります。(これ以外の圧縮方式でもDVD-Videoは一応作成出来るのですが,再生できない可能性が高いです。)

ffmpeg -y -i 動画ファイル.avi -pass 1 -threads 4 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -an /dev/null && ffmpeg -i 動画ファイル.avi -pass 2 -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 出力動画ファイル.mpg

動画ファイル.avi が入力ファイル名2ヶ所ある。avi以外にも mpg や wmv など ffmpeg がサポートしている動画ファイルを指定出来る。

CPUの数分だけ スレッド数で処理速度を高速化。
これは,4CPU用設定 -threads 4 です。IntelのCore 2 Quadや Core i7 など。4コアCPUや4CPUなど。AMDの x4 系。
Core i7はHT(ハイパースレッディング)で8スレッドなので -threads 8でも多少速度アップするかも。
デュアルコアCPUなら -threads 2 は Core 2 Duo や Pentium Dual Core や PentiumDなど。 2コアCPUや2CPUなど。AMDの x2 系
シングルコアなら,-threads 2 は書かない。Pentium 4 HTなら,-threads 2でも少し効果があるだろう。
※CPU(コア)数以上を指定しても速度は変わらない。(計測した。)

ビットレートは指定していないが,無理してDVD 1枚に動画を詰め込むなどの必要がないなら,下手に指定するよりも 容量的にも画質的にもいいと思われる。

ビットレートは基本的に可変長となっています。必要な分だけ確保します。
上限の指定ができますが,特に上限を指定しなくても,5000kを越えることはあまりにないみたいです。
上限の指定は -b 5000k などを追加してやるといけます。通常は -b 5000k で十分。これを減らせば画質が落ちるが,容量を減らすことができる。(1枚のDVDに長時間録画できる。)

オーディオのビットレートは -ab 192k とかで指定できる。指定しなければ -ab 448k になるっぽい。減らして音質を下げてもサイズはあまり変わらない(映像が巨大なため)ので気にしなくてもいい。

画面の縦横比のアスペクト比は,-aspect 4:3 以外に -aspect 16:9 でもいける。

音量変更方法: -vol 460 460なら,音量アップ。 オプションをつける。 なお256 が同じ音量 これより増やせば,音量アップ。減らせば音量ダウン

ffmpeg -y -i 動画ファイル.avi -pass 1 -threads 4 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -an /dev/null && ffmpeg -i 動画ファイル.avi -pass 2 -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vol 460 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 出力動画ファイル.mpg

DeVeDeと言うソフトでタイトル付きDVD-Videoを簡単につくれる。ただし動画のエンコードの指定が面倒で,間違うと再生できなくなるので,注意が必要。上記の方法で用意した動画ファイルならば,DeVeDeでエンコード処理をせずにそのまま使える。

DeVeDeでこれらの MPG ファイルを指定する場合は,動画のプロパティ(File Properties)で Advavance Options を開き Misc から This file is already a DVD/xCD-suitable MPEG-PS file のチェックを入れることで,DeVeDeでエンコード処理をしないで済む。(これの方がエンコード設定間違いもなく確実でしっかりした画質・音質で出来る。)

これなら,DeVeDeでエンコードしないので,DeVeDeでの作り直し作業が早く,動画エンコード失敗しても,失敗した動画ファイルのみを対象とすればよいので,修正も早い。など利点は多い。
※メニュー・タイトル画像を NTSC ににするのを忘れずに。(Menu Options ボタンか変更できる。)

大量の動画ファイルをすべてエンコードする方法:

大量にある動画ファイルをエンコードするのは時間がかかります。それが大量にあると,いちいち終わるのを待って実行なんて時間がもったいないです。
大量の動画ファイルを1コマンドで全て順番にエンコードする方法を書きます。

大量の wmv 形式ファイルなら
for nf in *.wmv; do ffmpeg -y -i $nf -pass 1 -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -an /dev/null; ffmpeg -i $nf -pass 2 -threads 4 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 ${nf%.wmv}.mpg; done

大量の avi 形式ファイルなら
for nf in *.avi; do ffmpeg -y -i $nf -pass 1 -threads 4 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -an /dev/null ; ffmpeg -i $nf -pass 2 -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 ${nf%.avi}.mpg; done

aviやwmvが複数ある場合は
for nf in *.wmv; do ffmpeg -y -i $nf -pass 1 -threads 4 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -an /dev/null ; ffmpeg -i $nf -pass 2 -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 ${nf%.wmv}.mpg; done ; for nf in *.avi; do ffmpeg -y -i $nf -pass 1 -threads 4 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -an /dev/null ; ffmpeg -i $nf -pass 2 -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 ${nf%.avi}.mpg; done

とすれば,OK。他の画像形式ファイルがある場合も,同様に ; でつないでいけばいい。
これなら長時間かかるエンコーディングの場合でも放置しておけば全て終わる。

これらは2パスエンコードなので画質重視だが,エンコーディングに2倍の時間がかかる。
時間が無い場合や,そこそこの画質でいいなら,1パスのみのエンコードでもいい。(1パスでもそんなに悪くは無い。)
-pass 2 の部分だけでいける。 -pass 1 を全て取って, -pass 2 の文字を消せばいける。

たとえば,こんな感じ:
ffmpeg -i 動画ファイル.avi -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 出力動画ファイル.mpg

wmv ファイル全て(1パスモード):
for nf in *.wmv; do ffmpeg -i $nf -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 ${nf%.wmv}.mpg; done

avi ファイルなら
for nf in *.avi; do ffmpeg -i $nf -threads 4 -target ntsc-dvd -acodec ac3 -ar 48000 -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 ${nf%.avi}.mpg; done

動画の一部分を切り出すなら
4分00秒から 7分37秒までなら
-ss 00:04:00 -t 00:03:37
を追加で指定する。

ffmpeg -i 入力動画.avi -ss 00:04:00 -t 00:03:37 -target ntsc-dvd -vcodec mpeg2video -s 720×480 -aspect 4:3 -r 29.97 -acodec ac3 -ar 48000 出力動画.mpg

-ss はエンコード開始時間。 -t はエンコードする長さ。 7分37秒までなら,4分を引いた 3分37秒の指定。
ただし,wmvだと,なぜか頭の音が途切れる。(バグ?)
wmvなら,Windowsでムービーメーカーを使って加工するほうがいいっぽい。ムービーメーカーでの出力時に最大の画質で出力するなどで対応。ムービーメーカーならwmvからwmvへの変換なので劣化度合いも少ない(はず)。

ffmpeg以外にも mencoder というのを使っても同様にエンコードが出来る。
ffmpegでは出来ない動画の連結を mencoderでは出来る。

たとえば p1.mpg p2.mpg p3.mpg を 連結して out.mpg にするなら
mencoder -ovc copy -oac copy p1.mpg p2.mpg p3.mpg -o out.mpg
とすると出来るらしい(未確認ですが)。

comments

Ubuntu 8.04のDeVeDeでWindowsからも読めるDVD-Videoを作成する方法

Ubuntu 8.04のDeVeDeでWindowsからも読めるDVD-Videoを作成する方法

どういうわけかDVD-Videoを作成する機会が結構ある。
DeVeDeというソフトがDVDビデオの内容構成やメニューの生成が簡単なので良く使う。

動画エンコードは,色々面倒なので,ffmpegを使ってDVD-Video形式に変換してDeVeDeでは,動画エンコード以外のメニューとかの構成作成からDVD-Rに書き込めば完成となる ISOイメージファイル生成まで出来る。

しかし,Ubuntu 8.04のDeVeDeでDVDビデオを作成すると,Windowsで読めないDVDになってしまう。
しかし世の中の多くがWindowsユーザなので,読めないと困る。

これを読める様にする方法を発見したので,忘れない様に手順をメモ。ついでにDVD-Video作成のメモも。

Windows版DeVeDeもあるのでWindows版を使ってみるとうまくいくことが分かった。
一体何違うのか調べてみると,内部で呼び出している mkisofs が別物だった。

mkisofs は ISOファイルを作成するソフトでDVD-Videoイメージも作れる。
Windows版は オリジナルの mkisofs だが, Ubuntu 8.04 の
mkisofsは,genisoimageに差し替えられている。これはmkisofs から分岐したプロジェクトだそうな。

しかし,このgenisoimageは,mkisofs 互換なのに DVD-VideoをWindows XPから読める形式でDVD-Videoイメージが生成できない。

ということで,
Ubuntu 8.04のDeVeDeでDVD-Videoを作成してもWindowsで読めないDVD-Videoになってしまう。
これを読める様に改造する方法。

※この改造は,間違うとDeVeDeのDVD-Video ISOイメージ作成が動かなくなります。手順は簡単なので,確認しながら行えば,普通は間違いません。またgenisoimageのバージョンアップ・更新があると,これらの内容が消えてしまう可能性もあります。

WindowsはUDFにも対応しているらしいが,これが生成するもののバージョンが合わないのか,読むことが出来ない。(DVD-Videoは基本的にUDFフォーマットです。)

WindowsにおけるUDF (http://support.microsoft.com/kb/321640/ja)
によると

使用している Microsoft Windows のバージョンが、ディスクで使用されている UDF のバージョンに対応していない可能性があります。"ドラッグ アンド ドロップ" ソフトウェアによって記録された UDF 1.02 の CD または DVD R/RW コンテンツを含む大部分の DVD-ROM や DVD ビデオには、UDF 1.5 またはそれ以降が含まれます。Windows XP では、UDF 1.02、1.5、2.01 をサポートしています。

だそうな。

オリジナルの mkisofs 2.01 ならWindowsXPからでも読める形式を生成できる。UDF 1.02、1.5、2.01のいずれかのバージョンで書き出しているためだろう。(未確認だが,genisoimageは,これ以外のUDFのバージョンで作成している可能性が高い。)

端末から
mkisofs -version
と実行して
mkisofs 2.01 is not what you see here. This line is only a fake for too clever
GUIs and other frontend applications. In fact, this program is:
genisoimage 1.1.6 (Linux)

と出るなら,mkisofs は実体ではなく,genisoimage を指している。
これをオリジナルの mkisofs に戻す。

手順:
mkisofs をソースから作成する。
オリジナルの mkiosfs をとってくる。cdrtoolsというものに含まれる。
ダウンロードする場所は
http://sourceforge.jp/projects/freshmeat_cdrecord/resources/
より引用すると
http://freshmeat.net/urls/03bcbf23ee1358c1bc775fd396ac632e
でダウンロードできる。(直リンク)ファイル名は cdrtools-2.01.tar.bz2

このbzip2形式ファイルを圧縮マネージャなどで展開。

端末から実行するなら
bzip2 -d cdrtools-2.01.tar.bz2
tar x < cdrtools-2.01.tar

とすれば,cdrtools-2.01 ディレクトリが出来る。

展開したディレクトリに移動。
cd cdrtools-2.01
make

でコンパイルできる。makeが実行できない場合は,sudo apt-get install build-essential を実行し,インストールしてから make

mkisofs に移動 (この i686-linux-cc は環境によって違う。64bit版は x86_64-linux-cc)する。
cd mkisofs/OBJ/i686-linux-cc
ls mkisofs


mkisofs
が あれば 完成している。

whereis mkisofs
で現在の mkisofs を探す

mkisofs: /usr/bin/mkisofs

なら /usr/bin/mkisofs にあるので
ls -l /usr/bin/mkisofs
を実行し,現在の mkisofs の状態を確認。

lrwxrwxrwx 1 root root 11 2008-09-28 02:02 /usr/bin/mkisofs -> genisoimage
とでれば,シンボリックリンクなので,中身は genisoimage
これをmkisofs の実体に差し替える。

差し替え方法は
sudo mv /usr/bin/mkisofs /usr/bin/mkisofs.back
でバックアップを取り
sudo cp mkisofs /usr/bin/mkisofs
でコピーする。

コピー出来たか確認する。
ls -l /usr/bin/mkisofs
してみる
-rwxr-xr-x 1 root root 485245 2009-07-13 21:06 /usr/bin/mkisofs
という風になっていればOK

mkisofs -version
と打ち込み
mkisofs 2.01 (i686-pc-linux-gnu)
とでればOK
これじゃなくて
mkisofs 2.01 is not what you see here. This line is only a fake for too clever
GUIs and other frontend applications. In fact, this program is:
genisoimage 1.1.6 (Linux)
と出ていれば,genisoimageのままなので,失敗。上記の手順(ダウンロードから)を再度確認する。

この状態でDeVeDeを実行すれば,Windowsでも読めるDVD-VideoをUbuntu 8.04で作成出来る。

comments

CPUのCore2 Quad Q8400を買いました。

インテル Boxed Intel Core 2 Quad Q8400 2.66GHz 4MB 45nm 95W BX80580Q8400

CPUのCore2 Quad Q8400を買いました。
私のPCもついに(やっと?)クアッド(4発)コアになりました!

Core 2 Quad Q8400 2.66GHz FSB:1333MHz L2キャッシュ:4MB 45nmプロセス TDP95W
CPU スペック詳細:http://ark.intel.com/Product.aspx?id=38512

Q8400は,Core2テクノロジ2.66GHzのCPUが4つも入っているので十分すぎるパワーがあります。
Celeron 430 1.8GHz シングルコア と比べてずっと動きが軽い。レスポンスが良くなる。待たされる時間がほとんどなくなるなど,快適になります。
VMwareでOSを動かしその上で動画等を動かしていても,快適なままです。さらに本体でも同時に動画を動かしても,まだまだ余裕があります。

Q8400は初代x86系4コアCPUの Core 2 Extreme QX6700 2.66GHz FSB:1066MHz L2キャッシュ:8MB 65nmプロセス TDP130W と同等の性能があります。発売当時 約13万円(2006年11月)もしました。

発熱・消費電力も比較的少ない。
クロック違いでほぼ同等のQ8200やQ8300の消費電力の計測レポートが結構ある。アイドル時はQ8400,Q8300,Q8200は,いずれも動作クロックが2GHzまで落ちるので,アイドル時の消費電力はQ8300,Q8200と同等。高負荷時はクロックが高い分若干増えると思われる。Q8300やQ8200はアイドル時のシステム全体の消費電力は36W-50W程度(!)のものが多い。高負荷時は70W台から。

Q8200 の消費電力の例:Intel新CPU、Q8200とE5200をオーバークロック http://pc.nikkeibp.co.jp/article/news/20080901/1007619/
もはや2コアと変わらない。

Q8300の消費電力の例:http://pc.usy.jp/wiki/index.php?%BE%C3%C8%F1%C5%C5%CE%CF%2FCPU%2FCore2Quad

L2キャッシュが4MBしかないが,キャッシュメモリを効果的につかうプログラムじゃないと大差ない。(らしい。ベンチマークとかで差が出る場合と出ない場合がある。) 

またL2キャッシュの量は消費電力に大きな影響が出る。なので,Core2では使っていないL2キャッシュへの電源供給を止めて省電力をする機能がある。消費電力を抑えて使うならば,L2キャッシュ自体が少ないほうを買う方がお得だろう。

Q8400は Intel VTも搭載しているので,VMwareのパフォーマンスもアップします。(設定に monitor_control.vt32 = "TRUE" を追加してやる必要があります。が,なぜか重くなる・・・。)

笠原一輝のユビキタス情報局によると,はやり遅くなるそうだ。
http://pc.watch.impress.co.jp/docs/2007/0315/ubiq177.htm

 結果は見てわかるように、VT-xでもAMD-Vでも有効にしない方が速いという結果になっている。この結果だけを見るならば、どちらも今のところ意味がないとしかいいようがない

Q8200やQ8300の古いものはVTには対応していない。
Q8300のSPEC code:SLGURはVT対応。Q8300のSPEC code:SLB5WはVT対応せず。
参照:http://ark.intel.com/Product.aspx?id=39107#specs
ただ,Windows7のWindowsXPモードではVTが必要なので,あったほうがいい。

Core2Quadの内部構造は単純にCore2Duoが2個入ったCPU。つまり,Core2 DuoのデュアルCPU相当になる。そのためQ8400なら,2コアで2MBのL2キャッシュを共有していて,それが2個入っていて合計4MBという風になっている。Q9450,Q9550,Q9650などは,2コアで6MBのL2キャッシュを共有して合計12MBとなっている。

しかしキャッシュ容量が増えるとレイテンシも増えてしまう。
そこで最新のCore i7 ではL2キャッシュを各CPUごとに付けL2キャッシュの量を減らし(各コアごとに256KBづつとか) レイテンシ(遅れ)を減らして高速化し4コア共有のL3キャッシュ(8MB)を追加している。
L2キャッシュを大容量にするよりも少なくても高速にするほうが,システム全体として高速になるからだ。

さらにCore i7はFSBという考え方がなく,メモリコントローラを内臓しているので,メモリへ自体のアクセスが速くなっている。ただし,Core i7は一番下の 920 (2.67GHz)ですら発熱量・消費電力がすごい・・・。
参照:kakaku.comのCore i7 920のクチコミ

消費電力や価格を考えると現状では(LGA775用でならば)おそらくベストなCPUだろう。(まぁ,高い方がいいのは,当たり前だが,高性能になればなるほど,極端に価格が高くなり,費用対効果が悪すぎる。それに新型高性能CPUは消費電力・発熱が高いものが多い。)

と,いうか,このCPUでもかなりのオーバースペックなのですが・・・。

Core2Quad CORE Q8400

CPU表面。

Core2Quad INSIDE LABEL

最近のintel insideシールはこんなんです。
そうそう,Core2ブランドは廃止されます。Core i3, Core i5, Core i7, Core i9 というブランドに変わるそうです。このうち Core i7 は既に出ていますね。

最近販売されているCPUのランキングとintel insideのシール一覧:
http://support.intel.co.jp/consumer/rating.htm
Q8000シリーズは ★★★☆☆ らしい。Smart, fast, energy-efficient technology.;スマートで速くて省エネテクノロジー。
うーむ。Q8400はQ8000クラスの最上位なので,★★★★☆クラスのスペックはあると思うのだが・・・。

Ubuntu Quad CPU LOAD

Ubuntuで見たCPU使用率。折れ線グラフで出ます。4CPUとして認識してます。
かなり余裕があります。やはり4コアすごい。

良く言われているとおり動画エンコードが速くなりました。え?もう終わったのと言うぐらい速いです。気軽に2パスエンコードが出来ます。
[ffmpegでエンコードとかする場合は -threads 4 というオプションを追加します。]

Ubuntu Solo CPU LOAD

ちなみに1コアの場合はこんな感じの1本線になります。

NEC Express5800/110Ge Board

NEC Express5800/110Geに搭載しました。
Celeron 430 1.8GHz FSB:800MHz L2キャッシュ512KB シングルコア 65nmプロセスからの交換です。Celeron 430でもPentium4の3GHz 並の性能があるので,全然高速なのですが,FireFoxなどをたくさん開いたりVMwareでWindowsを起動して動画再生すると,しんどくなってくる・・・。(あたりまえです・・・。)
載せ替えですが,何もしなくてもあっさり認識しました。
ケース内部の熱量(TDP35W→TDP95W)が少し増えたので,ファンコントロールの設定を変更しました。が,温度変わらず。 というか,変更しなくても変わらず。CPUのCPUファンの下のヒートシンクは冷たいまま。これ,本当にTDP95Wか?もっと低いと思われる。

現在のスペック:
ベース: NEC Express 5800/110Ge (格安サーバ用機。サーバ用パーツ多用でかなりの良品)
ただし,電源ユニットが380Wなので,ハイスペックなビデオカード(消費電力が多い)や消費電力の激しいCPUは避けたい。

CPU: Core2 Quad Q8400 2.66GHz FSB:1333MHz L2:4MB
RAM: 4GB (DDR2-800 ECCなし 2GBx2) Pulsar DCDDR2-4GB-800
HDD: 外付けUSB-HDD 2.5インチ 250GBでOSブート(Ubuntu 8.04 32bit), 内蔵:80GB SATA(Ubuntu 8.04 64bit),内蔵:160GB IDE(Windows7 RC 32bit + Virtual WindowsXP)
OS: Ubuntu 8.04 32bit と VMwareでWindowsXP と Ubuntu 8.04 64bitと Windows7 RC + Virtual WindowsXP (てか仮想WindowsXPが複数あるんだが・・・。)
CD/DVD: Panasonic Super MULTI ドライブ SW-9590-C
Video: ASUS EN7600GS SILENT 256MB 改PCI Express x8化
ASUS EXTREME 6600 Silencer 256MB 改PCI Express x8化(予備になる)

内部のVideo前に92mm角25mm厚1,600rpmのファン追加。
HDD前にに92mm角25mm厚1,600rpmのファン追加

USB: USB 2.0が10ポート(フロント2,リア6,内部2)。 標準4つ。PCIカード追加で4つ(IEEE1394と同一カード)。マザーボードから配線して2つ。
IEEE1394: 3ポート (6ピンタイプ。リア2,内部1) PCIカードで追加(USB増設と同一カード)
PCカードスロット: CardBusスロット1 PCIカードで追加
Sound: USBサウンド
MOUSE: Logicool MX620 (コードレス レーザー マウス)
Media Reader: CF,SD,等 38種類 ミヨシ 3.5インチベイ内蔵型カードリーダー・ライタ(ホワイト) USRDOS1/WH(内部USB接続)
Display: iiyama ProLite E1902WS-B1 (LCD 19インチワイド 1440×900 ステレオスピーカー内臓1W×2)

USB延長ケーブル3本で机の上にUSBを出して,ワイヤレスマウスレシーバーとUSBサウンドを接続。残り1本はUSBメモリなどで利用。

吸気のファンの前の前面にエアコンクリーンフィルター装備。
埃を吸い込みにくくしてある。

———
おまけ:
2.66GHz の Core 2 Quadの種類。どれもパフォーマンスは大差ありません。L2キャッシュ量より,クロック数の方がパフォーマンスに大きく影響します。

Yorkfieldコア(45nmプロセス)
Core 2 Quad Q8400 2.66GHz FSB:1333MHz L2キャッシュ:4MB TDP95W
Core 2 Quad Q8400s 2.66GHz FSB:1333MHz L2キャッシュ:4MB TDP65W
Core 2 Quad Q9400 2.66GHz FSB:1333MHz L2キャッシュ:6MB TDP95W
Core 2 Quad Q9400s 2.66GHz FSB:1333MHz L2キャッシュ:6MB TDP65W
Core 2 Quad Q9450 2.66GHz FSB:1333MHz L2キャッシュ:12MB TDP95W

Kentsfieldコア(65nmプロセス)
Core 2 Quad Q6700 2.66GHz FSB:1066MHz L2キャッシュ:8MB TDP95W
Core 2 Extreme QX6700 2.66GHz FSB:1066MHz L2キャッシュ:8MB TDP130W

TDPは熱設計電力。供給電原量や冷却性能の目安。直接の消費電力ではない。

Q9400sとQ8400s はTDPが低い省電力・低発熱版。消費電力は10W程度低くなる。発熱量はかなり低くなる。これは,通常版からの選別品で,駆動電圧を下げただけのもの。当たりがよければ,sと大差ない。実際のQ8000シリーズのTDPは,通常版とsの差より,個体差の方が大きいみたいだ。

ただし通常版より1万円も高い。消費電力等を徹底的に下げたいなら,Celeron 430などのシングルコア・低クロック・低L2キャッシュ量のCPUを選ぶ方が圧倒的に安く(4千円前後)てもっと低消費電力だろう・・・。Celeronといえども,中身はCore2テクノロジなので実スペックは結構高い。
ちなみにCeleron430ならWindows vistaでも快適に動きます。

comments

今年もKCGにUbuntu Japanese Teamがやってきます!

今年も Ubuntu Japanese Team がオープンソースカンファレンス2009 Kansai で 京都コンピュータ学院京都駅前校にやってきます!

Ubuntu につていは,このブログの過去記事で色々紹介しています。
簡単に言うとLinuxのディストリビュージョン(配布形式)一種で,Windowsみたいなオペレーティングシステムの一種です。(厳密にはOSとは違いますが,ここでは,ややこしいので説明しません。)

Ubuntu Japanese Team とは,
http://www.ubuntulinux.jp/ より引用すると

Ubuntu Japanese Teamは、日本におけるUbuntuのローカルコミュニティチーム(LoCo)です。主に以下のような活動を行っています。
* Ubuntuの日本語サポートをより良いものにするため、Ubuntuコミュニティに参加しています。
* Ubuntuに関する情報共有のため、Webサイト、Webフォーラム、メーリングリスト、Wiki、IRCチャンネルなどを運営しています。
* オリジナルに含めることができなかった日本語環境用のパッケージを作成・配布しています。
* Ubuntu Desktop 日本語 Remix CDおよび仮想マシンイメージを配布しています。

というチームです。
おかげで,Ubuntuの日本語環境は快適に使うことが出来ます。

Ubuntuに興味がある方は,「オープンソースカンファレンス2009 kansai」つまり,2009年7月10日(金)10:00〜18:00 / 11日(土) 10:00〜17:00に京都コンピュータ学院京都駅前校に来れば,Ubuntu Japanese Teamの方々から直接 Ubuntuについて聞くことが出来ます!!
貴重な機会ですので,興味があれば,是非おこしください!

オープンソースカンファレンス2009 Kansai KCG News
オープンソースカンファレンス2009 Kansai 公式サイト
Ubuntu Japanese Team

comments

WindowsXPは帰ってくるらしい

WindowsXPのメインストリームサポートが終了! のとおり4月14日に,メインストリームサポート期間が終了し,延長サポートの期間に入った。WindowsXPは,主にセキュリティの更新のみを行う。
その,WindowsXPが帰ってくるらしい。

MS、「Windows 7」に「Windows XP Mode」を追加へ–旧アプリも利用可能に – builder by ZDNet Japan
より

同社のScott Woodgate氏は、ブログの中で次のように述べている。「Windows XP Modeは、中小企業のWindows 7移行を後押しすることを明確な目的として設計された。Windows XP Modeによって、Windows 7を搭載したPCでも、古い生産性アプリケーションの多くが利用できるようになる」

つまり,Windows7の中で XP復活である。

 Microsoftは、互換モードの追加によって、「Windows Vista」にある主な短所の1つに対処することを目指している。Windows Vistaでは、Windows XPとそれ以前のOS用に作られたソフトウェアに対する互換性が問題になっていた。

だそうな。良いことですね(^^。
そういえば,WindowsXPにも,Windows95/98/NT/2000の互換モードがあった。↓

Win互換モード

WindowsXPにある,互換モードは,こんな感じ。アプリケーションのショートカットで設定出来る。完全な互換性があるわけではない。

Windows 7に VirtualPC相当の上でWindowsXP相当のOSを動かす機能を付けることになる。WindowsXPにある,互換モードとはちょっと違うかも。

Windows 7 は Vista の問題点の多くを解決してくれそうです。

comments

Ubuntu 9.04 がリリースされました。

2009年4月23日に Ubuntu 9.04 がリリースされました。

Ubuntu内のニュース記事 http://www.ubuntulinux.jp/News/ubuntu904 に詳しくかかれています。

※インストールする場合は,必ず「Ubuntu 9.04のリリースノート」を確認しましょう。
Ubuntu 9.04における全ての不具合の一覧が書かれています。(未解決のバグ・不具合等があります。)

注目すべき点としては
・起動の高速化
・マルチモニターの扱いが改善
・サーバ版はクラウドコンピューティング対応
があります。

サーバ版のクラウドコンピューティング対応は Amazon EC2 API互換のクラウドのベース環境を実験出来ます! これは なかなかよいのでは?

http://www.ubuntulinux.jp/News/ubuntu904 より引用:

クラウドコンピューティング

Ubuntu 9.04のサーバ版では簡単にクラウドコンピューティングの実験ができるようになります。
テクノロジー・プレビューとしてUbuntuに含まれた、オープンソース技術によるEucalyptusは、サーバへの自身のデプロイ(配置)や、実験・試験を可能としています。これにより、Amazon EC2 API互換の個人用クラウドを利用できます。動的に仮想マシンを作成し、単一クラウド環境に複数のクラスターを所属させたり、EBS(elastic block storage)と同等のS3互換のストレージマネージャを利用することもできます。

comments