Di Balik Layar

Bagaimana Perekaman MultiCam Sebenarnya Bekerja di iPhone

Diperbarui 28 Juli 2026 ยท 6 menit baca

Merekam dari dua kamera iPhone sekaligus terdengar seperti seharusnya sederhana โ€” ponsel sudah memiliki beberapa lensa di bagian belakang. Dalam praktiknya, menjalankan dua aliran kamera secara bersamaan dan mengubahnya menjadi dua file video yang bersih dan tersinkron melibatkan cukup banyak koordinasi. Berikut apa yang sebenarnya terjadi.

Dimulai dengan satu sesi kamera bersama

Framework kamera milik Apple, AVFoundation, biasanya mengasumsikan satu aplikasi menggunakan satu kamera pada satu waktu. Sejak iOS 13, jenis sesi khusus โ€” AVCaptureMultiCamSession โ€” memungkinkan sebuah aplikasi menambahkan lebih dari satu input kamera ke satu sesi, sehingga keduanya bisa berjalan bersamaan alih-alih saling memblokir.

Setiap kamera mendapat pipeline output-nya sendiri

Setelah dua kamera terhubung ke sesi tersebut, masing-masing membutuhkan output-nya sendiri: aliran data video sendiri, di-decode frame demi frame, pada antrean pemrosesan sendiri. Menjalankan keduanya pada antrean yang sama akan menciptakan bottleneck, jadi aplikasi multi-cam yang dibangun dengan baik memproses frame dari kamera utama dan frame dari kamera ultra lebar pada dispatch queue terpisah, secara paralel.

Merekam berarti menulis dua file, frame demi frame, secara tersinkron

Merekam video bukan sekadar "simpan apa yang dilihat kamera" โ€” setiap frame harus di-encode dan ditulis ke file saat tiba, secara real-time, cukup cepat untuk mengikuti feed langsung. Dengan dua kamera, itu berarti menjalankan dua encoder independen dan dua file output independen sekaligus, masing-masing diisi oleh frame dari kameranya sendiri.

Bagian yang sulit adalah menjaga keduanya tetap sinkron. Setiap frame membawa timestamp yang presisi, dan sesi perekaman kedua file dimulai dari waktu referensi bersama sehingga frame ke-N di file vertikal dan frame ke-N di file horizontal mewakili momen yang sama. Jika Anda menjeda dan melanjutkan di tengah rekaman, durasi jeda harus dikurangi secara setara dari setiap timestamp berikutnya di kedua file โ€” kalau tidak, kedua video akan bergeser tidak sinkron begitu Anda melanjutkan.

Mode satu lensa melakukan tugas yang sama dengan satu kamera

Saat hanya satu kamera fisik yang digunakan, "file kedua" dihasilkan dengan memotong sebuah area dari setiap frame kamera pertama, secara real-time, sebelum diserahkan ke encoder terpisahnya sendiri. Ini harus terjadi cukup cepat untuk mengikuti video langsung โ€” biasanya 24 hingga 60 kali per detik โ€” sehingga cropping yang efisien (menggunakan ulang buffer memori alih-alih mengalokasikan yang baru untuk setiap frame) penting untuk menjaga ponsel agar tidak overheat atau melewatkan frame selama rekaman panjang.

Foto bekerja berbeda dari video

Menangkap foto diam dalam mode dua lensa biasanya berarti memicu penangkapan foto sesungguhnya pada satu kamera (untuk resolusi dan kualitas penuh) sambil mengambil frame video langsung terbaru dari kamera lain untuk digunakan sebagai gambar diamnya โ€” karena menembakkan dua penangkapan foto penuh sekaligus bukanlah cara kerja perangkat keras kamera dirancang. Itu juga sebabnya "mode foto" pada aplikasi dua kamera hanya memainkan satu suara shutter meskipun dua gambar dihasilkan darinya.

DualFrame menangani sinkronisasi ini secara otomatis โ€” dua lensa atau satu lensa, kedua file tetap sinkron melalui jeda, lanjutan, dan berhenti.

Lihat DualFrame

Kenapa ini hanya bekerja di perangkat keras tertentu

Menjalankan dua encoder sekaligus, secara real-time, pada 4K, sungguh menuntut โ€” itulah kenapa Apple membatasi API MultiCam hanya untuk perangkat dengan kapasitas pemrosesan gambar khusus yang cukup. Lihat panduan kami tentang iPhone mana saja yang mendukung perekaman multi-cam untuk detailnya, atau halaman DualFrame untuk iPhone untuk melihat bagaimana ini diterapkan.