1、查看本机支持的音视频输入设备
在录制前,需要确认本机的可用录制设备。输入如下命令即可查看。
ffmpeg -f avfoundation -list_devices true -i ""
命令解析
-f avfoundation
: 指定使用 avfoundation 输入设备。
-list_devices true
: 列出可用设备。
-i ""
: 输入参数为空字符串,表示列出设备而不是开始录制。
2、视频录制
视频录制可以指定帧率,录制设备,分辨率大小和输出名称。以录制 mp4
和 yuv
文件为例。
#录制MP4格式
ffmpeg -f avfoundation -i 1 -r 30 -video_size 1280x720 output.mp4
#录制yuv格式
ffmpeg -f avfoundation -i 1 -r 30 out.yuv
命令解析
-f avfoundation
: 指定使用 avfoundation 输入设备(macOS 专用)。-framerate 30
: 设置录制帧率为每秒 30 帧。-video_size 1280x720
: 设置录制的视频分辨率为 1280x720。-i "1"
: 使用设备索引为 1 的输入设备。output.mp4
: 输出文件名。out.yuv
: 输出文件名。
播放
播放可以直接使用 ffplay
加上视频文件,直接播放。如果录制的是原始的 yuv
文件,则需要指定播放的视频大小和像素格式uyvy422
格式或其他。
ffplay -video_size 3584x2240 -pixel_format uyvy422 out.yuv
命令解析
ffplay
: 调用 FFmpeg 的播放器。-video_size 3584x2240
: 指定视频的分辨率为 3584x2240。-pixel_format uyvy422
: 指定视频的像素格式为uyvy422
。out.yuv
: 要播放的原始 YUV 视频文件。
以上录制的只有视频,没有音频。
3、录制音频
录制音频前,同样我们需要确认设备支持的音频输入。
ffmpeg -f avfoundation -i :1 out.wav
播放
ffplay out.wav
4、同时录制音频和视频
同时录制音频和视频需要指定输入设备即可。其余参数可选。
ffmpeg -f avfoundation -i 1:1 -r 30 -video_size 1280x720 output.mp4
播放
ffplay output.mp4
以上既是简单的 FFmpeg的音视频的录制和播放。