目录
一、调整视频输出的纵横比
调整输出视频的纵横比,在日常开发中属于比较基本的需求。要使用 Manimgl 得到期望的分辨率的视频输出需要修改以下几个地方:
第一步:在 custom_config.yml 配置文件中通过 camera_qualities 设置视频的输出分辨率。manimlib 框架已经在 default_config.yml 文件中设置了四种视频输出分辨率,default_qualities 参数默认配置的是 high,即 1920x1080。我们可以在项目目录下创建 custom_config.yml 文件,并增加以下配置,配置自定义分辨率。
camera_qualities:
phone:
resolution: "1080x1920"
frame_rate: 30
default_quality: "phone"
以上配置,将视频输出分辨率改为 1080x1920。需要注意,若仅修改这里,将导致输出视频变形或被错误裁剪,原因是 Manimgl 并没有按照 9:16 计算场景中 Mobject 的尺寸和位置,仅仅将视频渲染改为了 1080x1920,因此还需要修改宽高比。
第二步:修改 manimlib 安装目录下 constants.py 文件中的常量值。首先是 ASPECT_RATIO,这个值要与视频的分辨率纵横比保持一致,即 1080 / 1920,因此这里改为 9.0 / 16.0,Manimgl 将使用这个比例计算帧的宽度 FRAME_WIDTH 和定位向量