iLBCとは、ウィキペディアより、
Internet Low Bitrate Codec あるいは iLBC は、ロイヤリティフリーのナローバンド音声符号化方式で、米国の Global IP Solutions 社(旧 Global IP Sound 社)が VoIP などのために開発した。他の方式と比べパケットロスの多いIPネットワークでも音質の低下が少ない特徴がある。
ウィキペディアの、iLBCのページはこちらです。
http://ja.wikipedia.org/wiki/Internet_Low_Bit_Rate_Codec
libilbcをコンパイルするために、CMakeが必要ですので、あらかじめインストールしておいてください。
CMake
http://www.cmake.org/
libilbcは、以下の場所にあります。
https://github.com/dekkers/libilbc
「Download ZIP」ボタンをクリックして、
libilbc-master.zip
を、適当なディレクトリに保存して、解凍します。
または、MSYSからGitを使って、以下のようにダウンロードします。
$ git clone https://github.com/dekkers/libilbc.git
以下の説明は、Gitを使った場合のディレクトリ名になっていますので、zipファイルをダウンロードした場合は読み替えてください。
MSYSで、ソースコードを保存したディレクトリに移動し、
$ cd libilbc
$ mkdir build
$ cd build
$ cmake -G "MSYS Makefiles" .. -DCMAKE_INSTALL_PREFIX=/mingw
$ make
$ make install
以上で終了です。
2014/09/20 追記
2014/09/18の更新以降、上記の手順でコンパイルエラーになってしまう場合、以下の手順を試してみてください。
まず、configureを生成します。
$ cd libilbc
$ autoreconf -if
その後、以下の手順で実行します。
$ ./configure --prefix=/mingw --disable-shared
$ make
$ make install
【更新履歴】を見る
2014年02月19日
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/87608625
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/87608625
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
libilbcですが、"automake -a -c"の時に"subdir-objects"がうんたらと、しこたま警告が出ませんか?
あれは、ご存知かも知れませんが、libilbcのconfigure.acを
- AM_INIT_AUTOMAKE([tar-ustar dist-bzip2 foreign])
+ AM_INIT_AUTOMAKE([tar-ustar dist-bzip2 foreign subdir-objects])
とすることで消えました。
しかし、そうやってビルドしたlibilbcがffmpegのmakeでエラーを吐いてしまうんです。トホホ…。
git cloneからやり直してみたのですが、エラーや警告は出ませんでした。
環境によるのか、ツールのバージョンによるのか、再現できないのでわかりませんでした。
ちなみに、
automake-1.11.1
autoconf-2.68
で実行しています。
automake-1.11.1
autoconf-2.68
にバージョンを落とすと、aclocal -I m4の段階で
main::scan_file() called too early to check prototype at /Volumes/ffmpeg_compile/bin/aclocal line 617.
という警告(?)が出ました。
無視して(!)進めたところ、やっぱりffmpegのmakeの最後の段階、
LD ffmpeg_g
LD ffplay_g
LD ffprobe_g
LD ffserver_g
でlibilbcの基本的な関数についてのエラーが出ました。(このエラーはautoconf/automakeの最新バージョンで出たものと同じです)
旧バージョン(http://codeload.github.com/dekkers/libilbc/legacy.tar.gz/b5f9b10)を見つけてcmakeでビルドしたところ、問題は出ませんでした。
どうやら2014/9/18のバージョンは、少なくともMac OS Xには対応していないようです。
ご協力ありがとうございました。
さっき来た返事は9/18にバージョンアップがあったばかりにも関わらず、
俺はもうあんまり使ってもらえないlibilbcに興味がない。opusのリリースでより良いコーデックが手に入るようになった。
俺はただ、プルリクエスト(?)をマージ(?)しているだけで、メンテナーを希望する人がいたら頼みたいんだ。
というものでした。
コーデックの特性はよく分からないのですが、opusの方がilbcより良いのでしょうか?
ffmpegのLDの時のエラーなら、libilbcの更新の後、すぐ9/19にffmpegも修正されましたが、これとはまた違う部分のエラーなのでしょうか?
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=59af5383c18c8cf3fe2a4b5cc1ebf2f3300bdfe5
コーデックの特性については、私もよく分かっていないのですが、こんなの見つけました。
Firefox Beta 15 でサポートされる Opus オーディオ形式
https://dev.mozilla.jp/2012/08/firefox-beta-15-supports-the-new-opus-audio-format/
LDの部分でビルドエラーになる件について、エラーが出たffmpegのgitクローンの該当箇所を確認したところ、既に修正されていました。
試しにv1.1.1のlibilbcをcmakeでなくconfigureでビルドしてみたら、こちらはffmpegのビルドでエラーは出ませんでした。
Opusについての資料ありがとうございます。<(_ _)>
この資料を見ても、ilbcはOpusで代用が効くものと言えそうですね。mp3やaacよりも優れていると言われても普及度の点で難しい気がしますが…。
結論として僕の手順書でもOpusはサポートしているし、旧バージョンを含めlibilbcを加える理由はないと判断しました。
管理人さんはどうされますか?(ってこれは余計なお世話ですが…。(^ ^; )
お返事が遅くなり、申し訳ありません。
必要かどうかで判断するとしたら、x264、x265、libvpx、xvid、lame、vorbis、opus辺りで十分じゃないかと思いますので、何を捨てるか迷うところですね。
もともと、ffmpegのビルド手順をまとめるのが主な目的で、バイナリの配布はおまけという考えですので、とりあえず入れられるものは入れておこうと思います。
そうですね。ビルド手順書としては、サポートできるものは入れておきたいですね。
捨てるのは迷いますものね。
よく分かりました。ありがとうございます。