撮影設定を間違えて、動画を CRM(Canon RAW Movie) で録画してしまった。

普段使う分にはMP4で十分なのだけれど、気づいたときにはすでに8K RAWで撮影済み。

仕方がないので、最終的に

CRM
CanonのソフトウェアでMOVへ変換
ffmpegで4K MP4へ変換

という手順で処理した。

また同じことをやりそうなのでメモしておく。

最初はffmpegでCRMを直接変換しようとした

最初に考えたのは、当然ながらffmpegでそのまま変換する方法。

ffmpeg -i input.crm output.mp4

みたいにできれば一番楽だった。

しかし、どうもCRMをそのまま普通の動画ファイルとして扱うのは難しそうだった。

少なくとも今回の環境では、CRMを直接いい感じにMP4へ変換するところまでは持っていけなかった。

ということでCanon純正ソフトを使うことにした。

CanonのソフトウェアでCRMを現像する

CanonのCinema RAW Developmentを使ってCRMを読み込む。

ここからMOVへ書き出せる。

とりあえず

CRM → MOV

まではできた。

ただし、適当に現像するとなんか色が変

RAWなので当然といえば当然なのだけれど、撮影時にカメラで見えていた映像と、書き出したMOVの見え方が結構違った。

今回は映像作品として厳密にカラーグレーディングしたいわけではなく、

間違ってRAWで撮ってしまった動画を普通に見られる状態にしたい

というだけなので、CRMからMOVへ書き出す際はBT.709を選んだ。

ここで少しハマったのが、色の設定場所だった。

最初はプレビュー設定を変更して見た目を合わせていたが、プレビュー設定は出力ファイルには反映されない。

書き出すMOVの色を設定するには、Cinema RAW Developmentの

エクスポート設定
素材ファイル出力形式
色空間/ガンマ設定

から設定する必要がある。

今回は、この色空間/ガンマ設定でBT.709を選んでMOVを書き出した。

MOVはできたのでffmpegでMP4にする

ここまで来れば、あとは普通の動画変換。

Cinema RAW Developmentから出したMOVをffmpegへ渡す。

今回は元動画が8Kだった。

本当は8Kのままでよかったし、積極的に4Kへ縮小したかったわけではない。

ただ、再生環境の問題があった。

手元で確認した限り、

  • iPhone 15世代では8K動画の再生がカクつく
  • iPhone 16 Pro Maxでは8Kでも問題なく再生できる

という状態だった。

8Kのままだと古いiPhoneでまともに再生できなかったため、今回は仕方なく4Kへ縮小することにした。

8Kから4Kへ縮小する

基本的にはscaleを指定すればいい。

16:9の8K素材なら、

-vf scale=3840:2160

を入れて4Kへ縮小できる。

例えばこんな感じ。

ffmpeg \
  -i input.mov \
  -vf "scale=3840:2160" \
  -c:v h264_videotoolbox \
  -c:a aac \
  output.mp4

Macなので、最初はVideoToolboxを使ってH.264へ変換しようとした。

なんか死ぬ

ところが実行すると、

Cannot create compression session: -12903
Try -allow_sw 1. The hardware encoder may be busy, or not supported.
Error while opening encoder

みたいなエラーが出て変換できない。

今回一番詰まったところ。

8K素材を4Kへ縮小しつつVideoToolboxでエンコードしようとしたところ、圧縮セッションの作成に失敗していた。

エラーメッセージにもある通り、

Try -allow_sw 1

とのことなので、ソフトウェアエンコードへのフォールバックを許可する。

ffmpeg \
  -i input.mov \
  -vf "scale=3840:2160" \
  -c:v h264_videotoolbox \
  -allow_sw 1 \
  -c:a aac \
  output.mp4

これで処理できるようになった。

ハードウェアエンコードにこだわらないなら、最初からlibx264を使ってもいい。

ffmpeg \
  -i input.mov \
  -vf "scale=3840:2160" \
  -c:v libx264 \
  -crf 18 \
  -c:a aac \
  output.mp4

時間はかかるが、こちらの方が環境依存のトラブルは少ない。

最終的な流れ

今回やったことをまとめると、

間違えて8K CRMで録画
ffmpegで直接変換しようとする
うまくいかない
Cinema RAW Developmentで現像
色がなんか変
プレビュー設定を変更する
書き出したMOVには反映されない
エクスポート設定の色空間/ガンマ設定でBT.709を選ぶ
MOVを書き出す
MOVをffmpegへ
8K → 4Kへ縮小
h264_videotoolboxが-12903で死ぬ
-allow_sw 1を追加
MP4完成

という感じだった。

結論

最終的には、

CRMをCanon純正ソフトで一度MOVへ変換して、そのMOVをffmpegで4K MP4にする

のが今回一番簡単だった。

CRMを直接どうにかしようとして時間を使うより、この方が早い。

まぁ急がば回れってことですなぁ。