我做了一个非常长的截屏录像recordmydesktop
(将近两个小时)。
录制结束后,像往常一样recordmydesktop
开始对录制的所有原始数据进行编码以生成out.ogv
视频文件。
但是,现在无法完全创建该文件。编码过程正常启动,out.ogv
创建并开始增长,但停止在 1 209 585 664 字节(视频长度为 8 分 11 秒)。recordmydesktop
什么都没说,它看起来只是继续渲染,但什么也没发生。过了一会儿,我的电脑就死机了,我猜是 RAM 和 SWAP 满了。视频仍然有 8 分 11 秒。
我担心我会失去所有的工作,但我在目录recordmydesktop
中找到了隐藏的原始文件/tmp/rmMD-session-4625/
。这个文件夹有 50GB,所以我的截屏视频肯定在那里。我搜索了文档并找到了--rescue
允许重新启动编码过程的选项。我再次启动它并让它保持整个晚上,今天早上,这个过程停止了,新的视频文件仍然与第一次尝试完全相同,在 8 分 11 秒处停止。
终端的输出:
recordmydesktop --rescue /tmp/rMD-session-4625/
Restoring /tmp/rMD-session-4625/!!!
STATE:ENCODING
Encoding started!
This may take several minutes.
Pressing Ctrl-C will cancel the procedure (resuming will not be possible, but
any portion of the video, which is already encoded won't be deleted).
Please wait...
Output file: out-4.ogv
[0%] Processus arrêté0]
specs.txt
以下是文件夹中文件的内容rMD-session-4625
:
recordMyDesktop = 0.3.8.1
Width = 1920
Height = 1072
Filename = out.ogv
FPS = 15.000000
NoSound = 0
Frequency = 22050
Channels = 1
BufferSize = 4096
SoundFrameSize = 2
PeriodSize = 1365
UsedJack = 0
v_bitrate = 0
v_quality = 63
s_quality = 10
ZeroCompression = 1
我知道recordmydesktop
这是一个相当古老的程序。输出文件大小有限制吗?如果有,它不能生成几个小文件然后我可以将它们连接起来吗?我备份了文件夹的内容以确保不会丢失我的原始文件/tmp/
,但我不知道该怎么做。我不能失去那份工作!
编辑:好吧,我尝试了大方法:我创建了一个 65GB 的交换文件。使用我的 16GB RAM,这为 RecordMyDesktop 提供了 80GB 来编码视频。我也有同样的表现,文件在 1.2GB 时停止增长。我让 RMD 继续运行,它在 4 天内使用了 100% 的一个 CPU 核心,完全填满了可用的 80GB RAM,而结果没有任何变化。我以为,由于原始文件是 50GB,一旦它将其放入 RAM 中,它就会做些什么,但没有。
该程序的源代码可用,但我对 C 语言不太熟悉。我联系了开发人员,但没有得到任何答复。原始文件是非 YUV420,但我无法使用 ffmpeg 转换它们。请帮忙!