c++ - LibAV FFMPEG 如何获取设备列表?
问题描述
我查了一下文档,发现了一个很方便AVInputFormat
的功能get_device_list
。但问题是我不能使用它。
这是我的简短代码片段
#include <QDebug>
extern "C"
{
#include <libavformat/avformat.h>
#include <libavdevice/avdevice.h>
}
int main(int argc, char *argv[])
{
avdevice_register_all();
AVFormatContext *formatContext = avformat_alloc_context();
AVInputFormat *inputFormat = av_find_input_format("dshow");
AVDeviceInfoList devices;
inputFormat->get_device_list(formatContext, &devices);
qDebug() << devices.nb_devices;
avformat_free_context(formatContext);
return 0;
}
当我尝试打印时,该代码会崩溃devices
。如何正确使用该功能?官方文档没有使用该功能的示例。
解决方案
推荐阅读
- python - pip 安装包在 conda 环境中不可见
- matlab - Matlab 中的优化:是否可以访问目标函数内的网格尺寸信息?
- machine-learning - 全卷积网络感受野
- angular - 即使在取消 AngularFire2 的 Firebase 存储中的上传任务后,快照状态仍为“正在运行”
- spring - Spring Boot Admin Server 2.X 向后兼容 1.3.3
- java - RabbitMQ 消息签名
- sql-server - 一周的sql代码应该从周一开始到周日结束
- javascript - 如何在选项 useNativeDriver 设置为 true 的情况下获取动画值的当前值?
- python - 在 Pandas 中交换每一行中的字符串元素
- mysql - 如果语法错误,MySQL 触发结束