ダウンロード
まず、自社のファイルで動かしてみる。
ツールをインストールして、今配信しているファイルを指定するだけ。決めた画質基準で、どれだけ小さくできるかが分かります。レポートは無料で、キーは不要。ツールは手元のマシンで動き、ネットワークを使わず、何も送信しません。
クイックスタート
x265とVMAF対応のFFmpegを用意する
libx265とlibvmafを含むFFmpegが必要です。Windowsならgyan.devの「essentials」ビルド、macOSならHomebrewのffmpeg、Linuxならディストリビューションのパッケージか静的ビルド。Python 3.12以上が必要なのはpipで入れる場合だけで、下のmacOS・Linuxの行はPythonも一緒に用意します。手順3で確認できます。インストール用のリンクを受け取る
お名前と会社名を入力すると、インストールコマンドをこのページにそのまま表示します。リンクは個人用で、7日間有効です。
環境を確認する
hlsai doctor今配信しているファイルで測る
hlsai measure delivered.mp4マスター素材がある場合は
--source master.movを付けると、マスターからエンコードし、マスターと比べて採点します。長いファイルは--seconds 120で最初の2分だけ試せます。
出力の例
hls.ai measure (report only)
Input: delivered.mp4 | h264 1920x1080 30000/1001 fps | 18.5 s | 10.1 MB | 4,377 kbps
Target: mean VMAF >= 95, 5th-percentile frame >= 92 (relative to the input)
Result: an HEVC encode meeting the target would be 3.3 MB (1,414 kbps), 67.7% smaller
Quality of that encode vs the input: mean 95.12, 5th percentile 93.62, lowest frame 92.85
Trial encodes: 4 | 85 s | report saved to hlsai-report-delivered.json上の出力は、検証結果ページのスタジオ映像を、このサイトの検証に使ったマシンで測ったものです。数字は、映像と現在の設定によって変わります。
レポートの読み方
- 基準は、渡したファイルです。
--sourceを付けない場合、画質は配信中のファイルと比べて採点されます。「VMAF 95」は「今配信しているものにこれだけ近い」という意味です。マスターと比べるより緩い基準なので、削減率は大きく出ます。--sourceを付けると、マスターが基準になります。 - 基準は2つの数字で決まります。
--targetは平均スコアの下限(標準95)。--floorは、スコアが低いほうから5%のフレームの下限(標準92)。平均のために難しい場面を犠牲にしないための値です。 - 削減は、基準を超えた分を削ることで生まれます。同等画質での比較ではなく、決めた基準をぎりぎり満たす最小のエンコードです。
- 長いファイルはサンプルで探索します。標準では5秒×4か所。全編のエンコードは最後の1回です。
--verifyを付けると、完成した出力全体も採点します。 - 1回の実行で、試行エンコードを数回行います。目安は4〜6回。x265の
slowプリセットで動き、--presetで変えられます。
レポートから、エンコードへ
レポートで分かるのはサイズです。ライセンスキーがあると、エンコード本体と、それを作った設定が手に入ります。設定は、自社のエンコーダーでそのまま再現できます。
hlsai activate <キー>
hlsai encode delivered.mp4 --out optimized/出力フォルダーには、optimized.mp4、x265の設定を記したsettings.json、全試行とスコアを記録したresults.jsonが入ります。キーの検証はオフラインで行うので、インターネットに出られないネットワークの中でも動きます。
オプション
| オプション | 内容 | 標準 |
|---|---|---|
--target | エンコードが保つ平均スコアの下限 | 95 |
--floor | 低いほうから5%のフレームが保つスコアの下限 | 92 |
--metric | vmaf、または厳しめのvmaf_neg | vmaf |
--source | エンコード元・採点の基準にするマスター | 入力ファイル |
--preset | 試行と本番に使うx265プリセット | slow |
--maxrate | ビットレートの上限(kbps) | なし |
--seconds | 入力の最初の秒数だけを使う | 全編 |
--verify | サンプル探索のとき、完成した出力も採点する | オフ |
--report | measureがJSONレポートを書く場所 | hlsai-report-<名前>.json |
ファイルは、手元から出ません。
ツールが読むのは指定したファイルだけ。試行エンコードは一時フォルダーに書き、終了後に削除します。ネットワーク接続は行いません。レポートはローカルのJSONファイルで、共有するかどうかは自由です。
評価について相談する