gpt4 book ai didi

macos - 如何使用 ffmpeg 在 Mac 上捕获定时屏幕录制

转载 作者:行者123 更新时间:2023-12-04 14:40:57 28 4
gpt4 key购买 nike

我在安装了 MacOS Sierra 的 Mac 上。我已经用自制软件安装了ffmpeg。我通过以下方式列出我的设备:

ffmpeg -f avfoundation -list_devices true -i ""

返回:
[AVFoundation input device @ 0x7fc2de40e840] AVFoundation video devices:
[AVFoundation input device @ 0x7fc2de40e840] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7fc2de40e840] [1] Capture screen 0
[AVFoundation input device @ 0x7fc2de40e840] AVFoundation audio devices:
[AVFoundation input device @ 0x7fc2de40e840] [0] Built-in Microphone

我不需要音频,所以我通过以下方式开始我的 5 秒屏幕录制:
ffmpeg -f avfoundation -t '5' -i '1' test.mov

它在工作目录中创建一个 mov 文件,但 5 秒后不会停止。事实上,我什至无法通过按“q”来停止录制。 Ctl-C 也不起作用,我只能通过事件监视器强制退出。我尝试过同样的命令,但使用的是设备 0(FaceTime 摄像头),它在 5 秒后停止。

如果有人能解开这个谜语,我的下一个问题是如何在 QuickTime 中观看新创建的文件(我想我需要编码或解码之类的东西),因为即使 FaceTime 视频文件也无法在 QuickTime 中打开。它只是说“无法打开文档”。但是,它确实可以使用 VLC 打开。

更新:我已经在较旧的操作系统(优胜美地)上尝试过这个并得到了相同的结果(认为可能是新操作系统破坏了它)。

最佳答案

我想大多数时候我们会忽略程序警告,但不是这个。

如果录制屏幕没有其他选项,例如:

ffmpeg -f avfoundation -i "1" out.mov

您可能会看到一些警告:
[mov @ 0x7f7fcf19da00] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
No pixel format specified, yuv422p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
......
[mov @ 0x7f7fcf19da00] WARNING codec timebase is very high. If duration is too long,
file may not be playable by quicktime. Specify a shorter timebase
or choose different container.

而且输出视频流fps会是1000k,不合理。

所以我设置了 fps 选项。我还将像素格式设置为 yuv420p , 否则默认 yuv422p quicktime 无法播放色彩空间:
ffmpeg -f avfoundation -i "1" -pix_fmt yuv420p -r 25 -t 5 out.mov

我正在使用带有 MacOS sierra 的 2013 年中期 MBP,还 brew 安装了 ffmpeg 3.1.1。

关于macos - 如何使用 ffmpeg 在 Mac 上捕获定时屏幕录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39733635/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com