DualCam

iPhoneで同時録画中に空き容量が足りなくなるとどうなるか

大きな問題にはなりません。DualCamは録画を始める前に、少なくとも200MBの空きがあるかを確認し、録画が始まったあとは空き容量が100MBを切った瞬間に自分で止まります。端末が本当に1フレームも書き込めなくなるずっと手前の段階です。その時点まで撮れていた内容は、同時録画がほかの理由で中断されたときと同じように、1本の完成した再生可能なファイルとして閉じられます。

ここで本当に確かめる価値があるのは、映像が残るかどうか——それは残ります——ではなく、ある空き容量が実際にどれくらいの録画時間を確保してくれるのか、そしてなぜアプリはディスクの最後の1バイトまで使い切らず、あえて100MBを残しているのか、という点です。

まだ空き容量が残っているのに自分で止まる理由

動画ファイルをきれいに閉じることと、撮れた最後のフレームを書き込むことは同じではありません。録画を正式に締めくくる——ファイルに有効な終端を持たせ、再生に失敗せずきちんと開けるようにする——には、すでにディスクに書き込まれたフレームに加えて、もう少しだけ書き込みが必要です。端末の空き容量の最後の1バイトまで新しいフレームを受け入れ続けてしまうと、その締めくくりの分を書き込む場所がなくなり、フレーム自体は存在していてもファイルそのものが使えない状態で残ってしまう可能性があります。

100MBという閾値は、まさにそれを防ぐためのものです。OSが「書き込む余地がない」と拒否するのを待つのではなく、DualCam自身がファイルをきちんと締めくくれるだけの余裕を残した時点でテイクを終わらせます。録画を始める前に行われる200MBのチェックも、同じ考え方を一歩前に進めただけです。始めても数秒後にはきれいに締めくくる余地すらないテイクを、そもそも始める意味がありません。

撮影に実際どれくらいの空き容量が必要か

DualCamは合成済みの完成映像をおよそ10Mbpsでエンコードしており、これは1分の録画あたりおよそ75MB、1時間丸ごとで4GB強にあたります。これは最終的に書き込まれる1本のファイルのサイズで、カメラを2系統同時に回しても2倍にはなりません。出力されるのは前後2本の別々のカメラファイルではなく、合成済みの1本のクリップだからです。

ここにファイルを締めくくるためアプリが確保している100MBを足せば、撮影を始める前に、計画している長さにどれくらいの空き容量が必要かをおおよそ計算しておけます。録画の途中で足りないと気づくのではなく:

おおよその目安

空き容量に十分余裕がある端末では、実際に長回しを最初に終わらせる上限はたいてい空き容量ではなく発熱のほうです。それでも意図的に確認しておく価値がある上限には変わりありません。空き容量と発熱という2つの上限のうち、何かを削除するだけで事前に動かせるのはこちらだけだからです。

  • 5分のテイクならおよそ475MBの空きが必要。
  • 15分のテイクならおよそ1.2GBの空きが必要。
  • 30分のテイクならおよそ2.3GBの空きが必要。
  • 1時間丸ごとならおよそ4.6GBの空きが必要。

すでに録れていた映像はどうなるか

DualCamは前後カメラをあとで突き合わせる必要のある2本の別ファイルとして録画しているわけではありません。到着した2つの映像をその場でGPU上で1枚のフレームに合成し、その1枚をディスクに書き込んでいるので、最初のフレームから最後のフレームまで、テイク全体を通じて存在するファイルは常に1本だけです。空き容量が尽きるということは、そのファイルに新しいフレームが追加されなくなるというだけのことで、食い違った2本のクリップが残るわけでも、音声トラックだけが別にずれて残るわけでもありません。

締めくくりの時点でまだ100MBの余裕が残っているため、こうしてできるファイルは壊れていたり書きかけだったりもしません。想定より短い1本になるだけで、普通に開いて再生できます。これは発熱や着信で同時録画が途中で終わったときと同じ扱いで、書き込み途中で壊れたファイルとして残るのではなく、そこまでの内容で完成した1本として締めくくられます。

そのテイクは最終的にどこに残るか

空き容量が原因で短く終わったテイクも、フル尺のテイクとまったく同じようにDualCam自身のライブラリに残り、サムネイル付きで見返してから残す価値があるか判断できます。この時点ではiCloudにはまだ一切触れていません。アプリ自身のライブラリは端末のローカルストレージであり、特定のクリップをあなたが「写真」に保存すると決めるまで、そこにあるものはどこにもアップロードされません。

この「保存前に見返す」ステップは、空き容量がいつも厳しいときの直接的な対処法でもあります。実際に空き容量を圧迫しているのは、すでに「写真」に保存済みのクリップや、そもそも残す必要のないクリップが、アプリ自身のライブラリに溜まっていることです。DualCamの解像度を下げても空き容量はほとんど戻りません。720pでも1080pでもエンコードされるビットレートはほぼ同じで、1分あたりの容量もほぼ同じだからです。空き容量を実際に確保するのは、何かを削除することであって、より小さく撮ることではありません。

撮ったあとではなく、撮る前に確認する

  • 大事なテイクの前には「設定 → 一般 → iPhoneストレージ」を開いて、なんとなくの感覚ではなく実際の数字を確認する。
  • 開始に必要な200MBの最低ラインをぎりぎり超える程度ではなく、実際に予定している長さに合わせて上の目安を使う。そのチェックが保証しているのは最初の数秒だけで、テイク全体ではない。
  • 解像度を下げて空き容量を稼ごうとするより、すでに「写真」に保存済みの録画や、DualCamのライブラリの中で残さないと分かっているクリップを、オフロードするか削除するほうが確実。
  • 撮り直しがきかないテイクなら、空き容量の確認を発熱やバッテリーの確認と同じように、準備の一部として前もって済ませておく。

よくある追加の疑問

空き容量が足りなくなる前にDualCamが警告してくれますか。

見ていられる専用のカウントダウンはありません。アプリは録画を始める前に少なくとも200MBの空きを要求し、録画中に空き容量が厳しくなった場合は、空き容量が100MBを切った時点で自分で停止し、端末が本当に空き容量ゼロになるのを待つのではなく、ファイルをきれいに締めくくります。

録画中に空き容量がなくなったら、映像は失われますか。

いいえ。空き容量が原因でテイクが強制的に終了させられるまでに撮れていた内容は、1本の完成した再生可能なファイルとして締めくくられます。予定より短くはなりますが、壊れたり消えたりはしません。DualCamがほかの中断を扱うときと同じ処理です。

1080pではなく720pで録画すれば、空き容量的にもっと長く撮れますか。

効果はわずかです。DualCamは解像度にかかわらずほぼ同じビットレートでエンコードするため、720pと1080pの1分あたりの容量はほぼ同じ範囲に収まります。解像度を下げることで主に確保できるのは発熱に対する余裕であって、空き容量に対する余裕ではありません。空き容量という上限を実際に動かすのは、本当の空き容量を確保することです。

とにかく撮ってみたいなら

DualCam は iPhone の前面・背面カメラを同時に動かし、撮りながら 1 本の MP4 に合成します。無料、アカウント不要、広告なし、映像は端末の外に出ません。

App Store でダウンロード