使用ffmpeg录音

官方教程:http://ffmpeg.org/ffmpeg.html

录音方法:

开始找到了这个方法,但是不行呀,好像是没有这个oss吧。

oss 是linux 下的声音相关的东西,与alsa 一样,不过oss 是商业的, 而/dev/dsp 是oss 用到的麦克的设备吧

ffmpeg -f oss -i /dev/dsp wheer.mp3ffmpeg -f oss -i /dev/dsp -ar 8000 -ab 10200 wheer.amr

 

采用 alsa-oss 录制,就可以啦

ffmpeg -f alsa -ac 2 -i hw:0,0 out.mp3ffmpeg -f alsa -ac 2 -i hw:0,0 out.wav

科大讯飞的合成或者识别,保存成的音频文件格式是16k或者8k,16bit,单声道pcm格式的音频。采用以下方式录音

 ffmpeg -f alsa  -ar 16000 -ac 1 -i hw:0 lib.wav

q——停止

但是 我使用以上命令时,提示说

cannot set channel count to 1 (Invalid argument)
hw:0: Input/output error

最后查阅资料,发现以下参数设置:

复制代码
-ab bitrate 设置音频码率-ar freq 设置音频采样率-ac channels 设置通道 缺省为1-an 不使能音频纪录-acodec codec 使用codec编解码
复制代码

如此按理说,去掉 -ac通道设置即可,运行以下命令:

 ffmpeg -f alsa  -ar 16000 -i hw:0 lib.wav
-acodec pcm_s16le

但还是无法识别,最后问了一下,是这样录音的:
ffmpeg -y -f alsa -i pluse -t 00:00:06 -ar 16000 -ac 1 lib.wav

其中

复制代码
-y (global)Overwrite output files without asking.-f fmt (input/output)Force input or output file format. The format is normally auto detected for input files and guessed from the file extensionfor output files, so this option is not needed in most cases.-i url (input)input file url-t duration (input/output)When used as an input option (before -i), limit the duration of data read from the input file.When used as an output option (before an output url), stop writing the output after its duration reaches duration.duration must be a time duration specification, see (ffmpeg-utils)the Time duration section in the ffmpeg-utils(1) manual.-to and -t are mutually exclusive and -t has priority.

复制代码

 

//试试改改他的用法
ffmpeg -y -f alsa -i hw:0 -t 00:00:06 -ar 16000 -ac 1 lib.wav

 这个可以了。

感谢

 

出处:http://www.cnblogs.com/farewell-farewell/p/6111756.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql慢查询日志的使用 和 Mysql的优化

一、生成实验数据 原理:sql 蠕虫复制(这种生成数据方式同样适用于数据表中有主键的情况)。 insert into comic (name,pen_name,cover) select name,pen_name,cover from comic 二、慢查询日志设置 当语句执行时间较长时,通过日…

thinkphp出现Call to undefined function Think\C() in ... online 313

造成这个问题的原因很多,在这里我只说明我自己遇到之后解决的办法 我将functions.php改成了function.php之后,修改了一些其他无关紧要的东西出现了这个问题,来回排查,各种尝试,最后,将function.php改回functions.php,可以正常运行

WPF效果第一百九十九篇之Gamma曲线

