映像編集から検証するM1のパフォーマンス連載も、今回で3回目となる。今回は映像編集者がよく使うツールとして定番である、Adobe Premiere Proを取り上げる。
Premiereの歴史は古く、1991年AppleのQuickTime発表と同時に、最初の対応アプリケーションとして発表されている。その後、時代を席巻したマルチメディアCD-ROMブームと立役者として「MacroMind Director」と共に活躍したわけだが、この話を始めると長くなるのでまた別の機会に譲りたい。
一方で放送用ノンリニアシステムとしては、どうしても入力・出力のハードウェアと組み合わせなければならないため、一時期はAvidやMedia100といったシステムの後塵(じん)を拝していた。しかしカメラがファイルベースとなった2000年代後半あたりからアプリケーション単体でプロでも使われるようになり、Apple純正のFinal Cut Proと共によく使われるようになった。特にFinal Cut ProがFinal Cut Pro Xにバージョンアップされた2011年以降、UIの大幅な変更とプロ用フォーマット対応の不完全さから、大量のユーザーがPremiere Proへ移行した。現在はWindowsとMacどちらでも動く編集ツールとしても重宝されている。
そんなPremiere Proも、12月21日(米国時間)にM1対応版のパブリックβ版が公開された。看板アプリであるPhotoshop等と異なりPremiere ProのM1対応のアナウンスがこれまでなかっただけに、β版の公開は開発の順調さをアピールする狙いもありそうだ。
機能が限られるM1バイナリ版
Premiere ProのM1バイナリβ版は、Adobe Creative Cloudの「ベータ版アプリケーション」からダウンロードできる。執筆時点での最新バージョンは、14.9.0BETA(ビルド 41[R])となっている。現在正規版であるIntel版は14..0(ビルド 23)で、β版は別にインストールできるようになっており、アイコンが全く違うので、見分けが付けやすい。
M1バイナリ版は、正規版とバージョンが少ししか違わないこともあり、UIも同じである。ただし機能的にはだいぶ差がある。大きな違いは、エフェクトの対応具合だろう。トーク編集で最近よく使われる「モーフカット」は、M1版βには含まれていない。
またHDRグレーディング関連のLumertiプリセットは中身が全然入っておらず、カラーグレーディングのパフォーマンスはテストできない。さらに音楽ファイルとして.mp3が読み込めないなど、まだまだ途上といった感じだ。エクスポート関連もまだ機能がそろっておらず、他の編集システムとのやりとりはまだ難しい。この辺りはプラグインになっており、動作検証も含めて開発スケジュールがバラバラなのかもしれない。
なおM1バイナリ版で編集したプロジェクトファイルは、正規Intel版で開こうとしても開けなかった。プロジェクトファイルには制作アプリのバージョンが記されており、古いアプリでは開けないというのがPremiereのお約束である。プロジェクトのバージョン表記を書き換える非公式ツールも存在するが、今回はβ版で編集したものをEDL(編集結果のタイムコードリスト)で書き出し、正規版へインポートした。
今回テストで使用したのは、前回同様iPhone 12 miniで撮影したH.265の素材である。一般的なニュース編集同様のカット編集が中心で、途中テロップの追加や音声の整音処理を行っている。
編集時のタイムライン再生は、M1ネイティブのパフォーマンスがよく分かる部分である。再生に引っ掛かりもなく、スムーズだ。CPUの使用率は60%弱だが、GPUは100%近く回っている。ただ、使用しているMacBook Airにはファンがないので、重たい処理をしている感じは見た目からは分からない。
一方、Intel版は、GPUもさることながら、CPUの負荷もかなり高い。それよりも困ったのは、素材フッテージそのままの再生では問題ないのだが、タイムライン上の再生がかなりもたつくことである。両者の何が違うかといえば、音声レベルをいじって整音したぐらいしか違わないのだが、その程度の処理でかなり負荷が違うというのは意外である。
もう少しパフォーマンスは上がる?
今回テストで編集した動画の尺は、6分52秒である。これをYouTubeアップロード用のプリセットを使ってレンダリング速度を比較してみる。この処理には、4KからHD解像度へのダウンコンバートも含まれる。
Premiere Proはそれ単体でサブスクリプション購入しても、バッチレンダリングツールとしてMedia Encoderが付属する。だが今回のM1ネイティブ版にはMedia Encoderがなく、Premiere ProからMedia Encoderへの連携ができなかった。従ってPremiere Pro内のエクスポートからレンダリングを行っている。
まずM1ネイティブ版βだが、レンダリングにかかった時間は8分19秒。実時間よりもだいぶ時間がかかっていることになる。もっともエンコーダは、各社の設計思想が如実に出る部分であり、時間がかかってもきれいにエンコードした方がよいとする考え方もある。ただ他の編集ツールのM1パフォーマンスからすると、かなり遅く感じられる。
アクティビティモニタでレンダリング中のパフォーマンスをチェックしたところ、CPUの利用率は600%越えで、かなりの部分をCPUで回しているように思われる。一方GPUの利用率は90%程度で、これは他社と同程度だ。これだけのリソースを注ぎ込んでも速度が上がらないということは、まだエンコーダ内部で最適化が完了していないボトルネックが相当あるのではないかと思う。
一方同じプロジェクトをIntel版でもレンダリングしてみたところ、12分48秒であった。M1の方が約40%ほど高速ということになるが、現行バージョンでもレンダリングはかなり遅いように思える。ただPremiere Proの場合、以前から素材と出力コーデックの組み合わせによって、なぜか他の組み合わせよりもエンコードが遅いことが時々ある。今回はたまたまその組み合わせに合致したとも考えられる。
アクティビティモニタでレンダリング中の様子を観察したところ、CPUとGPUの利用率は、M1版とあまり変わらなかった。仮にM1でのパフォーマンスをもっと上げようとするならば、Intel版バイナリとは違った考え方でエンコーダを設計し直す必要がありそうだ。なお参考までに、今回制作した動画はここで視聴できる。
Premiere Proは2019年11月にバージョン14へメジャーアップデートしたばかりで、これまでだとメジャーアップデートは3~4年に1回である。したがってM1対応とはいっても、メジャーアップデートが行われる可能性は小さく、バージョン14のままで細かく刻んでいくことになるだろう。M1バイナリの正規版リリースはまだ具体的な日程が出てきていないが、現状のβ版でのパフォーマンスからすると、内部的にはかなり手を入れる必要がありそうだ。
現時点でのM1バイナリは、ちょこっと試してみるぐらいならともかく、本格的に使うなら正規版のリリースを待った方が無難であろう。