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

一.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

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


http://www.kler.cn/a/587745.html

相关文章:

  • 地理信息系统(ArcGIS)在水文水资源及水环境中的应用:实践技术与案例分析深度剖析
  • 深入解析 TCP/IP 协议:架构、原理与应用
  • kmp报错→Cannot find skiko-windows-x64.dll.sha256
  • C++ 中的 RTTI(Run-Time Type Information,运行时类型识别)
  • 虚拟电商-数据库分库分表(二)
  • 16.使用读写包操作Excel文件:XlsxWriter 包
  • 中科院自动化所人形机器人研究进展:全面综述与展望
  • Git LFS (Large File Storage) 简介
  • Linux中Gdb调试工具常用指令大全
  • Vue.js 项目部署全解析:从开发到上线的关键旅程题
  • Elasticsearch集群与日志系统实战部署指南
  • JVM内存结构笔记03-方法区
  • Mysql查看执行计划、explain关键字详解(超详细)
  • linux在 Ubuntu 系统中设置服务器时间
  • WPF跨平台开发探讨:借助相关技术实现多平台应用
  • C++——STL 常用的排序算法
  • uniapp-x js 限制
  • AUTOSAR 网络安全 架构
  • Spring Boot + InfluxDB 批量写入(同步、异步、重试机制)
  • AI自动文献综述——python先把知网的文献转excel