日々適当

hibitekitou

M1マシンでのエンコードエラー

mac |2022-04-24

ソースとなる映像素材の中にエラーのフレームがあるとどうもM1シリーズでのCompressor(Final Cut Proも)の書き出し処理に失敗するっぽい。

FCPで編集したタイムラインをCompressorに送ってH264でファイル出力しようとすると、エラーでエンコード処理に失敗することがあります。Compressor上ではそれは単に「失敗しました」ってメッセージが出るだけなのだけど、と共にそのフレーム数が表示されます。FCPから直接ファイル出力をするともうちょっと詳しい情報をもらえて、例えば

フレーム 76693の作成中にエラーが発生したため、操作を完了できませんでした(エラー(10004): フレームの準備中。“0410”を00:42:38;29でレンダリングできません。
エラー(-12909): ソースファイルのデコード中。“0410.mp4”を00:49:06;23でデコードできません。)。

となり、フレーム76693に問題があり、出力しようとしている動画ファイル内の00:42:38;29がレンダリングできないと言ってくれました。
フレームナンバーから直接FCPのタイムラインのどこかを知る方法を知らないのでちょっと困ったのだけど、それは00:42:38;29とたぶん一致するだろうからと該当フレームを見てみると、そこの部分、確かに絵がちゃんと来ていません。乱れてる。

ちょっと前から、エンコード処理はM1の方から早いからMac mini 2018ではなくMacBook Air M1 2020の方で行っていました。で、MacBook Airの方でエラーになるFCPのプロジェクトはあったのですが、Mac miniの方でやり直すと処理が終了していたので、今まではその問題をなんとなくスルーしていました。しかしメインマシンがMac Studioになったことで、ちょっと真面目に検証する必要が出て調べてみたらそんなことだったわけです。

エラーの出ているフレームをそのまま無視してエンコードしてくれるのと失敗するのと、どちらがありがたいかは状況にもよるでしょうが、今回は無視して適当に辻褄あわせてくれればいいよと思う種類の動画なので、これから問題が起こるたびに該当フレームを見つけるという対処をしなければならないのかと思うと、少しモヤっとするものがあります。
一方でお金をもらうような納品物を出力する場合は、問題がなかったかのように処理が完了するよりエラーで止まってくれた方がありがたいのは確かで、そんな意味では正しい挙動かもしれません。(一番いいのは、問題箇所の詳細を記したエラーを吐きつつ最後まで適当に辻褄を合わせて処理を終了してもらうことだけど)

<追記>

FCPのタイムラインをフレーム数で制御するとき、環境設定から時間表示をどうするかを設定するところで設定可能でした。

</追記>

コメント ( 0 )|Trackback ( )
  ・