ブートログをとる
そういえばブートログってどこにあるんだろうと思って探したらなかった。ちなみにこの場合のブートログってこういうやつ。
* Checking all filesystems ... gen_boot: clean, 44/52208 files, 23507/208812 blocks [ ok ] * Mounting local filesystems ... [ ok ] * Mounting USB device filesystem (usbfs) ... [ ok ] * Activating (possible) swap ... [ ok ] * Setting up dm-crypt mappings ... [ ok ] * Setting system clock using the hardware clock [Local Time] ... [ ok ] * Configuring kernel parameters ... [ ok ] * Cleaning /var/lock, /var/run ... [ ok ]
ググってみると他のディストリでは普通に取得できるけど、 Gentoo ではちょっと面倒くさいとか書いてる。もう少し調べてみるとこんな記事に行き着いた。
この記事の中段やや下のほうにこんなのがある。
5. Tips and tricks
ブートメッセージのログを取る
ということでやってみた。
/etc/conf.d/rc を編集
RC_BOOTLOG="yes"
app-admin/showconsole を入れる
$ sudo emerge -v showconsole
再起動してみる
$ sudo reboot
すると、再起動後からは /var/log/boot.msg なるファイルが出来ている。中身は確かにブートログだけど、想定したものよりだいぶ簡略化されているような…ま、いっか。
なお、 /etc/conf.d/rc の中のコメント文を読む限り、「ブートスプラッシュを使っているとうまくとれないかも」みたいなことが書いてある。また、 baselayout のバージョンによってもダメらしいし、 openrc を使っているとこれまた方法は変わってくるようだ。…何のことだかよくわかんないけどw
そういや、 openrc ってのは sabayon で使ってた気がする。
'/dev/mapper/control' already exists
先ほどの件。何でブートログをとりたかったのかというと、こんなエラーが出たからでした。
'/dev/mapper/control' already exists, link to '/dev/mapper/control' will not overwrite
実はせっかくブートログをとってみてもこのエラーはログには載ってなくて。なので上に書いてあるのはだいたいこんなもんだったろうというものです。とにかく出るようになったきっかけは emerge world してから。そういえば udev のバージョンあがってたし device-mapper も上がってた気がする。ついでにカーネルも入れ換えたなぁ。
ぐぐってみたら、何か同じようなのは他の人も出てるらしい…英語だけど。
- Gentoo Forums :: View topic - /dev/mapper/control already exists [Work around]
- 295186 – sys-fs/lvm2-2.02.56-r1: udev is printing warnings about /dev/mapper/control rule
ちらっと読んでみた限り、とりあえず自分の環境がおかしいというわけではなさそうで安心。どうやら気にしなくてもよさそうなエラー文という雰囲気でもありますが、エラーが出るのはやっぱり気持ち悪いという場合にはこんな感じにするといいみたい。
$ sudo nano -w /etc/udev/rules.d/64-device-mapper.rules
3行目の
KERNEL=="device-mapper", SYMLINK+="mapper/control"
これを
KERNEL=="device-mapper", NAME="mapper/control"
こんな感じに。まぁいま無理に手を入れなくてもそのうち修正されるんでしょう。
パッケージ固有のカーネルモジュールをオートビルドする
パッケージによってはカーネルモジュールをカーネルソースとは別に作成するものがあります。たとえば virtualbox とか。 virtualbox では vboxdrv とか vboxnetflt とかのモジュールを作って使いますよね。パッケージのソースだけではなくカーネルソースも元にパッケージ固有のモジュールを組み立てるやつです。
そんなパッケージ固有のカーネルモジュールは、カーネルのバージョンを変えたらその都度リビルドする必要があります。カーネルをバージョンアップしたあとなどに vboxdrv の読み込みに失敗しましたというようなメッセージが出たら、モジュールのリビルドが必要な可能性大です。
ただ、カーネルのバージョンを変えたときに実際にはどのパッケージをリビルドすればいいのか。これはわかりにくいのも確かです。そんなときに役立つパッケージがこれ。
- sys-kernel/module-rebuild
- A utility to rebuild any kernel modules which you have installed
名前も効果もそのまんまです。
インストール
$ sudo emerge -v module-rebuild
普通にマージするだけ。
リストアップする
$ sudo module-rebuild list ∗∗ Packages which I will emerge are: =app-emulation/virtualbox-modules-3.1.4 =x11-drivers/ati-drivers-10.2
list オプションをつけるとリストアップしてくれます。 list であっても実行には root 権限が必要です。
字幕つきのmp4やmkvをつくる
滅多にやらないから忘れそうなので、メモっておきます。
TS から字幕を抽出する。
Caption2Ass を使う。 Caption2Ass_mod1 (改造版) でも可。
プログラム | バージョン | ファイル名 |
---|---|---|
Caption2Ass_mod1 | 人柱版V0.2.9 | up0264.zip |
Caption.dll | 改造版0.1.1.4 | up0064.zip |
Caption2Ass | 081221 | up0877.zip |
すべて「 http://2sen.dip.jp/dtv/ 」のアップローダにあります。アップローダは「 Friio 」だったり「 DTV 」だったり他の場所だったりしますが、過去ログ検索を活用すれば問題なっしん。
Caption2Ass の場合
Caption2Ass解凍しこんな感じで実行する。オリジナル版の Caption2Ass を使う場合、 Caption.dll は同梱。
> Caption2Ass1.exe -format srt %インプットのTS%
format オプションは出力ファイルのフォーマットに関するもの。 ass/srt の2つが指定できる。今回は SRT フォーマットを使用することとする。
CMカット -トリミング- とかしたいとき
その後にCM カット等トリミングを行った場合、カットした分だけ字幕ファイルと時間がずれていく。字幕ファイルは TS からカットしないで吐き出しているのでこの場合当然である。正常に表示させるには同期情報を更新しなくてはならないので、そのためのソフトを使う。
プログラム | バージョン | ファイル名 |
---|---|---|
SrtSync | 0.1.9 | up0267.zip |
AviSynth でトリミングした場合
AviSynth スクリプトファイル『 avs 』で Trim() でトリミングした場合はこんな感じ。
> SrtSync -utf8 -trim %トリミングしたAVS% %インプットのSRT%
ただし、 Trim の書式は「 Trim 」と1文字目が大文字であること、また複数範囲をつなげる場合は「 ++ 」で接続されている必要がある。以下のような感じ。
Trim(839,5633)++Trim(8780,21366)++Trim(24065,50137)
VirtualDub でトリミングした場合
VirtualDub の処理設定ファイル『 vcf 』でトリミングしている場合。
> SrtSync -utf8 -vcf %トリミングしたAVS% %インプットのSRT%
私はコレを使ってる。
AviUtl を使う場合のやり方もあるが、私自身 AviUtl でカットすることがないので知る気はない。
mux する
mp4 の場合、普通に add するだけ。 字幕ファイル (SRT) は UTF-8 で書かれている必要有。 SrtSync で utf8 オプションを指定していれば UTF-8 で出力されているはずである。
> mp4box -add %SRTファイル% %MP4ファイル%
mkv の場合も普通にくっつけるだけ。 mkvtoolnix 入れて mmg.exe を使えば簡単。 mkv の場合字幕ファイルの文字コードは任意だけど、マージするときに文字コードを指定してあげないと化けてしまうことに注意。