前面效果中分享了模块对比;今天大周末那就再来分享一下最近实现的效果;基于YX^n公式根据不同的系数绘制Gamma曲线效果如下图:1、曲线的话,咱就用最简单的方式绘制一堆点:PathFigure pathFigure new PathFigure(){StartPoint new Point(0, count),};for(double x 0; x < 1…

深入理解Spring Boot数据源与连接池原理

​ Create by ysterfoxmail.com 2018-8-2一&#xff1a;开始 在使用Spring Boot数据源之前&#xff0c;我们一般会导入相关依赖。其中数据源核心依赖就是spring‐boot‐starter‐jdbc 如下 <dependency><groupId>org.springframework.boot</groupId> …

Dapr 集成 Open Policy Agent 实现 接口的访问控制

大型项目中基本都包含有复杂的访问控制策略&#xff0c;特别是在一些多租户场景中&#xff0c;例如Kubernetes中就支持RBAC&#xff0c;ABAC等多种授权类型。Dapr 的 中间件 Open Policy Agent 将Rego/OPA策略应用到传入的Dapr HTTP请求中。Open Policy AgentOpen Policy Agent…

【招聘(大连)】北森云计算 .NET 专场招聘

为了更好的实现战略布局&#xff0c;逐步形成以三个产品研发中心&#xff08;北京、成都、大连&#xff09;为主&#xff0c;青岛和南京为辅的产品研发团队配置。北森云第三研发中心&#xff08;大连&#xff09;正式成立&#xff0c;目前大连的人选招聘正式开启&#xff0c;欢…

C#多线程编程-必知必会

“发现问题的能力&#xff0c;运用技术解决问题的能力&#xff0c;是一个技术人成长的关键”图片故事&#xff1a;洋姜的花&#xff0c;拍摄于2022年7月23日&#xff0c;地点&#xff1a;北京奥林匹克森林公园 &#xff0c;摄影师&#xff1a;刘先生概要&#xff1a;使用C#发起…

『中级篇』Dockerfile详解(17)

一般的&#xff0c;Dockerfile 分为四部分&#xff1a;基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。 ####官网学习 https://docs.docker.com/engine/reference/builder/#usage ####FROM 必须为第一个命令&#xff0c;指定基础镜像 FROM <image> FROM &…

KestrelServer详解[1]:注册监听终结点(Endpoint)

具有跨平台能力的KestrelServer是最重要的服务器类型。针对KestrelServer的设置均体现在KestrelServerOptions配置选项上&#xff0c;注册的终结点是它承载的最重要的配置选项。这里所谓的终结点&#xff08;Endpoint&#xff09;与“路由”介绍的终结点不是一回事&#xff0c;…

快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...

2019独角兽企业重金招聘Python工程师标准>>> 如果你对云计算、大数据、云安全、人工智能领域感兴趣~ 如果你想从事与此相关的工作~~ 如果你又喜欢边交流边学习的方式~ 那么&#xff0c;加入我们吧&#xff01; 我们将为你提供一个广阔的平台&#xff0c;让你接触到云…

深入理解ajax系列第五篇——进度事件

前面的话 一般地&#xff0c;使用readystatechange事件探测HTTP请求的完成。XHR2规范草案定义了进度事件Progress Events规范&#xff0c;XMLHttpRequest对象在请求的不同阶段触发不同类型的事件&#xff0c;所以它不再需要检査readyState属性。这个草案定义了与客户端服务器通…

对象(poco)深度克隆

提供深度克隆对象功能,基于编译表达式实现&#xff0c;性能与原生代码几无差别&#xff0c;远超 json/binary 序列化实现。1. 简单示例class Person {public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }public DateTime Birth { get; s…

Linux之ACL权限控制

ACL权限控制主要目的是提供传统的owner,group,other的read,wirte,execute权限之外的具体权限设置&#xff0c;可以针对单一用户或组来设置特定的权限 设置ACL权限&#xff1a;setfacl查看ACL权限&#xff1a;getfacl 比如&#xff1a;某一目录权限为 drwx------ 2 root root 40…

WIX、Squarespace、WordPress 三者的优劣分别是什么?

层出不穷的智能建站&#xff0c;模板建站&#xff0c;源码建站&#xff0c;云建站&#xff0c;仿站&#xff0c;各种建站概念都抛洒于红海之中。到底什么样的网站适合自己&#xff0c;什么样的网站值得我们去消费&#xff0c;什么样的网站能长久&#xff0c;是个非常值得思考的…

GitHub 使用

Git 是由 Linux 之父 Linus Tovalds 为了更好的管理 linux 内核开发而创立的分布是版本控制/软件管理配置软件. 简单来说, Git 管理你的 代码的历史记录 的工具. 首先注册账户 (已经完成, moveofgod) 然后, 下载一个 GitHub Desktop(mac), msisgit 客户端 (可以用命令行实现, …

LinkedHashMap 与 HashMap区别

2019独角兽企业重金招聘Python工程师标准>>> LinkedHashMap 与 HashMap区别 &#xff08;非原创&#xff09; HashMap,LinkedHashMap,TreeMap都属于Map Map 主要用于存储键(key)值(value)对&#xff0c;根据键得到值&#xff0c;因此键不允许键重复,但允许值重复。 …

C# 11 中的 file local type

C# 11 中的 file local typeIntro在之前的版本中&#xff0c;我们想要一个类型只在当前的类型中生效&#xff0c;通常我们会在一个类的内部声明一个 private 的类型以此来控制这个类型的访问权限&#xff0c;在 C# 11 中引入了一个 file local type&#xff0c;仅在声明类型的这…

PHP实现类似百度搜索自动完成(代码简单)

一、效果图: 二、HTML代码 <html lang"en"> <head><meta charset"utf-8"><title>jQuery UI 自动完成&#xff08;Autocomplete&#xff09; - 默认功能</title><link rel"stylesheet" href"/public/Auto…

CentOS 搭建Postfix+Dovecot简单邮件系统

2019独角兽企业重金招聘Python工程师标准>>> 服务器信息 系统&#xff1a;CentOS 6.5 minimal版本 主机&#xff1a;虚拟机 虚拟机IP&#xff1a;192.168.128.128/24 宿主IP:10.1.79.24/24 安装postfix 注意&#xff1a;CentOS 7实际上已经用postfixSasl2代替sendma…

php面试题2018

一 、PHP基础部分 1、PHP语言的一大优势是跨平台&#xff0c;什么是跨平台&#xff1f; PHP的运行环境最优搭配为ApacheMySQLPHP&#xff0c;此运行环境可以在不同操作系统&#xff08;例如windows、Linux等&#xff09;上配置&#xff0c;不受操作系统的限制&#xff0c;所以…