当前位置: 首页 > news >正文

一.ffmpeg打开麦克风,录制音频并重采样

一.windows

windows下使用msys编译ffmpeg,先编译libx264和libx265,然后编译ffmpeg的时候需要添加这两个库的路径才能--enable;为什么ffplay--enable了还是没有呢,仔细看编译打印,可能刚有一段报错提示SDL找不到,这个时候咱们就直接使用msys安装SDL,然后--enable启动sdl,这样ffplay就可以编译成功了。参考这个博主:

FFmpeg在 Windows 环境编译(64位)支持h264,h265,和Intel QSV,Nvidia Cuda,AMD amf 硬件加速_ffmpeg x64-CSDN博客

注意:

此时ffmpeg的libfdk_aac、opus等编码器还没下载,需要使用msys下载

 pacman -S mingw-w64-x86_64-fdk-aac

 pacman -S mingw-w64-x86_64-lame

 pacman -S mingw-w64-x86_64-opus

#windows中我这里使用cmakelists进行编译,使用的工具是msys+make(随便一搜就有如何下载)
#build下构建指令
cmake .. -G "Unix Makefiles"
make

ffmpeg的源码是c风格的,添加头文件需要使用extern “C”{}括起来 

打开麦克风

#查看自己系统的音频设备信息
ffmpeg -list_devices true -f dshow -i dummy
#录制音频(windows)
ffmpeg -f dshow -i audio="virtual-audio-capturer" out1.wav
#linux
ffmpeg -f alsa-i audio="virtual-audio-capturer" out1.wav

录制音频

#采样率44100 双声道 s16le表示位深度为16位,
#意味着每个样本大小使用16位(8位一个字节,2个字节)来表示值
ffmpeg -f dshow -i default -ac 2 -ar 44100 -c:a s16le output.wav  

重采样

在重采样之前,我们先获取自己的音频设备采样参数:

//获取音频设备列表
ffmpeg -list_devices true -f dshow -i dummy
//获取音频采样参数
ffmpeg -f dshow -i audio="xxxxx"

也可以先用ffmpeg在本地录制一段音频,然后使用ffplay播放就可以看到了。

#使用ffplay播放pcm
ffplay -f s16le -ar 44100 -ac 2 out.pcm

注意:需要戴耳机否则没麦声音特别小。

相关文章:

  • k8s集群-kubeadm init
  • CSS3学习教程,从入门到精通,CSS3 选择器权重问题语法知识点及案例代码(5)
  • linux系统命令——权限
  • 破碎的誓言
  • 深入xtquant:掌握创建交易对象的关键技巧
  • 初探 Threejs 物理引擎CANNON,解锁 3D 动态魅力
  • C语言实现堆结构及Top - K问题求解
  • C#opencv 遍历图像中所有点 不在圆范围内的点变为黑色,在圆范围内的保持原色
  • Gemini 2.0 Flash:AI 图像生成的革命性突破!
  • c++三级(枚举问题)
  • 练习题:87
  • Go vs Rust vs C++ vs Python vs Java:谁主后端沉浮
  • Mybatis——基础操作、动态SQL
  • 【STM32】USART串口收发HEX数据包收发文本数据包
  • 2024年12月CCF-GESP编程能力等级认证C++编程三级真题解析
  • Vue前端项目部署到宝塔面板的详细过程
  • VSCode通过SSH免密远程登录Windows服务器
  • 搭建Spring Boot Admin监控系统
  • 【SpringBoot】最佳实践——JWT结合Redis实现双Token无感刷新
  • 写时拷贝技术
  • 摄影师|伊莎贝尔·穆尼奥斯:沿着身体进行文化溯源
  • 信俗与共:清代新疆回疆儒释道庙宇的中华政教
  • 专访|《内沙》导演杨弋枢:挽留终将失去的美好
  • 王东杰评《国家与学术》︱不“国”不“故”的“国学”
  • 梅花奖在上海|舞剧《朱鹮》,剧里剧外都是生命的赞歌
  • 中国青年报:为见义勇为者安排补考,体现了教育的本质目标