ffmpeg -f avfoundation -list_devices true -i ''
复制代码
AVFoundation video devices:
[0] FaceTime HD Camera
[1] Capture screen 0
[2] Capture screen 1
AVFoundation audio devices:
[0] Built-in Microphone
复制代码
ffmpeg -h demuxer=avfoundation
复制代码
AVFoundation indev AVOptions:
-list_devices <boolean> .D........ list available devices (default false) -pixel_format <pix_fmt> .D........ set pixel format (default yuv420p) -framerate <video_rate> .D........ set frame rate (default "ntsc") -video_size <image_size> .D........ set video size 复制代码
# 使用0号视频设备
ffmpeg -f avfoundation -video_size 1280x720 -i 0 out.yuv
复制代码
Selected framerate (29.970030) is not supported by the device 复制代码
ffmpeg -f avfoundation -video_size 1280x720 -framerate 30 -i 0 out.yuv
复制代码
而后你会看到如下提示信息。markdown
Selected pixel format (yuv420p) is not supported by the input device.
Supported pixel formats:
uyvy422
yuyv422
nv12
0rgb
bgr0
Overriding selected pixel format to use uyvy422 instead.
复制代码
与此同时,也成功开始采集摄像头的视频数据了。ide
Input #0, avfoundation, from '0':
Stream #0:0: Video: rawvideo, uyvy422, 1280x720
Output #0, rawvideo, to 'out.yuv':
Stream #0:0: Video: rawvideo, uyvy422, 1280x720, 30 fps
复制代码
ffplay -video_size 1280x720 -pixel_format uyvy422 -framerate 30 out.yuv
复制代码