avconvertなるコマンド
本日のApple Ch.のエントリ。
macOS 12.1 MontereyではavconvertコマンドにHEVCビデオ/AACオーディオの8Kプリセットが追加。 [Apple Ch.]
に「ほぅ」と思いつつ、そいえばこのコマンドを実行したことがありませんでした。QuickTime Playerと同じくプリセットの範囲でしか出力の設定は選べないけど、その品質を理解した上で使えばハードウェアエンコードが効くということで速度面で便利かもしれないと思ったりしたので、ちょっと確認してみました。
映像ソースはiPhone 11 Proで撮影した4K動画です。11なのでHDRではありませんが、Final Cut ProでPQのタイムラインに乗せて露出を上げて高輝度で出力されるような状態でProRes 422 HQで出力して、これを素材としてavconvertコマンドを実行してみました。
ソースとなるProRes 422 HQファイルをQuickTime Playerで開くとインスペクタのビデオの詳細の項目にあるコードポイントは 9-16-9 と表示されます。Color PrimariesがITU-R BT.2020、Transfer FunctionがSMPTE ST 2084 (PQ)、YCbCr MatrixがBT2020 Non-constant Luminance という意味で解釈されます。HDRの動画ファイルというわけですね。ファイルサイズは20秒で1.53GB。高いビットレートで固定されるProRes 422 HQですから、これは妥当なファイルサイズです。
これを以下のコマンドで変換して出来上がるmovファイルは
avconvert --source source.mov --output out.mov --preset Preset3840x2160
コードポイント 1-1-1 となります。ITU-R BT.709、ITU-R BT.709、BT709 という意味ですね。H.264ですが、HDRのものとしては変換されませんでした。ファイルサイズは66.4MBとなりました。
解像度3840x2160のプリセットはもう一個用意されてたのでそっちでも変換かけてみました。
avconvert --source source.mov --output out.mov --preset PresetHEVC3840x2160
HEVCの動画への変換ということになりました。コードポイントは 9-16-9 が維持されてます。ファイルサイズは62.4MB。iPhoneで再生してみるとHDRとして認識されました。
というわけで、エンコード形式にこだわらないならターミナルからOS標準の機能として利用できるこのコマンドは便利かもしれないですね。こだわるならffmpegを入れろという感じでしょうか。
あと8K出力のプリセットを用意したのなら、8Kディスプレイへの出力をいい加減サポートしてほしいですな。
コメント |
コメントはありません。 |
![]() |
コメントを投稿する |
![]() |
ブログ作成者から承認されるまでコメントは反映されません |