mp3/mp4(H.264)/aacコーデックの追加

Chromium OS カスタムビルドには、デフォルトではmp3/mp4/aacコーデックが含まれません。ライセンスの関係でカスタムビルドのイメージそのものに含めて配布することができないためです。なので、各ユーザが手動でダウンロード・インストールする必要があります。 本カスタムビルドでは、32bit版Ubuntu 16.04 LTS向けのChromiumブラウザ用コーデック追加パッケージ(chromium-codecs-ffmpeg-extra )に含まれるファイル(libffmpeg.so)をコピーすることでmp3/mp4/aacの再生が可能です。以下にその手順を示します。

Warning

mp3/mp4/aacに関しては、ライセンス上のトラブルを起こすと個人には厳しいダメージを受けるかもしれないので、自動インストールなどのスクリプト提供はしない予定です。以下の作業はすべて自己責任で行ってください。

Attention

以下の作業で導入したコーデックは、Chromium OSのアップデートを行うと消えてしまいます。アップデート後はお手数ですが再度同じ作業を行ってください。

  1. Chromium OS カスタムビルドのバージョンが R48-7647.73(2016/02/07リリース) よりも前の時は Chromium OSのアップデート を行ってください。
  2. Chromium OSを起動してログインします。ノーマルモードの場合はデベロッパーモードに切り替えてください。(ノーマルモードとデベロッパーモード 参照。デフォルトはデベロッパーモードですので、特に切り替えた覚えがなければそのままで大丈夫です)
  3. Chromium OSのバージョンに応じて以下のリンクからUbuntuのパッケージ配布サイトにアクセスします。

Attention

  • R56よりUbuntu 16.04のパッケージを使用します。Ubuntuのchromium-browser R56のパッケージは‘17/2/18時点ではまだ正式リリースになっていないため、上記はstagingパッケージへのリンクになっています。ダウンロードしたら項番5.に進んでください。
  • R53より前で使えるコーデックは配布されていませんのでChromium OSのアップデートをおねがいします。
  1. 以下のページが表示されるので赤で囲んだリンクをクリックします。

    _images/codec1.png

    Attention

    ページのタイトルに表示されているパッケージのバージョン(上の例ではextraの次の45)とChromium OSカスタムビルドのバージョンが一致しているかを確認してください。一致していなくても再生できるかもしれませんが、一致している方が確実です。

    「この種類のファイルはコンピュータに〜」という警告が表示されたら「保存」をクリックしてください。

  2. Ctrl+Alt+Tを押します。

  3. Chromiumブラウザのタブが開きcrosh> と出ているので shell と入力すると以下のような画面になります。

    _images/codec2.png
  4. ここから以下の順にコマンドを入力していきます。まずダウンロードしたパッケージがあることを確認します。

    chronos@localhost / $ cd ~/Downloads
    chronos@localhost ~/Downloads $ ls
    chromium-codecs-ffmpeg-extra_XX.0.XXXX.XX-0ubuntu0.16.04.XXXX_i386.deb <- この行があることを確認してください。
    

    ※ ファイル名のXで示した部分はバージョン番号などであり、その時々で違います。

  5. パッケージがあるならこれを展開します。ar、xz、tarの3つのコマンドを使います。長いファイル名は途中まで入力してTABを押せば自動で補完してくれます。

chronos@localhost ~/Downloads $ ar x chromium-codecs-ffmpeg-extra_XX.0.XXXX.XX-0ubuntu0.16.04.XXXX_i386.deb
chronos@localhost ~/Downloads $ ls
chromium-codecs-ffmpeg-extra_XX.0.XXXXX.XX-0ubuntu0.16.04.XXXX_i386.deb
control.tar.gz           ←  以下の3行が増えているのを確認してください。
data.tar.xz
debian-binary

chronos@localhost ~/Downloads $ xz -cd data.tar.xz | tar xvf -
./
./usr/
./usr/share/
./usr/share/lintian/
./usr/share/lintian/overrides/
./usr/share/lintian/overrides/chromium-codecs-ffmpeg-extra
./usr/share/doc/
./usr/share/doc/chromium-codecs-ffmpeg-extra/
./usr/share/doc/chromium-codecs-ffmpeg-extra/copyright
./usr/share/doc/chromium-codecs-ffmpeg-extra/changelog.Debian.gz
./usr/lib/
./usr/lib/chromium-browser/
./usr/lib/chromium-browser/libs/
./usr/lib/chromium-browser/libs/libffmpeg.so
  1. パッケージが展開できたので、この中のlibffmpeg.soというファイルをコピーします。

Attention

R53〜R55とR56以降では最後のcpコマンドのパラメータが違っていますので注意してください。

chronos@localhost ~/Downloads $ sudo mount -o remount,rw /
Password:         ← 管理者パスワードを入力してください。(デフォルトはpassword)
chronos@localhost ~/Downloads $ cp /usr/lib/libffmpeg.so ./libffmpeg.so-bak   ← 既存のlibffmpeg.soのバックアップ(任意です)

[R56以降の場合]

chronos@localhost ~/Downloads $ sudo cp ./usr/lib/chromium-browser/libffmpeg.so  /usr/lib/

[R53〜R55の場合]

chronos@localhost ~/Downloads $ sudo cp ./usr/lib/chromium-browser/libs/libffmpeg.so  /usr/lib/

Attention

パスワード入力時、●や*のような伏せ字は表示されません。キータイプしても反応が無いように見えますが入力は受け付けられています。正しくタイプしてEnterを押せば成功するはずです。

  1. コピーが終わりましたのでマシンをリブートしてください。リブート後はmp3などのファイルをChromiumブラウザにドロップしたり、ファイルアプリでダブルクリックするなどの方法で再生できるはずです。

Attention

R53以降aacはブラウザへのドロップで再生できなくなりました。本件はChromebookでも確認しておりこちらでは対応できません。aacの再生確認はSHOUTcastなどのaac形式のストリーミングを行っているサイトなどを活用してください。

  1. 作業に使用した以下の各ファイルは、特に必要はないので消してしまって構いません。削除はファイルアプリから行うことができます。ダウンロードフォルダにある、以下の赤枠で囲んだフォルダ1つ、ファイル4つを削除してください。
_images/codec3.png

Note

  • ネットで検索すると、Chromeブラウザのパッケージを展開してlibffmpegsumo.soをコピーする、という手順が紹介されていますが、その方法はChrome/Chromium R45以降では使えません。このあたりの経緯については 管理人のブログ でも触れています。
  • 本ページで紹介した方法は、Chromium OSをデフォルト設定でビルドしている場合は使えません。Chromium OSのビルド時にffmpegを共有ライブラリとしてビルドするように設定をカスタマイズしている場合にのみ使えます。本カスタムビルド以外ではこの方法を使えるとは限りませんので注意してください。