3.3.1 【入门】Stitcher的视频拼接

  1. 认识拍照文件的格式和存储形式

    image

    • 视频被存储为MP4格式,H.264编码。

    • 每一次拍摄会创建一个文件夹,包含所有的描述文件(gyro.bat和pro.prj)以及视频文件。当相机开启了陀螺仪才会生成gyro.bat文件。

    • origin_*.mp4的序列是每个独立镜头拍摄的原文件,用于后期的拼接。分辨率为3840x2160可以拼接最高8K的全景视频,分辨率为2560x1440可以拼接4K全景视频,分辨率3200x2400可以拼接最高6K3D视频,和最高6K全景视频。

    • preview.mp4是一个帧率为1fps的1920x960的预览文件,可以用作后期时间线参考。

    • 机身内录的音频文件,经过了算法降噪, origin_0.mp4和origin_1.mp4中分别存储了2个声道的音频,最终可以通过Stitcher拼接导出全景声。

    • 如果进行了实时拼接,那么音频和视频将都合并在pano.mp4文件里。

  2. Stitcher界面介绍

    image

    • 顶部为菜单栏,分别为,文件-设置-语言-帮助,提供了文件导入,上传至谷歌街景,显示log,偏好设置(硬软解码),硬件性能测试,语言设置,固件更新,上传日志等。

    • 左边是文件列表,可以直接拖拽文件夹到此处导入文件。相机拼接(stichingbox)指的是使用Pro机身本身的性能进行拼接,操作方式详见3.3.4

    • 左下方为Pro的官方论坛,可以查看最新的软件信息,教程,以及技术交流,反馈给insta360公司最新的建议和意见。

    • 中间为实时监看窗口,可以播放任意一个镜头的文件。

    • 下方为任务状态栏,可以看到正在进行拼接的进程,和查看已经完成的任务。

    • 右上方是拼接设置区域,可以设置拼接内容类型(2D全景和3D全景),拼接模式(光流算法和模板拼接),采样类型与融合方式一般默认设置即可。默认圆心位置用于优化顶部拼接和暗光条件下的拼接。

  3. 硬件性能测试

    由于视频拼接需要消耗大量电脑资源,使用Stitcher进行拼接之前,建议先进行测速,在设置中打开硬件性能测试,测速需要一定时间。
    image

    image

    测试结束后,会提供电脑参考的性能结果。
    image

  4. 拼接步骤

    导入一个视频文件夹。
    image

    选择需要的内容类型,包括2D全景,3D全景(左眼在上),3D全景(右眼在上)
    image

    拼接模式可以选择新光流算法拼接和光流算法拼接,根据当前画面计算新的模板。

    光流算法:基础的光流算法,拼接速度一般。

    新光流算法:在原有的基础光流算法之上提升了接近3倍的拼接速度,但少部分场景的拼接效果可能不如基础的光流算法,建议使用此算法拼接的效果特别不满意时,可以尝试基础的光流算法对比一下效果。

    根据当前画面计算新模板:速度最快,但由于不是光流拼接,在有远近视差和近距离情况下效果有限。
    image

    采样类型,如果相机是静止的,则三种采样类型差别不大,如果相机在运动状态,则采样更慢的速度采样可以获得更好的画质,这在视频的拼接中常用。
    image

    融合方式,一般让电脑自动选择。CUDA:电脑使用了英伟达显卡的话,就能选择英伟达的 CUDA 技术来进行硬件加速;OpenCL:电脑使用非英伟达的显卡,我们还提供了 OpenCL 实现的硬件加速;CPU:非硬件加速,纯 CPU 计算。
    image

    使用默认圆心位置选项对于一些顶部有遮挡物的场景,暗光下的场景,有改善拼接的作用。

    导出2D的全景图片,陀螺仪水平矫正可以使画面自动水平,但3D视频的拼接不支持陀螺仪水平校正。根据导出视频的分辨率和电脑性能,选择硬件解码和硬件编码。导出视频分辨率高于4k *4K 或者在MAC上使用H265编码方式时,不支持硬件解码。
    image

    软件编码速度就是选择越快的编码速度,拼接的越快,但画质细节可能有所损失。

    比如一些静态的场景,快速的编码速度也能得到不错的画质,但运动的场景用快速的编码速度,画面细节可能会出现一些马赛克了。这个需要用户根据内容场景、对拼接质量的需求以及对拼接速度的要求,综合考虑做出选择。

    注意,如果选了 Cuda或者OpenCL硬件加速,就没有软件编码速度这个选项了。因为这时候用的硬编。
    image

    在视频拼接中设置参考帧尤其重要,参考帧指的是软件在拼接过程中以某一帧的画面计算拼接参数,应用在整个拼接过程中。因此选取参考帧要选择需要输出的时间区间中的某一帧,该帧要处在物体运动的重要时刻,例如人物距离最近的时刻,或以所占比例较高的场景中设置其中一帧为关键帧,例如风景拍摄。
    image

    预览拼接效果中,可以改变参考帧,可以调节画面水平,中心视角,进行简单的调色。顶部优化功能能够针对顶部有规则线条的场景进行优化,如天花板空调排风口。注意,3D视频的拼接中,没有调节画面水平和中心视角的功能。
    image

    选取需要导出的时间段,一般来为了节省时间和电脑资源,导出有效的片段更方便后期剪辑。
    image

    分辨率除了预设的分辨率外还可以自定义。
    image

    image

    Stitcher支持H264和H265的编码,H265编码虽然有更好的画质和更低的存储空间,但很多VR播放器和剪辑软件的支持情况较差,尤其是在进行剪辑的时候,H265编码对硬件要求很高。
    image

    渲染配置是H264编码时可选的一个配置参数。baseline,main,high三个标准的压缩率越来越高,对播放器的解码性能要求也越高。
    image

    一般来说,Stither根据分辨率设置,自动匹配的预设的码率,4K 2D全景推荐60Mbps,4K3D全景推荐120Mbps。
    image

    音频类型,如果选择全景声,则视频中会带有4个声音轨道,如果选择普通音频则只有立体声轨道。
    image

    也可以选择单独导出音频文件。
    image

    输出路径和输出名称可以进行设置。设置完成后可以添加到待处理列表,或者立即拼接。
    image

    拼接任务栏中可以查看拼接进度,全景视频拼接过程中,还可以终止拼接,软件会自动保存已经拼接好的部分。
    image