为什么录制中能换版式,却不能换分辨率
双摄 App 里,版式、画中画的角落与大小、还有滤镜,都能在录制过程中随时改,成片会立刻跟着变。分辨率、有没有音轨、倒计时却不行——它们在你按下录制的那一刻就固定了,直到这段录完之前,App 里没有任何控件能再碰它们。乍一看像是不一致的设计,但只要发现这两组根本不是同一类设置,就说得通了。
一组决定的是「往一张尺寸已经定死的画布上画什么」;另一组决定的正是这张画布本身的尺寸和结构。这两件事里,只有前者能在中途改主意。
一帧是当场画出来的,一个文件却只搭一次架子
一个视频文件并不是「一整条连续的东西」,它是一个容器,结构在开始写入的那一刻就定死了:视频轨有多少像素宽、多少像素高,旁边有没有音轨,音轨的采样率是多少。这套结构只在写入器打开的那一刻定一次,视频编码的工作方式决定了它没法在文件写到一半时重新协商——想要不同的结构,唯一的办法是把当前文件收尾,另开一个新的。
而画出单独一帧,是完全不同的另一件事,不管你有没有动任何设置,它每一帧都会重新发生。每一帧,App 都要决定哪些像素画在哪里,再把结果交给编码器——这份工作每秒要从头做几十遍,跟上一帧长什么样毫无关系。双摄录像正好卡在这两件事的分界线上:要往里画的画布尺寸,属于文件固定下来的那部分结构;但往这块画布上具体画什么,是一个渲染层面的决定,本来每一帧都要重新做一次,不管你有没有换版式。
分辨率、静音、倒计时为什么一开录就锁
分辨率决定的是正在写入的视频轨到底有多少像素宽高。在双摄会话里,它还决定了前后两路输入加起来能不能装进多摄硬件预算里——调大分辨率不是换个数字这么简单,有可能把整个会话推到硬件撑不住的地步。要是在录制中途改分辨率,等于让正在跑的采集会话重新配置,还可能中途发现新设置根本跑不起来,这正是一段正在录的素材最经不起的风险。
静音决定的是这个文件里到底有没有音轨。静音打开时,音轨压根就不会被创建——不存在一条「先静音、之后再取消」的备用音轨,因为静音不是一个音量旋钮,而是在写第一帧之前就要做好的、关于文件结构的决定。已经写到一半的文件没法再往里加一条轨,就像做表格做到一半,没法突然决定第一行应该多几列。
倒计时又是另一种情况:它其实根本不描述文件本身,它描述的是「录制从哪一刻开始」这件事。这一刻一旦过去,「改倒计时」这个请求就没有对象可以作用了。
版式、小窗、滤镜为什么随时能改
版式、画中画的角落与大小、它的形状、还有滤镜,都碰不到视频轨的尺寸,也碰不到有没有音轨这件事。它们只决定往一张分辨率早就定好尺寸的画布里合成什么内容。分屏画面和画中画画面走到编码器之前的路径完全一样——在固定尺寸的画布上渲染一帧,交出去——唯一的差别只是 GPU 把哪些像素画在了哪里。
这也是为什么录制中途切版式不会造成跳帧、黑屏一闪或者掉帧。录下来的那一帧和你在预览里看到的,本来就是同一张渲染出来的画面,而且不管你动不动设置,每一帧本来就要从头重画一次——手机稍微晃了一下、光线变了一点,场景本来就不会跟上一帧一模一样。换版式只是改变了这次「反正要重画」的结果长什么样,从下一帧开始生效。
拍摄时该怎么用这个规律
这些请在按下录制前定好
分辨率、静音、倒计时一旦开录就没法再改,所以先定下来。如果拿不准要 720p 还是 1080p,记住 1080p 负载更重,部分机型持续发热后会被降档——拿不准、又要拍长镜头的话,720p 是更稳妥的默认选项。如果有可能需要静音,就在开录前打开静音开关,App 里没有办法在录完之后再把音轨抽掉。
这些尽管在录制中放心试
版式、画中画所在的角落、大小与形状、滤镜,以及哪一路是主画面,录制中随便改多少次都不会有代价,也不会给文件带来风险。拿不准该用画中画还是分屏,最诚实的做法就是先选一个试试,不合适就换——这是一个真正没有成本的决定,不用纠结。
延伸问题
录制中从画中画切到分屏,画面会跳一下或者卡一下吗?
不会。录下来的那一帧和预览本来就是同一张渲染结果,而且不管用哪种版式,每一帧本来就是重新画的。切换版式只是改变了下一帧画出来的样子,中间没有另外一个「转场」步骤会卡顿或掉帧。
能不能录到一半从 720p 切到 1080p?
不能。分辨率决定的是正在写入的视频轨尺寸,一开录就定死了。要用别的分辨率,得先停止这段录制,再用想要的设置重新开始一段新的。
一段录像里能换多少次版式,有限制吗?
没有实质限制。不管当前是哪种版式,每一帧都要重新合成一次,所以反复切换不会比正常渲染每一帧多花什么额外代价。