MPEG4-ALSでハイレゾ音源をストリーミング再生する

Hi-Res, MPEG

MPEG4-ALSとは何かについてはこちらをご参照ください。
とりあえずハイレゾのストリーミングには「MPEG4-ALS」というコーデックが適しているそうなので実際に試してみました。

自社ストアでハイレゾ音源をダウンロード

ハイレゾ音源を購入&ダウンロードします。
自社ストアでダウンロードした音源のファイル形式はFLACでした。

VLC Media Playerをインストール

便利な音楽プレイヤー「VLC Media Player」をインストールします。
Macの方は以下からダウンロードできます。
http://www.videolan.org/vlc/index.ja.html

20.40.11.png
ファイルを読み込むと音源のコーデックなどを確認できます。

ffmpegでFLACをPCMに変換

MPEG4-ALSのコンバータがFLACに対応していないのでffmpegでWAV(PCM)に変換します。
Macの方は以下のコマンドでインストールできます。

以下のコマンドでFLACをWAVに変換します。

21.06.38.png
VLC Media Playerで確認するとコーデックがPCMになっています。

mp4alsRM23でWAVをMPEG4-ALSに変換

MPEG4-ALSのコンバータはこちらのサイトから入手できます。

Windowsの場合はexeが用意されているのでこちらのリンクからダウンロードします。
MPEG-4 ALS codec for Windows - mp4alsRM23.exe (ZIP, 212,3 KB)

Mac/Linuxの場合は以下からソースをダウンロードしてmakeします。
MPEG-4 ALS Reference Software Archive - RM23 (ZIP, 336,8 KB)

成功すると mp4alsRM23/bin/mac/mp4alsRM23 に成果物ができます。
以下のコマンドで先ほど作成したWAVをMPEG4-ALSに変換します。

成功すると .wav と同じディレクトリに .mp4 が作成されます。

22.13.08.png
これでFLACからMPEG4-ALSの音源を作ることができました。

MP4Boxでストリーミング用のファイルに変換

MP4boxはmp4のAudio/Videoを操作するツールです。
Macの場合は以下でインストールできます。

MP4Boxを使用して500ms毎のチャンクに分割します。
(この作業はなくてもストリーミング再生できるみたいですが一応)

ここまで作成したファイルサイズを確認してみると以下のようになりました。
23.53.39.png
PCMはファイルサイズが非常に大きくなっていますがFLACとMPEG4-ALSはほぼ同じサイズのようです。

VLC Media Playerで再生

先ほど生成したストリーミング用のmp4ファイルをWebサーバなどに配置して、
「ファイル > ネットワークを開く」から .mp4 ファイルのURLを指定すると再生できます。

00.01.01.png

まとめ

今回はFLACからMPEG4-ALSを使用してハイレゾ音源のストリーミングを試してみました。
MP4Boxを使用してMPEG-DASH形式にすることで動画にハイレゾ音源を組み合わせて、
動画のストリーミング配信を行うこともできるのでハイレゾのMVなどはすぐに作れそうです。

こちらのサービスはMPEG-DASHでのライブ配信に対応しているそうですが、
MPEG-DASHは回線速度に応じてチャネルを切り替えるAdaptive BItrate Streamingにも対応しているので、回線が遅い時は通常音源で速度が速い時はハイレゾ音源に切り替えるなどの応用もできるのではないかなと思います。

参考資料

Hi-Res, MPEG