TS ファイルの字幕に対応した VLC を Ubuntu で使用する
https://github.com/nkoriyama/vlc-aribsub に VLC を TS ファイルの字幕に対応させるパッチがある。 Ubuntu 12.04 用のパッケージがあるので、Ubuntu 12.04 ではそれをインストールする。 Ubuntu 12.10 では vlc のソースコードにパッチを当ててコンパイルした。
Ubuntu 12.04 にインストール
https://github.com/nkoriyama/vlc-aribsub/wiki を利用させてもらう。 Ubuntu 12.04 用の deb パッケージをダウンロードする(私の環境には vlc_2.1.0-git_amd64.deb)。
apt-get remove vlc vlc-data
でもともとインストールされていた vlc を削除して
dpkg -i vlc_2.1.0-git_amd64.deb
でダウンロードしたパッケージをインストールする。 設定の表示を「すべて」にして https://github.com/nkoriyama/vlc-aribsub にあるように設定する。 https://raw.github.com/nkoriyama/vlc-aribsub/master/drcs_conv.ini をダウンロードして ディレクトリ ~/.local/share/vlc/arib に保存する。
Ubuntu 12.10 でパッチを当ててコンパイルして使用する
git clone git://git.videolan.org/vlc/vlc-2.0.git
cd vlc-2.0
でソースコードを取得して、あらかじめダウンロードしておいた full-patch-vlc-2.0-20121020.tar.bz を解凍する。
tar xvf full-patch-vlc-2.0-20121020.tar.bz
patches 以下にパッチがあるのでそれを適用する。
for f in patches/*.patch
patch -p1 < $f
専用のブランチを作って、そこに変更をコミットする。
git checkout -b aribsub
git add .
git commit -m "Apply full-patch-vlc-2.0-20121020.tar.bz2"
後はコンパイルする。
./bootstrap
./configure
make
できた vlc を実行する。
./vlc&
Ubuntu 12.10 のパッケージにパッチを当ててインストールする(失敗)
上記のように、コンパイルした vlc をユーザのホームディレクトリ以下に置いて使用しているが、 はじめは以下に記すように deb パッケージを作成しようとした。 次のように行ったのだが、なぜか字幕機能が使用できなく、うまくいかなかった。
コンパイルに必要なパッケージとソースコード
まず、コンパイル環境を整える。
sudo apt-get build-dep vlc
とするとなぜかエラーが出るので、手動で
sudo apt-get install libjack-jackd2-dev
をインストールする。
sudo apt-get build-dep vlc
でコンパイルする環境を整える。
mkdir vlc_aribsub
cd vlc_aribsub
apt-get source vlc
でソースコードをダウンロードする。
ソースコードにパッチを当てる
git init
git add .
git commit -m "Initial Ubunut lackage"
git のリポジトリを作って、変更を取り消せるようにしておく。
cd vlc-2.0.4
https://github.com/nkoriyama/vlc-aribsub/wiki から full-patch-vlc-2.0-20121020.tar.bz2 をダウンロードして
tar xvf full-patch-vlc-2.0-20121020.tar.bz2
で解凍する。
patch に -p1 オプションをつけて実行し、解凍したパッチを当てる。
for f in patches/*
patch -p1 < $f
不要なファイルを削除してコミットする。
rm -r patches
git add .
git commit -m "Apply full-patch-vlc-2.0-20121020.tar.bz2"
パッケージのパッチにする
dpkg-source --commit
で debian/patches 以下のパッチにする。
Enter the desired patch name:
には
full-patch-vlc-2.0-20121020.patch
と入力した。Description は適当に書く。変更をコミットしておく。
git add .
git commit -m "Create debian/patches/full-patch-vlc-2.0-20121020.patch"
libjack-dev を libjack-jackd2-dev に変更する
後で pbuilder でコンパイルするのだが、 そのときにうまくいかなかったので debian/control の
libjack-dev,
の部分を
libjack-jackd2-dev,
に変更する。おそらく、これは apt-get build-dep でエラーになったのと同じ問題。
pbuilder でのコンパイルがうまくいかなかったとき、 どこをどう変更するのが良いのかはわからないが、これでうまくパッケージは作成できた。
変更を git にコミットする。
git add .
git commit -m "Use libjack-jackd2-dev"
パッケージのバージョンを上げる
ここでは、Ubuntu のパッケージの現在のバージョンより大きくて、次のバージョンより小さいバージョン番号しておく。
dch -v 2.0.4-0ubuntu1+0aribsub1 -D quantal
で debian/changelog のテンプレートから編集して
vlc (2.0.4-0ubuntu1+0aribsub1) quantal; urgency=low
* Apply patches of full-patch-vlc-2.0-20121020.tar.bz2
-- USER NAME <mail@example.com> Mon, 29 Oct 2012 16:35:11 +0900
のように書く。git にコミットしておく。
git add .
git commit -m "Update changelog"
dsc ファイルなどを更新する。
cd ..
dpkg-source -b vlc-2.0.4
これで
vlc_2.0.4-0ubuntu1+0aribsub1.debian.tar.gz vlc_2.0.4-0ubuntu1+0aribsub1.dsc
という2つのファイルができる。git にコミットしておく。
git add .
git commit -m "Create vlc_2.0.4-0ubuntu1+0aribsub1.debian.tar.gz and vlc_2.0.4-0ubuntu1+0aribsub1.dsc"
これでコンパイルしてみる。
cd vlc-2.0.4
debuild -uc -ua
で deb ファイルができる。 これらをインストールすれば終わりなのだが、私の環境では fglrx が依存パッケージに加わり、 Ubuntu 12.10 で PPA から fglrx-legacy をインストールしてある環境だとインストールできなかった。 そのため、依存関係に不要なものが入らないように pbuilder を使ってコンパイルする。
pbuilder でパッケージを作る
必要なパッケージをインストールする。
sudo apt-get install pbuilder ubuntu-dev-tools
apt-cacher-ng をプロキシとして使用しているので、次のようなプロキシの設定を ~/.pbuilderrc に書く。
export http_proxy=http://localhost:3142/
quantal の環境を作る。
pbuilder-dist quantal create
dsc ファイルを指定してパッケージのコンパイルを実行する。
pbuilder-dist quantal build vlc_2.0.4-0ubuntu1+0aribsub1.dsc
うまくいけば ~/pbuilder/quantal_result に deb パッケージができている。
cd ~/pbuilder/quantal_result
sudo dpkg -i *.deb
のようにしてインストールすれば良いと思ったのだが、 実際に実行すると字幕機能がうまく働かない。 何が悪いのかはわからなかったので、結局、vlc はパッケージにはせずに使用している。