CentOS-5.6-i386-LiveCDの環境下でmp3ファイルの再生を行うために追加導入が必要なソフトウェアについて
CentOS-5.6を含むRHEL5系のディストロには動画・音声ファイルの再生ツールgstremer*1が備わっているが、ライセンス上の問題からmp3ファイルを再生するのに必要なライブラリが欠けていることは実用上の困難としてしばしば指摘されてきた。
gstreamer-plugins-ugly*2の導入によりこの困難は解消されるが、通信や外部ファイルの取得が極度に制限された作業環境においてはyum等によるネットワークインストールは困難であり、またLiveCD/LiveUSB上での環境構築にあたっては追加構築手順が極力設定変更を必要とせず容易に再現可能なものとして与えられることが望ましい。
筆者は上記に鑑み、CentOS-5.6のIA-32版LiveCD環境*3について、ネットワークから切り離された環境下で、予め準備した必要最低限のファイル群のみを持ち込んでmp3ファイルの再生を可能たらしめる具体的で再現可能な構築手順を確立した。本研究の成果は劣悪な作業環境下における作業者の精神衛生の向上に直接資するものと期待される。
なおLiveCD/LiveUSB環境の業務利用についてのセキュリティ面での検討は本研究の範囲外とした。導入ファイルの一覧が具体的に与えられればその内容は容易に精査できるため、本研究においてとられた構築方法はセキュリティ上の危険を限定する上で益するところがあると考えられる。
当該LiveCDより作成したLiveUSB環境にてgstreamer-plugins-uglyパッケージの導入を行い、エラーメッセージに示された不足ファイルを含む当該環境に適合するビルド条件で作成されたRPMファイルを検索し、最終的に依存関係の解消に至るまで順次追加して検証した(当初はwma再生を可能とするgstreamer-plugins-badパッケージも対象とする予定であったがこれについては別途成果を公表する見通しである)。これらのRPMファイルはすべてRPM PBone Search*4において入手した。LiveCD/USB環境の構築については先行研究が多岐に渡るため詳細は割愛する。ただし当該LiveCDからLiveUSB環境をWindows上で作成した場合にはシステム起動後のLiveUSBの実ファイルのパスが標準と異なる(*)ため、構築時は留意すべきである。
(*)本来/mnt/liveであるべきだがLinux LiveUSB Creatorで作成したLiveUSB環境では/media/MYLINUXLIVEとなる(2015/3/26追記:ブート時に、何かタイミングに依存した問題で/mnt/liveとしてマウントできず、ブート後にUSBメディアとして認識するとこうなります。LiLiのせいじゃないです)
以下がRPMパッケージ名一覧である。これらをrpmコマンドで一括してインストールすることで所期の目的は達せられる。筆者はポップスおよびクラシック音楽の5分程度のファイルを再生し、正しく動作することを確認した。但し、捕捉されない例外が無視された旨のエラー出力がなされ、これについては(動作に支障はないものの)更に調査を要する。
- gstreamer-plugins-ugly-0.10.5-3.el5.rf.i386.rpm
- amrnb-7.0.0.2-1.el5.rf.i386.rpm
- liba52_0-0.7.4-7.0.1.el5.i386.rpm
- libdvdread3-0.9.7-5.el5.i386.rpm
- libid3tag-0.15.1b-7.el5.i386.rpm
- libmad0-0.15.1b-4.el5.i386.rpm
- libmp3lame0-3.99.3-23.el5.i386.rpm
- libsidplay-1.36.60-1.el5.rf.i386.rpm
- mpeg2dec-0.4.1-2.el5.rf.i386.rpm
- SDL-1.2.10-9.el5.i386.rpm
ああそうそう、上でwmaやるようなことを書いたけどもちろん全然やる予定は無いです。uglyとかbadとかって名前の由来はライブラリの依存の多さを見るとなんとなく納得。
2015/4/8追記:CentOS5.11(x86_64)上でDAGを設定してyum install gstreamer-plugins-uglyした結果は以下のとおり:
$ LANG=C date Wed Apr 8 10:42:08 JST 2015 $ cat /etc/yum.repos.d/dag.repo [dag] name=DAG baseurl=http://ftp.riken.jp/pub/Linux/dag/redhat/el$releasever/en/$basearch/dag gpgcheck=1 gpgkey=http://ftp.riken.jp/pub/Linux/dag/RPM-GPG-KEY.dag.txt enabled=1 $ sudo yum install gstreamer-plugin (snip) Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gstreamer-plugins-ugly x86_64 0.10.11-2.el5.rf dag 974 k Installing for dependencies: a52dec x86_64 0.7.4-8.el5.rf dag 82 k amrnb x86_64 7.0.0.2-1.el5.rf dag 237 k lame x86_64 3.99.5-1.el5.rf dag 728 k libcdio x86_64 0.77-1.el5.rf dag 527 k libdvdcss x86_64 1.2.10-1.el5.rf dag 65 k libdvdread x86_64 0.9.7-1.el5.rf dag 127 k libid3tag x86_64 0.15.1b-3.el5.rf dag 78 k libmad x86_64 0.15.1b-4.el5.rf dag 80 k libsidplay x86_64 1.36.60-1.el5.rf dag 276 k libsndfile x86_64 1.0.17-1.el5.rf dag 465 k mpeg2dec x86_64 0.4.1-2.el5.rf dag 182 k twolame x86_64 0.3.13-1.el5.rf dag 138 k Transaction Summary ================================================================================ Install 13 Package(s) Upgrade 0 Package(s) Total size: 3.9 M Total download size: 3.1 M