SSブログ

各種コーディックのインストール -ports編- [FreeBSD]

FreeBSDで、PT2で録画したTSファイルをエンコードする為に
動画関係のコーディックをインストールしていきます。
C3(600MHz)のEDENなPCでは、1時間番組が17時間程かかってしまい、
実用的ではなかったので・・・。

方針としてportsにて最新版が提供されているものは、
portsでインストールし、最新版でないものはソースからコンパイルすることにしました。

portsでインストールしたもの
コーディックバージョン公式ページportsの場所
mp3lame3.98.2http://lame.sourceforge.net//usr/ports/audio/lame
faac1.28http://www.audiocoding.com/faac.html/usr/ports/audio/faac
faad22.7http://www.audiocoding.com/faad2.html/usr/ports/audio/faad
xvid1.2.2http://www.xvid.org//usr/ports/multimedia/xvid
Ogg1.1.4http://www.xiph.org//usr/ports/audio/libogg
Vorbis1.2.3http://www.vorbis.com//usr/ports/audio/libvorbis

ソースからコンパイルしたもの
コーディックバージョン公式ページ
x264http://www.videolan.org/developers/x264.html
Theora1.1.1http://www.theora.org/
opencode-amr0.1.2http://sourceforge.net/projects/opencore-amr/

まずは、最新のportsを取得します。
> fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz
# tar -zxvf ./ports.tar.gz -C /usr/

/usr/ports がシンボリックリンクだった場合は、シンボリックリンクを上書きしてしまうので、
他のディレクトリに解凍した後に、mvコマンドで移動する方が良いようです。

portsからのインストールは、portsディレクトリに移動し、
rootになって、make、make install、make cleanの三点セットで、
インストールします。
オプションを選択する必要のあるものもありますが、
基本的にデフォルトでインストールします。
# cd [portsディレクトリ]
# make
# make install
# make clean

インストールに失敗し、オプションを選択し直したい場合は、
以下のディレクトリにあるportsに該当するディレクトリを削除します。
/var/db/ports

portsからのインストールは、非常に楽でした。
次回以降、いろいろと苦労したソースからのコンパイルをお届けします。


FreeBSD 8.0-RELEASE へのアップグレード [FreeBSD]

FreeBSD 8.0-RELEASEがリリースされたので、
FreeBSD 8.0-RC3からアップグレードしてみます。

といってもfreebsd-updateコマンドを実行するだけですが・・・。

rootになって、以下のコマンドを実行します。
# freebsd-update upgrade -r 8.0-RELEASE

以下のメッセージが表示されます。
インストールされているコンポーネントとインストールされていないコンポーネントが表示されて、
間違いないか? と聞かれます。
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update5.FreeBSD.org... done.
Fetching metadata signature for 8.0-RC3 from update5.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/base src/bin src/cddl src/contrib src/crypto src/etc
src/games src/gnu src/include src/krb5 src/lib src/libexec src/release
src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin
src/usbin world/base world/dict world/doc world/info world/manpages
world/proflibs

The following components of FreeBSD do not seem to be installed:
world/catpages world/games world/lib32

Does this look reasonable (y/n)?

間違いないので、「y」を入力すると、
8.0-RELEASEのコンポーネントのダウンロードが始まります。

ダウンロード後、以下のコマンドでシステム関係のコンポーネントをインストールします。
# freebsd-update install

インストールが終わると再起動を促されるので、再起動します。
# reboot

再起動後、再度rootになり、今度はユーザー側のコンポーネントのインストールを行います。
# freebsd-update install

念の為、もう一回再起動しておきます。
# reboot

RC3版のインストールからほとんど何もしていなかったので、
特に問題なく、RELEASE版へアップグレード出来ました。


Vistaのブートローダーを使用してFreeBSDを起動する。 [FreeBSD]

FreeBSD8.0-RC3をインストールしたばかりなのに、
本日、FreeBSD8.0-RELEASEがリリースされてました。
少し待っていれば良かった・・・。
近々アップデートしようっと。

さて、前回の続きです。
VistaとFreeBSDのデュアルブートの方法として、
Vistaブートローダーを使用してFreeBSDを起動するようにしました。
この方法は、Windows 7と他のOSとのデュアルブートにも
使用できると思います。

