【发布时间】:2022-04-04 15:00:35
【问题描述】:
正如我在标题中所说,我需要通过电子应用记录我的屏幕。
我的需求是:
- 高质量(720p 或 1080p)
- 最小尺寸
- 录制音频 + 屏幕 + 麦克风
- 录制时对 PC 硬件的影响很小
- 录音机停止后无需等待
最小大小是指 720p 大约 400MB 和 1080p 大约 700MB 用于 3 到 4 小时的录制。我们已经可以通过 bandicam 和 obs 实现这一点,而且是可能的
我已经试过了:
- 使用 RecordRTC.Js 的简单 MediaStreamRecorder API;生成巨大的文件大小,例如 720p 视频每小时 1GB。
- 使用 FFmpeg 压缩输出视频; 3 小时的录制最长可能需要 1 小时
- 使用“ondataavailable”事件保存每个块,然后运行 FFmpeg 并转换和减小大小并附加所有压缩文件(也由 FFmpeg);有两个问题。 1,由于 PTS 不同,但可以通过调整 compress 命令 args 来修复。 2,主要问题是音频数据头仅在第一个块中可用,这种方法会导致视频在前几秒内只有音频
- 使用 FFmpeg 本身录制视频;最终用户需要手动更改一些东西(立体声混音),配置太复杂,它会导致整个 PC 在录制时工作更慢(比如 fps 下降;即使我将 -threads 设置为 1),在某些情况下之后录制完成需要多次收尾
- 通过互联网搜索找到可以从命令行使用的应用程序;我找不到太多,像 bandicam 和 obs 等著名的应用程序都有命令行参数,但没有多少参数可以玩,我无法设置很多选项,这会导致其他问题
我不知道我还能做什么,请告诉我你是否知道可以通过 CLI 使用的方法或简单工具来实现这一目标并指导我完成这一目标
【问题讨论】:
-
您找到解决方案了吗?
-
@Drown 我发布了我所做的事情
标签: node.js ffmpeg electron screen-recording