Live Extreme Encoder v1.7をリリースしました
Live Extreme Encoder v1.6のリリースから早4ヶ月、2022年6月3日に最新版となるv1.7 をリリースいたしました。基本的には運用に必要な小改善やバグ修正がメインですが、いくつか重要な変更も含まれますのでご紹介いたします。Live Extremeを運用中、または導入を検討中の方のご参考になれば幸いです。
HLSをLive Extremeの基本プロトコルに変更
視聴者の方が意識する内容ではありませんが、配信プロトコルの変更はサービス運営側にとっては大きなトピックですので、過去バージョンとの違いを時系列に沿って説明していきます。
2020/9: MPEG-DASH専用エンコーダーとして発表 (v1.0)
2020年9月にLive Extremeを発表した当時、Live Extremeの配信プロトコルは「MPEG-DASH (Dynamic Adaptive Streaming over HTTP)」(オーディオ・コーデックはFLACとApple Lossless)でした。
当時、MPEG-DASHを選択した理由は、
ISO/IECによる国際標準規格である(ISO/IEC 23009-1, 2012年4月に規格化)
前身技術である「PrimeSeat」でMPEG-DASHを採用していたため、コルグ社内にも知見があった
MPEG-DASHは規格上、コーデックやメディア•フォーマットを制限していないため、ハイレゾやDSDを配信してもフォーマット違反にならない
でしたが、一つ大きな問題点がありました。iPhoneのウェブ・ブラウザ(Safariを含む全てのブラウザ)で、MPEG-DASHを再生することは原理的に不可能なのです。理由は、iPhoneのWebKitブラウザ•エンジンが、ストリーミング再生に必要な「Media Source Extensions」という機能に非対応な為で、こればかりは打つ手がありませんでした。
このため、2020年10月の初配信から2021年4月までの半年間、不本意ながら「Live ExtremeはiPhoneには非対応」とさせていただいておりました。
2021/7: HLSへの対応を追加 (v1.5)
iPhone版SafariでのMPEG-DASH再生は不可能ですが、iPhoneでLive Extreme再生を実現する方法は2つ考えられました。
MPEG-DASH再生に対応したネイティブ•アプリを開発する
Live Extreme Encoderが、Apple規格である「HLS (HTTP Live Streaming)」形式で配信する
Live Extreme発表時に想定していたのは(1)で、実は2020年10月のキング関口台スタジオでの発表会においても試作アプリをこっそりと展示していました。
ただし、最終的な選択は(2)となりました。その理由は以下の通りです。
独自のネイティブ再生アプリはOSアップデートの影響を受けやすく、メンテナンス•コストが掛かることが懸念された
ウェブ•ブラウザでの再生は、他のウェブ•サービスとの連携の面からも重要度が高い
かつてHLSはApple独自のストリーミング規格に過ぎなかったが、2017年8月にインターネット技術の標準化を推進する「IETF (The Internet Engineering Task Force) 」が「RFC 8216」として標準化している
Appleは当初、HLSの音声コーデックとしてAAC, HE-AAC, Dolby Digital, Dolby Digital Plusしか認めていなかったが、2020年よりApple LosslessやFLACも追加された
Live Extreme Encoderは初期バージョンからApple LosslessとFLACの両コーデックに対応(プロトコルはMPEG-DASH)していましたが、2021年7月にリリースした v1.5より、Apple LosslessはHLSで、FLACは従来通りMPEG-DASHで配信するように仕様変更となりました。これにより、Live Extreme最大の欠点であったiPhone非対応という問題が解決しました。
2022/5: FLAC音声のHLS配信に対応 (v1.7)
旧OSのSafariがISO-FLACに非対応なため、当面FLACとともにApple Losslessも配信し続ける必要がありますが、「MPEG-DASHで運用中の既存のサービスにLive Extreme再生機能を追加したい」など特殊なケースを除き、Live ExtremeでMPEG-DASHで配信するメリットは実はあまり残っていません。むしろ、既存サービスの多くはHLSで展開されており、Live Extremeも同じプレイヤーで再生できた方が移行もスムーズなはずです。
Live Extreme Encoder v1.7では、従来の配信方法に加え、FLACをHLSで配信することもできるようになりました。Apple LosslessとFLACをHLSで同時配信する場合は、1つのマニフェスト•ファイル(.m3u8)に両方のコーデックが含まれます(ウェブ•ブラウザが対応コーデックを自動的に選択して再生します)ので、コンテンツ管理も容易になります。
セグメント•ファイル•サイズに6秒と10秒設定を追加
ネットワーク速度が不安定なプレイヤー環境においては、プレイヤー内のバッファサイズ(=遅延量)を大きく取ることで、再生安定性が向上します。
MPEG-DASHの場合、マニフェスト•ファイル(.mpd)の仕様にsuggestedPresentationDelayという再生遅延量を指定するパラメータがあり、エンコーダー側で自由に設定することができます。Live Extreme Encoderでは、この値をデフォルトで30秒に設定しています(ユーザーが変更することも可能)。
一方、HLSにはsuggestedPresentationDelayに相当するパラメーターが見当たりません。代わりに、SafariブラウザなどのHLSプレイヤーは、各セグメント•ファイル(.m4s)の長さから、プレイヤー内のバッファサイズを自動的に決定しているようなのです。つまり、HLSの場合、セグメント•ファイル•サイズを大きくするほど、再生の安定性は増していきます。
従来のLive Extreme Encoderでは、セグメント•ファイル•サイズを1, 2, 3秒の中からしか選べませんでしたが、v1.7からはそれに加え、6秒と10秒も選択できるようになりました。ちなみに10秒は以前のAppleの推奨値、6秒は現在のAppleの推奨値となっています。
映像•音声関連機能強化
16bitロスレス音声の配信
従来のLive Extreme Encoderでは、PCM配信は24bitの量子化ビット数に固定されていました。v1.7ではこれに加え、44.1kHz/16bit (CD相当) と48kHz/16bit (DAT相当) の配信にも対応しました。
以下の図は、同じ音源をAACとFLAC (16bit, 24bit) の各フォーマットでエンコードした時のビットレートを比較したものですが、16bit配信は24bitよりデータ量を半分以下に抑えられることが分かります。16bitはハイレゾ音質とは言えませんが、それでもAACに比べたら遥かに高音質です。
Live Extreme Encoderは同じ音声を複数のフォーマットで同時配信することができますので、スマホ向けに低ビットレートな48kHz/16bitを、PC向けにより高音質な96kHz/24bitを配信する、といった使い道が想定できます。AAC配信を選択する前に、是非ご検討いただきたいオプションです。
SDIやHDMIのエンベデッド•オーディオからのマルチチャンネル配信
Live Extreme Encoderは5.1chや7.1chのマルチチャンネル配信、あるいは最大4系統までの副音声配信に対応していますが、その際の音声入力はASIOデバイス(アナログ、MADI、DANTEなど)に限られていました。
Live Extreme Encoder v1.7ではこれに加え、SDIやHDMIにエンベッドされたオーディオ信号からもマルチチャンネル音声入力が可能となりました。内部にオーディオ信号のルーターも搭載しておりますので、SDI/HDMI上の任意のオーディオ•チャンネルから配信に利用する信号を自由に選択していただくことができます。
インターレース•ビデオ入力への対応
映像の走査方式には「インターレース (飛び越し走査) 方式」と「プログレッシブ (順次走査) 方式」の2つが存在しています(参考記事)。前者はアナログ時代の名残ともいえ、Youtubeなど近年の動画サービスはプログレッシブ方式を採用していますし、Appleも自社製品との互換性からHLSのインターレース配信を禁止しています。Live Extremeも他社のサービスに倣い、プログレッシブ配信のみに対応してきました。
一方、DVDや地上波デジタルTV放送など、世間にはまだまだインターレース方式の映像が溢れています。配信現場にもインターレース出力にしか対応していないカメラが残っていたりしますが、インターレース映像を適切な処理なしに配信すると、動きの激しい場面で水平方向に縞模様が発生してします。私も昨年現場でインターレース映像を渡されて困った経験があり、I/P変換(インターレース解除)機材を持ち込むようになりましたが、やはり荷物が少ないに越したことはありません。
Live Extreme Encoder v1.7は、内部にI/P変換機能を搭載しています。もしSDIやHDMIからインターレース映像が入力された場合は、GPU内で自動的にI/P変換され、鮮明なプログレッシブ映像としてインターネット配信されます。
まとめ
ハイレゾ/ロスレス配信の完全なHLS化は、Live Extremeにとっても大きなマイルストーンで、CMS (コンテンツ•マネジメント•システム) やプレイヤーの運用が容易になるだけでなく、今後冗長化などHLSに規定された仕様も積極的に取り入れていくことができます。
今年に入り、日本各地のライブハウスや配信スタジオへのLive Extreme Encoderの導入が進んでおりますが、Live Extremeは日本製のソフトウェア•ベースの配信システムという特長を活かし、今後も配信現場やサービスのニーズに合うよう、細やかな仕様のアップデートを続けていく予定です。