以下、手順です。
  1. FreeBSDの/boot/boot1を取得する。
  2. USBメモリを使用して、/boot/boot1をコピーし、
    Vistaから認識できる場所にコピーします。
    まず、PLoP Boot Managerを使用して、FreeBSD8.0-RC3を起動します。
    FAT32(またはFAT16)でフォーマットしてあるUSBメモリをPCに指します。
    FreeBSD8.0-RC3/amd64では、デフォルトでUSBメモリに対応しているようです。
    FreeBSDが認識すると以下のようなメッセージが表示されます。
    (もちろん /var/log/messages にも書かれる。)
    Nov 25 21:48:12 Athron64x2BSD kernel: da0 at umass-sim0 bus 0 target 0 lun 0
    Nov 25 21:48:12 Athron64x2BSD kernel: da0: Removable Direct Access SCSI-2 device
    Nov 25 21:48:12 Athron64x2BSD kernel: da0: 40.000MB/s transfers
    Nov 25 21:48:12 Athron64x2BSD kernel: da0: 3829MB (7843838 512 byte sectors:255H 63S/T 488C)

    da0で認識されたようなので、マウントポイントとなるディレクトリを作成しマウントします。
    # mkdir /mnt/usbmem
    # mount_msdosfs /dev/da0s1 /mnt/usbmem/

    /boot/boot1をUSBメモリにコピーします。
    # cp /boot/boot1 /mnt/usbmem

    USBメモリをアンマウントします。
    # umount /mnt/usbmem

  3. Vistaのブートローダーの設定
  4. Vistaでは、ブート関係の設定を行うbcdeditコマンドを使用して、
    ブートメニューにFreeBSDを追加し先ほどの/boot/boot1を
    呼び出すように設定します。

    Vistaを起動しコマンドプロンプトを管理者権限で開きます。
    ブートローダーに新しいエントリーを作成します。
    ここで表示される数桁の文字列($ID)は、作成されたエントリーを
    識別するものなのでメモしておきます。
    c:¥>bcdedit /create /d "FreeBSD" /application bootsector

    $IDを引数として与えて作成したエントリーをブートデバイスとして設定します。
    c:¥>bcdedit /set {$ID} device boot

    ブートローダーから呼び出すプログラム(/boot/boot1)を設定します。
    ここでは、FreeBSDの/boot/boot1をCドライブの直下に
    ファイル名を"freebsd.boot1"としてコピーした例です。
    c:¥>bcdedit /set {$ID} path \freebsd.boot1

    作成したエントリをブートメニューの一番上に表示するようにします。
    c:¥>bcdedit /displayorder {$ID} /addfirst

    Vistaブートメニューでのデフォルトの選択肢として設定します。
    c:¥>bcdedit /default {$ID}

    上記を実行したあとUSBメモリからFreeBSDから持ってきた/boot/boot1を
    設定したとおりに(C:\freebsd.boot1)コピーします。

    再起動すると、ブートメニューにFreeBSDが追加され、
    エンターキーで選択するか30秒待っていると
    FreeBSD8.0-RC3が起動するようになりました。



