デュアルカメラ動画で音声と映像がずれるのはなぜか
聞こえてくる声と画面の口の動きが合わなくなったと感じたら、まず確かめるべきなのは、その動画をどこで見ているかです。デュアルカメラ録画そのものは、映像トラックと音声トラックをそれぞれ 1 本ずつ持つ 1 本の MP4 で、録画を止めた瞬間に両方のトラックが一緒に確定されます。そこには、ズレていく相手になるような別の素材は存在しません。録画したその端末で元のファイルを開いて確認すれば、そこで見えている同期がすべてです。多くの場合、実際に見ているのはアプリを離れたあとに何らかの処理を経たコピーです。
この先では、動画ファイルにとって「同期している」とはそもそも何を指すのか、なぜリアルタイムで合成された 1 本のファイルには別々の 2 台のカメラ素材が抱えるようなズレの問題が起きないのか、そして実際のズレがどこで生まれるのかを順に説明します。
1 本の動画ファイルの中で音と映像を結びつけているもの
動画ファイルは 1 本の連続したストリームではなく、映像フレームの列と音声サンプルの列という 2 本の系列を持っています。それぞれに同じ時計を基準にしたタイムスタンプが付いていて、再生アプリはその共有された時間軸に沿って、ある瞬間に何を映し何を鳴らすかを決めています。両方のタイムスタンプが同じ時計に由来し、録画後にそれを乱すものが何もなければ、2 本のトラックは動画がどれだけ長くても結びついたままです。
ズレが起きるとき、実際に問題になっているのは音や映像そのものではなく、このタイムスタンプです。最初から同じ時計を基準にしていなかったか、録画後の再エンコード・編集・独自の遅延を持つ再生経路といった何かが、片方をもう片方に対してずらしたかのどちらかです。
合成済みの 1 本のファイルに、従来のマルチカメラの問題が起きない理由
マルチカメラ撮影で多くの人がぶつかるズレの問題は、突き詰めると 2 本の別々のファイルの問題です。前面カメラのクリップと背面カメラのクリップが、それぞれ別の端末や別のキャプチャ経路で、それぞれ自分の時計に沿って録られています。この 2 つの時計にわずかな差があるだけで、長回しになるほどそれが積み重なっていきます。本物のマルチカメラ制作がカチンコや共有タイムコード、同期用のトーン音に頼るのは、編集者に「この瞬間なら 2 つの素材が確実に一致している」と言える基準点を渡すためです。
リアルタイムで合成するデュアルカメラアプリは、そもそもこの状況に入り込みません。前後の映像は届いた瞬間に GPU 上で 1 枚のフレームへ描き込まれ、そのフレーム——そして同じ瞬間にマイクが拾っている音——が、1 つのキャプチャセッション、1 つの時計のもとでそのままファイルに書き込まれます。ズレていく相手になるような別の素材のタイムスタンプはどこにも存在しません。合成された録画は、その撮影全体を通じてただ 1 本の映像トラックと 1 本の音声トラックしか生み出さないからです。
実際のズレはどこから生まれるか
送信時の再エンコード
メッセージアプリや SNS、ほとんどの共有ツールは、送信前に動画を再エンコードし、画質や場合によっては正確なフレームのタイミングと引き換えに、より小さく速く送れるファイルにします。通常の再エンコードは同期を壊しませんが、それが途中で中断された場合——アップロードが不安定だった、処理の途中でアプリが落ちた、共有がタイムアウトして再試行した——は、2 本のトラックのタイムスタンプがわずかにずれた状態で残ることがあります。これが現実にいちばん多い原因で、録画そのものではなく、録画のあとに起きています。
編集ソフトでフレームレートを間違えて書き出す
クリップを編集ソフトに入れ、元素材と合っていないフレームレートでプロジェクトを書き出すのは、もともと問題のなかったファイルにズレを持ち込む典型的な操作です。音声トラックは通常どおりの速度で再生される一方、映像トラックは別の毎秒フレーム数に合わせてこっそり引き伸ばされたり圧縮されたりし、その差はクリップが長くなるほど広がっていきます。書き出す前にプロジェクトのフレームレートを元素材に合わせておけば、これは起こりません。
遅延は見ている側から来ていて、ファイルの問題ではない場合
再生経路によっては、ファイルにはまったく手を触れないまま、音声側だけにわずかな遅延を足すことがあります。よくあるのは Bluetooth スピーカーやテレビ側の音声処理です。この場合、動画の最初から最後まで、ずれ幅がほぼ一定のまま変わりません。時間とともに広がっていくのではなく一定の場合は、ファイル自体は問題なく、遅延が再生側から来ているという見分け方になります。
どちらのケースか見分ける方法
元の録画が実際に置かれている場所——DualCam 自体のライブラリ、あるいは「写真」にそのまま保存されたコピー——を開いて、クリップの冒頭付近ともう少し先、1 分ほど経ったあたりの両方を確認してください。そこでずれていなければ、元のファイルには問題がなく、比較に使ったコピーを送信・編集・再生した経路のどこかでズレが生まれたことになります。逆に、録画したその端末で元のファイルを見ているときにズレがどんどん広がっていくなら、話は別です。長回しの高負荷時には、固定された秒間 30 フレームの上限のもとでカクつきが起きることがあり、それは音声の問題としてではなく、別のガイドで扱う価値のある話です。
DualCam が書き出すファイルは、まさにここまで説明してきた構造のとおりです。合成済みの映像トラックが 1 本、モノラルの音声トラックが 1 本、一緒に作られ、録画を止めた瞬間に一緒に確定されます。あとから何かを合わせ直す必要はありません。最初から分かれていなかったからです。
よくある追加の疑問
デュアルカメラ録画そのもので音声と映像がずれることはありますか。
別々の 2 台のカメラ素材のようにはずれません。1 本のファイルの中に映像トラックと音声トラックをそれぞれ 1 本ずつ持ち、録画を止めた瞬間に両方が一緒に確定されるため、ズレていく相手になるような別の素材の時計は存在しません。ズレを感じたら、まず元のファイルを確認してください。見ているコピーが、そのあとで再エンコードや編集を経ている可能性が高いです。
自分の iPhone で見たときは合っていたのに、友人に送り返してもらったらずれていました。なぜですか。
途中のどこかで再エンコードされたためです。多くのメッセージアプリや SNS は送信前に動画を圧縮し、それが中断されたり通常と違う形で行われたりすると、片方のトラックがもう片方に対してずれることがあります。信頼できるのは、アプリから直接出てきた、自分の iPhone にあるコピーです。
外部マイクを使うと、このズレが起きやすくなりますか。
いいえ。どのマイクで録っていても、拾った音は同じ 1 本の音声トラックとして、映像と同じファイル、同じ時計のもとに書き込まれます。同期を左右するのは録画後にそのファイルに何が起きたかであって、どのマイクが音を拾ったかではありません。
編集ソフトで書き出し直したらズレるようになりました。何が起きたのですか。
ほぼ間違いなく、書き出し設定のフレームレートが元素材と合っていません。書き出す前にプロジェクトのフレームレートを元のクリップに合わせれば、ズレはなくなります。
とにかく撮ってみたいなら
DualCam は iPhone の前面・背面カメラを同時に動かし、撮りながら 1 本の MP4 に合成します。無料、アカウント不要、広告なし、映像は端末の外に出ません。