起因

我的电脑内存比较低,而我录制的视频又很长,这导致视频体积到达了1.7GB,在Shotcut剪辑时内存很容易就满了,所以我得剪几分钟在重启一下Shotcut,不如就会因为内存满了而导致电脑卡死。(这给了我一个教训:视频不能录太长)

我花了很长的时间进行剪辑,本来以为剪辑完成后就万事大吉了,然后发现在输出视频时又遇到了一个问题:内存不足!!!

每次输出到6%时内存就已经爆满了,但是这玩意又不能分段输出,所以视频就无法输出,真的很令人苦恼的。

在我观察资源管理器时发现,在输出时会启动一个名叫melt的程序,而它占用了大量的cpu资源,却不怎么占用内存,占用内存的是Shotcut主程序。

关于MLT

我去搜索了一下这玩意,发现它是一个多媒体框架,Shotcut就是基于它做的,可以去github上详细了解。

我在终端发现了melt命令,我想这玩意应该可以直接渲染视频而不用在Shotcut内渲染,简单研究了一下它的用法后发现确实可以。这就意味着不需要打开Shotcut就可以渲染视频,从而避免内存爆满。

使用方法

用MLT渲染视频很简单,在终端执行如下命令即可:

1
melt your_project_file.mlt -consumer avformat:output.mp4

这里把your_project_file.mlt换成你的Shotcut工程文件即可。