Windows VistaとFreeBSDのデュアルブート [FreeBSD]

  • 前段
  • メインマシンで使用しているWindows XPの起動が、最近遅くなってきたので、
    OSの入れ替えをすることにしました。

    一瞬、Windows 7の購入を考えましたが、値段が高いので、
    XPを購入した時のアップグレード権で手に入れたVistaを
    今更ながら導入しました。

    Vistaは、遅い、重いと大変不評なOSだったので、今まで興味はありませんでしたが、
    今一度、Wikipediaなどで調べると、UI(Windowsエアロ)の描画処理が
    GPUで処理されていたり、過去の起動時情報から起動時のパフォーマンスを
    あげる仕組みなど、それなりによさそうなことが書いてある。
    マシンのスペックさえ満足していれば、XPとと同様かそれ以上になりそう。
    また、FreeBSDの8.0が、RC3まで出ていて今月中には、RELEASE版が出そうなので、
    どうせなら、デュアルブートなマシンにしてみることにしました。

  • Windows Vistaのインストール
  • Vistaのインストールディスクから起動してインストールしようとしましたが、
    XP上からセットアップを起動しないとインストールできないらしい。
    (OEMのアップグレードパッケージなのでしょうがないか・・・)
    まっさらな状態のHDDからインストールしたかったので、
    XPを新規インストールし、そこからVistaをインストール。
    結構面倒でした。

  • FreeBSD 8.0-RC3のインストール
  • FreeBSD 8.0-RC3のDVDイメージをDVD-Rに焼いて、それからインストール。
    Windows VistaとFreeBSD のデュアルブートにするので、
    FreeBSD の Boot ManagerをMBRに設定してインストール。

  • 問題発生
  • XPまでのWindowsでは、これで素直にデュアルブートな環境ができていました。
    しかし、Vista以降ではWindowsの起動プロセスが変わったようで、
    Vistaが起動できません。
    エラーメッセージが表示されVistaのインストールディスクから修復しろいわれます。
    メッセージのとおり、修復を行いましたが、なにやら修復が失敗したらしく、
    起動時にパーティーションがありませんとエラーが発生するようになってしまいました。
    PLoP Boot Managerを使用して、Vistaをインストールしたパーティションから
    起動してみてもエラーが表示されて起動できませんでした。
    Ubuntu 9.04のLiveディスクで起動し、付属のGPartedで状態をみてみると、
    パーティーションが無い状態になっていました。

  • 原因
  • どうやら、MBRを壊してしまったようです。
    その後、WEB上でいろいろと調べると、以下のことがわかりました。

    • MBRに書き込まれるVistaのブートローダは、XP以前のものとは異なる事。
    • Vistaは、MBRにIDを書き込んでおり、起動時に参照している事。

    で、デュアルブートにするには、以下の三つの方法があるようです。

    1. Vistaのブートローダを使用してFreeBSDを起動する。
    2. GRUBをMBRにインストールして起動する。
    3. Vistaの起動時にMBRのIDを参照しないようにする。

    2.は、GRUBのサイズが小さく、Vistaの参照しているIDの位置まで書き換えられないため、
    Vistaが起動するようです。
    なんとなく、運任せな方法な気がするので、1か3の方法を取ることにします。

  • リトライ
  • とりあえず、XP→Vistaをインストールし、FreeBSDをMBRを書き換えないように
    インストールします。
    これで、PC起動するとVistaが起動するかと思ったらFreeBSDが起動 !?

    何で?

    どうやら、Vistaのパーティーションのbootフラグが落ちていました。
    PLoP Boot Manager で、Vistaのパーティションを選択して起動すると
    正常に起動しました。
    GPartedで、VistaとFreeBSDのパーティションのbootフラグを見ると、
    FreeBSDがついており、Vistaはついていなかったので、
    FreeBSDをはずし、Vistaにつけると
    正常にVistaが立ち上がるようになりました。

    あとは、上記の1または3の方法でデュアルブート環境にするだけです。
    もしくは、PLoP Boot Managerで選択するようにしてもいいかなぁ。
    とりあえず、今回はここまで。

  • 参考



PT2とLinuxで録画成功! [Linux]

PT1のLinuxドライバが、PT2に対応したとのコメントを頂いたので、早速試してみました。
何事もなかったように録画が終了。
ちゃんとファイルが作成されました。
しかし、まだ再生可能なファイルが出来ているかわかりません。
何せハードウェアは前回Windows XPで試したものと同じCPUがC3なマシンです。

作成されたファイルをAthron64x2なマシンで再生してみると・・・
\(^ ^)/
無事再生されました。

topコマンドで、録画中のCPU使用率を見てみると、約10%ぐらいでした。
正直驚きました。
推測ですが、Windows の場合、PT2ドライバ(純正)→BonDriver→録画アプリの
三階層になっているのに対し、
Linuxの場合、PT2ドライバ(他者)→録画アプリの二階層になっているので、
負荷が小さいのかなぁと。
それにしても差が大きすぎるので、Windowsの時の録画設定が間違っていたかも知れません。

何はともあれ、LinuxでPT2が動作しました。
情報提供してくれた「ストらとGT」さん、PT2ドライバの作者さん、
そして、PT2のアースソフトさん ありがとう。
タグ:PT2 linux C3

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。