FFplay文档解读-13-设备选项,输入设备一

本文档介绍了FFmpeg中输入设备的使用,包括alsa、android_camera、avfoundation等设备的选项和示例。内容涵盖音频、视频输入设备的配置,如设备选择、帧率、采样率等参数设置。通过对各设备的详细解析,帮助读者理解如何在不同平台和设备上进行多媒体数据的捕获。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

17.设备选项

libavdevice库提供与libavformat相同的接口。 即,输入设备被视为分路器,输出设备如复用器,接口和通用设备选项与libavformat相同(参见ffmpeg-formats手册)。

此外,每个输入或输出设备可以支持所谓的私有选项,其特定于该组件。

可以通过在FFmpeg工具中指定-option值,或通过在设备AVFormatContext选项中显式设置值或使用libavutil / opt.h``API进行编程来设置选项。

18.输入设备

输入设备是FFmpeg中配置的元素,可以访问来自连接到系统的多媒体设备的数据。

配置FFmpeg构建时,默认情况下会启用所有支持的输入设备。 您可以使用配置选项-list-indevs列出所有可用的列表。

您可以使用configure选项-disable-indevs禁用所有输入设备,并使用选项-enable-indev = INDEV选择性地启用输入设备,或者可以使用选项-disable禁用特定输入设备-indev= INDEV

ff *工具的选项-devices将显示支持的输入设备列表。

下面是对当前可用输入设备的描述。

18.1 alsa

ALSA(高级Linux声音架构)输入设备。

要在配置期间启用此输入设备,您需要在系统上安装libasound

该设备允许从ALSA设备捕获。 要捕获的设备的名称必须是ALSA卡标识符。

ALSA标识符具有以下语法:

hw:CARD[,DEV[,SUBDEV]]

DEVSUBDEV组件是可选的。

三个参数(按顺序:CARD,DEV,SUBDEV)指定卡号或标识符,设备号和子设备号(-1表示任意)。

要查看系统当前识别的卡列表,请检查文件/ proc / asound / cards/ proc / asound / devices

例如,要使用卡ID0ALSA设备从ffmpeg捕获,可以运行以下命令:

ffmpeg -f alsa -i hw:0 alsaout.wav

学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂

【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

18.1.1 选项

sample_rate

Hz为单位设置采样率。 默认值为48000

channels

设置通道数。 默认值为2

18.2 android_camera

Android相机输入设备。

此输入设备使用Android Camera2 NDK API,该API可在API级别为24+的设备上使用。 在配置期间自动检测android_camera的可用性。

该设备允许从Android设备上的所有摄像头进行捕获,这些摄像头集成在Camera2 NDK API中。

可用的摄像机在内部枚举,可以使用camera_index参数进行选择。 输入文件字符串将被丢弃。

通常,后置摄像头的索引为0,而前置摄像头的索引为1

18.2.1 选项

video_size

将视频大小设置为字符串,例如640x480hd720。 如果请求的视频大小不可用或默认情况下,则回退到Android报告的第一个可用配置。

framerate

设置视频帧率。 如果请求的帧速率不可用或默认情况下(-1),则回退到Android报告的第一个可用配置。

camera_index

设置要使用的摄像机的索引。 默认值为0

input_queue_size

设置要缓冲的最大帧数。 默认值为5

18.3 avfoundation

AVFoundation输入设备。

AVFoundationApple目前推荐的用于在OSX> = 10.7以及iOS上进行流式处理的框架。

输入文件名必须使用以下语法给出:

-i "[[VIDEO]:[AUDIO]]"

第一个条目选择视频输入,而后者选择音频输入。 流必须由设备名称或设备索引指定,如设备列表所示。 或者,可以使用-video_device_index <INDEX>'/-audio_device_index <INDEX>通过索引选择视频和/或音频输入设备,覆盖输入文件名中给出的任何设备名称或索引。

可以使用-list_devices true枚举所有可用设备,列出所有设备名称和相应的索引。

有两个设备名称别名:

default

选择相应类型的AVFoundation默认设备。

none

不记录相应的媒体类型。 这相当于指定空设备名称或索引。

18.3.1 选项

AVFoundation支持以下选项:

-list_devices <TRUE | FALSE>

如果设置为true,则会显示所有可用输入设备的列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值