在使用 FFmpeg 作为编码器时,可以使用FFmpeg采集本地的音视频采集设备的数据,然后进行编码、封装、传输等操作。
例如,我们可以采集摄像头的图像作为视频,采集麦克风的数据作为音频,然后对采集的音视频数据进行编码,最后将编码后的数据封装成多媒体文件或者作为音视频流发送到服务器上(流媒体)。
出于硬件环境和篇幅的限制,本文主要讲的时Mac平台下通过FFmpeg采集的方法和步骤。通常Mac上采集数据主要使用的是avfoundation进行采集。
一、Mac 下查看设备列表
FFmpeg可以直接从Mac系统的采集设备中采集摄像头、桌面、麦克风等。在采集设备之前,我们需要知道当前系统都支持哪些设备。
在终端上输入以下命令行,即可查看当前系统支持的设备基本信息:
ffmpeg -devices
输出如下:
Devices:
D. = Demuxing supported
.E = Muxing supported
--
D avfoundation AVFoundation input device
D lavfi Libavfilter virtual input device
从输出内容中可以看到,通过ffmpeg -devices查看的信息分为两大部分:
- 解封装或封装的支持情况
- 设备列表
系统当前可以支持的设备具体如下:
- 输出设备:avfoundation、lavfi
本文重点介绍设备avfoundation。下面我们先看一下avfoundation的参数。
在终端上输入命令行ÿ