忍者ブログ
PCメモ
PC関係のメモ、気付いたこと。 simhとChromium OSをいじって遊んでいます。 Chromium OSのカスタムビルドを配布しています。(http://chromiumosde.gozaru.jp) twitter: @zui22904336 PGP fingerprint: 45FC 0E47 A68A FA06 02FE 2BEF B72C C6E6 F9FF 1C19
Admin / Write
4/27(木)〜5/7(日)の間はChromium OS カスタムビルドに関する活動をおやすみいたします。期間中にお問い合わせをいただいても対応はできません。
2015/07/24 (Fri) 02:30
長いことブログをサボってましたが、その間もちょくちょくChromium OSはいじってまして、ちょっと気になることがあったので久しぶりに記事に書きます。

Chromeが7/21のStable Channel Updateで R44になりましたが、このバージョンからffmpegsumoがインストールパッケージの中から消えてしまいました。
ffmpegsumoはChrome/Chromiumで音声/映像を再生するためのコーデックを集めたプラグインで、LinuxやChromium OSではlibffmpegsumo.soというファイル名です。
これがどこに行ったかというと、なんとスタティックリンクされてchrome本体にffmpegが吸収されてしまったようです。

この修正のコミット内容はこちらで見ることができます。

https://chromium.googlesource.com/chromium/src/+/ab31fe6077d2ba3ede9a302d9ef4554363c9a939

これがなくなると、mp3, mp4, aacなど、デコーダの配布にライセンスが必要とされているフォーマットの音声・映像データをChromium OSで再生することができなくなってしまいます。

Chromium OSのようなフリーのOSでは、デコーダの配布にライセンス料がかかるようなコーデックを含めることはできませんので、Chromium OSに付いているlibffmpegsumo.soは有料コーデックを除いた状態になっています。そして、これを各ユーザが独自にChrome添付のlibffmpegsumo.soに置き換えることでmp3などを使えるようにしていました。

ところが、今回からプラグインの供給元だったChromeのパッケージからこれが消えてしまったわけですから、もはや今までの方法は使えなくなってしまいました。

この辺はライセンス的に本当にクリーンなのかよくわかりませんが、LinuxのChromiumブラウザ(Chromeではない)でも似たようなことをし ていて、例えばubuntuでも標準のChromiumブラウザのパッケージには有料コーデックなしのlibffmpegsumoが入っており、mp3な どのコーデックを含んだlibffmpegsumoを組み込むためのパッケージとして、chromium-codecs-ffmpeg-extraというものが別に用意されています(これの配布 ライセンスがどうなっているかはよくわかりませんが)。

ということでこの問題はLinuxのChromiumブラウザにも影響があるわけで、以下のURLでLinux視点での議論の内容を見ることができます。

https://groups.google.com/a/chromium.org/forum/#!msg/chromium-packagers/R5rcZXWxBEQ/B6k0zzmJbvcJ

これを見ると、Chromiumのビルド設定を変えてプラグインではなくffmpegの普通の共有ライブラリ(libffmpeg.so)を使うように修正し、今までのlibffmpegsumo.soの代わりにlibffmpeg.soを取り替える、という方法で対処する、という方針のようです。これであれば、最悪個人でffmpegをビルドすれば対応できるので、どうにもならずに詰む、という状況は避けられます。
まだR44のchromium-codecs-ffmpeg-extraは出ていないようなので具体的な形は見えませんが、もうしばらくすればLinuxでは何らかの方法で対応が進むんじゃないでしょうか。配布ライセンスの問題をどうクリアするのかはわかりませんが。

一方、Chromium OSですが、R44のSDKではそのままビルドすると依然としてlibffmpegsumo.soを使う形でビルドされます。もう代わりのlibffmpegsumo.soは存在しませんからこの形でビルドして配布されているChromium OSを使うと、今後mp3/4/aacはどうやっても再生できないという事になります。
R45以降は自分では試していませんが他の人がビルドしたものを見るとスタティックリンクに変わっているようですので、これもやはりどうしようもありません。
なので、Chromium OSのビルダーさんたちがこの辺の問題を認識してビルド方法をLinuxと同じように変えてくれるまでは一般のユーザさんはどうにも対応できないことになります。

あと、仮にビルド方法を変えてもらったとしても、今度はChroium OS用のlibffmpeg.soをどこから調達するのか、という問題が発生します。他のLinux用にビルドされたものを持ってきてもそのまま動くとは限りません。Chrome/Chromiumのプラグインだったffmpegsumoと違ってlibffmpeg.soはただの共有ライブラリですから、それが更に他のライブラリをリンクしていればそれらも持ってこなければいけないでしょうし、ライブラリのバージョンの問題もありそうです。
なので、確実に動かすためにはChromium OS用にlibffmpeg.soをビルドしなければなりませんが、ライセンスの問題で個人がビルドしたものは配布できないわけです。さぁ困りましたw

おそらく解としては各ユーザがChromebrewやCroutonを導入して実機上でffmpegをビルドする、という形に落ち着くような気がします。ファイル1個コピーすれば済んでいたものがこうなってしまうというのはエラいことになっちゃったなぁ、という感じです。

個人としてChromium OSをスクラッチからビルドするのであれば、配布するわけではないのでmp3/4/aacを有効にしてビルドすることでこのへんの問題を回避することは一応可能ですが、それははもっとハードルが高くなるので問題の一般的な解決策にはならないですよね。。

’15.09.26 追記

UbuntuでChromiumブラウザ R45の配布が始まりましたが、このR45からchromium-codecs-ffmpeg-extraパッケージに含まれるファイルがlibffmpegsumo.soからlibffmpeg.soに切り替わりました。
こちらのファイルリストには依然としてlibffmpegsumo.soがありますが、これは間違いで、パッケージを展開すればlibffmpeg.soが入っているのが確認できます。上に載せたURLでの議論が反映されたようです。

今度リリースしたChromium OS カスタムビルドのアップデート版(R45-7262.57)では、このUbuntu 14.04 32bit版のchromium-codecs-ffmpeg-extraパッケージに含まれるlibffmpeg.soを導入することでmp3, mp4, aacの再生ができることを確認しています。導入手順をこちらのページで公開しています。



[関連記事]

Dev serverによるChromium OSのアップデート
Chromium OSにパッケージを追加する
最近のChromium OS R35がVAIO Type Pで動かない件への対策
安定版ソースを使ってChromium OSをビルドする
勝手ビルド版Chromium OSとGoogleドライブの連携
Chromium OSをKVMで動かす
勝手ビルド版Chromium OSをVirtualBoxで動くようにする
Chromium OSのカーネルをVAIO Type P向けに再構築する
Chromium OSのビルド環境を作る
Hexxeh版Chromium OSをVAIO Type Pにインストールしようとして挫折した話
VAIO Type PでChromium OSをUSBメモリからブートするときのメモ




ランキングに参加してみました。クリックしていただければ嬉しいです。

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村

パソコン ブログランキングへ

拍手[1回]

PR


Comment
Name
Title
Mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
  HOME   35  34  33  32  31  30  29  28  27  26  25 
プロフィール
HN:
zui
性別:
非公開
PR
忍者カウンター
忍者ブログ [PR]