音声変換 | ストックオーディオコンバーター

FFmpeg

動画・音声の形式を変換する、オープンソースのコマンドラインツール・ソフトウェアです。
ただ形式を変換するだけでなく様々な機能を持っていますが、当サイトではその機能の一部を使用しています。

ファイル形式

mp3では途切れのないループにするのが難しく(ライセンスの問題もありましたが、2017年4月23日に特許は消滅しました)、主にゲーム音楽では、oggという音声形式が使われています。
しかしながら、ブラウザゲームやスマホアプリが台頭してきた今、Apple製品(ios,safari)ではこの形式に対応しておらず、別途m4a(AAC)という形式を用意します。

AAC

このAACの変換に関して、Fraunhofer IISによって開発された、非常に高品質なFDK AACというコーデックがあるのですが、特許関係が込み入ってます。
AAC自体の使用ライセンスは問題ないのですが、FDK AACと、FFmpegのライセンスであるGPLの、特許関連の項目に齟齬があり、配布するFFmpegのバイナリに、FDK AACは組み込むことができないので、もし使用するのであれば、各自ソースからビルドすることが推奨されています。
FFmpegのチームが独自に開発しているAACのコーデックがあるのですが、今の段階では、FDK AACの方が音質がいいので、当サイトでは、そのライブラリであるlibfdk_aacを組み込んで使用しています。

ビルド

FFmpegのwikiを参考にビルドしました。
当方の環境だけかもしれないですが、curlで圧縮ファイルをダウンロードすると、解凍に失敗することがあったので、代わりにwgetを使いました。
ビルド後パスを通すために、コマンドラインで、/home/ユーザー名/bin/にある実行ファイルの、シンボリックリンクを/usr/local/bin/に張り、

sudo ln -s /home/ユーザー名/bin/ffmpeg /usr/local/bin/ffmpeg

PHP-FPMのデフォルトの設定ではパス(環境変数)を読み込まないので、/etc/php-fpm.d/www.confの設定ファイルで、環境変数をクリアしないようにしました。

; Default Value: yes
clear_env = no

設定ファイルを変更したら、PHP-FPMを再起動します。

sudo systemctl restart php-fpm.service

URL: sac.ringil-music.com
環境: さくらのVPS・Centos7・Nginx・PHP-FPM

コメントを残す

メールアドレスが公開されることはありません。