DualCam

为什么双摄视频快速移动时会变形、发抖?

快速摇镜或者画面里有东西快速移动时出现的那种歪斜、发抖,有个名字——卷帘快门形变,也叫「果冻效应」——它来自摄像头传感器读取一帧画面的方式,跟同时录两路摄像头没有直接关系。单摄像头拍视频一样会有这个现象;双摄录制不会制造它,但确实可能让它更容易被注意到,这一点值得先搞清楚,而不是先怀疑是 App 或手机出了问题。

搞清楚形变到底从哪来,也就知道什么能解决它、什么解决不了:没有哪个分辨率档位能去掉它,因为这不是清晰度的问题,是时间上的问题。

几乎所有手机摄像头都会这样

大多数手机摄像头传感器不是一瞬间拍下整帧画面的,而是从上到下逐行读取,这个过程要花几毫秒——这叫卷帘快门,跟能同时读取所有像素的全局快门是两回事,后者通常只出现在专业摄影设备上。画面里的东西不动的话,这个时间差看不出来;一旦有东西在读取的这几毫秒里相对画面动得够快——快速摇镜、转动的扇叶、贴近镜头挥动的手——画面上方和下方实际上看到的已经是略微不同的两个瞬间,一条本该垂直的线就会拍成斜的,快速移动的物体也可能显得被拉伸或弯曲。

这是传感器和快门类型本身的特性,几乎所有会拍视频的手机摄像头都有,不是哪个相机 App 决定加上或者去掉的功能。无人机画面里常说的「果冻效应」,或者随手一个快速甩镜头拍出来的效果,说的都是同一件事。

两颗摄像头,各自独立读取

双摄录制里,前后摄像头在被合成进同一帧之前,走的是两条完全独立的采集链路——没有什么东西会去协调它们,就像曝光和对焦一样,谁也不管谁。每颗传感器都按自己的节奏做卷帘快门读取,拍的是它自己正对着的画面。

这意味着后摄那一下快速摇镜,和同一瞬间前摄正在做的事情,是两次互不相关的读取。如果你摇动后摄扫过一个房间,而你的脸在画面里基本没动,那就只有后摄那一路会出现形变——前摄自己的读取过程根本没快到会看出异常。这不是哪颗摄像头出了故障,只是两颗传感器各自独立地做着卷帘快门本来就会做的事。

两路画面挤在同一帧里,形变更容易被看出来

单摄像头拍一个快速甩镜头,画面里没有别的东西可以拿来对比,观众多半会把那种歪斜当成「动得快」,而不是「变形了」。把同样的甩镜头放进分屏,紧挨着一路稳定的画面同时出现在同一帧里,形变旁边就多了一个平静的参照——正是这种对比,才让它读起来像「变形」,而不只是「快」。

画中画小窗不是解决了这个问题,只是换了一种方式呈现它。小窗本来就是原始画面裁切、缩小后的一小块,同样大小的形变占掉的小窗比例,比它占满整帧画面时要大得多——放在整帧里只会当作正常手持抖动看过去的晃动,压缩进角落的小窗里可能就显得更乱了。

真正能减轻它的做法

在 720p 和 1080p 之间切换不会改变这些——分辨率决定的是每一帧能拍下多少细节,不是传感器读一行画面要花多久,所以不管选哪个档位,形变的程度都差不多。

摇镜慢一点,别图快

形变的大小取决于传感器读取这段时间里画面内容动得有多快,不取决于你最终摇了多远。同样的距离,慢慢地、有意识地摇过去,形变会比猛地甩一下小得多,哪怕两种拍法最后对准的是同一个地方。如果镜头需要跟拍快速移动的东西——路过的车、跑过去的狗——按它自己的速度平顺地跟着走,比猛地把手机甩过去追上它,形变要小。

真正在动的那一路,尽量固定住

手持本身带来的晃动,会叠加在被摄对象已经在做的运动上面,而双摄录制能用来吸收这种晃动的稳定模式又比单摄像头少,两个问题叠在一起就更明显。用支架、找个结实的地方撑住手,或者干脆用一个平顺的大弧度移动代替好几次小幅度的手忙脚乱,都能让读取到的画面更接近拍摄对象本来没怎么动时的样子。

延伸问题

这是 DualCam 的问题,还是手机本身有问题?

都不是。卷帘快门形变来自几乎所有手机摄像头逐行读取一帧画面的方式,单摄像头拍视频只要摇镜够快,一样会出现——同时录两路摄像头不会制造这个现象,只是多给了你一路画面,让你更容易注意到它。

换成 720p 能解决变形的问题吗?

不能。分辨率控制的是每一帧能拍下多少细节,不是传感器读取一行画面要花多久,所以不管是 720p 还是 1080p,形变看起来都差不多。

为什么只有一路画面看起来变形,另一路没事?

前后摄像头走的是两条各自独立的采集链路,各自有自己的传感器读取过程,所以哪一路在那一瞬间动得快,就是哪一路会出现形变。稳定的一路和正在摇动的一路同时出现在同一帧里,才让这个差别变得明显。

想直接开录?

DualCam 让 iPhone 前后摄像头同时工作,边拍边合成为一个 MP4。免费、无需注册、无广告,素材不出手机。

前往 App Store 下载