使用ffmpeg录音

news/2024/7/10 20:42:14 标签: ffmpeg, 操作系统

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

录音方法:

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

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

ffmpeg -f oss -i /dev/dsp wheer.mp3

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

 

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

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

ffmpeg -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 extension
   for 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.niftyadmin.cn/n/1206406.html

相关文章

UiPath四种录像器Basic、Desktop、Web、Citrix的区别是什么

1. Basic录制 Basic基本—为每个活动生成一个完整的选择器,而没有容器,结果的自动化比使用容器的自动化要慢,并且适合于单个活动。 2. Desktop录制 Desktop桌面—适用于所有类型的桌面应用程序和多个动作;它比基本录制…

Linux环境中操作Redis

第一步:安装虚拟机。。。;第二步:在虚拟机安装成功后,安装Linux(Centos)命令:$ wget http://download.redis.io/releases/redis-3.2.5.tar.gz $ tar xzf redis-3.2.5.tar.gz$ cd redis-3.2.5$ src/redis-server(后台启动进程: ./redis-server ../redis.c…

php中转连接一句话,那些强悍的PHP一句话后门[转](2)

PHP后门生成工具weevelyweevely是一款针对PHP的webshell的自由软件,可用于模拟一个类似于telnet的连接shell,weevely通常用于web程序的漏洞利用,隐藏后门或者使用类似telnet的方式来代替web 页面式的管理,weevely生成的服务器端ph…

解释一下UiPath的调试功能

在UiPath中的调试功能主要由三块组成,详细介绍如下: Debugging(调试) 是从给定项目中识别和删除错误的过程。再加上日志记录,它成为一种强大的功能,可以为您提供有关项目的信息和单步高亮显示,这样您就可以确保项目是没…

UiPath中Assign活动的作用是什么

在UiPath中Assign的适用范围非常多,也是一个非常重要的活动,Assign活动主要用来为变量赋值。 例如:在流程中定义一个变量,在Assign中创建一个列表,可以使变量结合循环活动使用就可以依次把列表里的数据赋值给这个变量&…

oracle异机复制,oracle异机恢复

环境描述:A区的数据库使用rman备份到A区的TSM SERVER上,现在将A区的磁带拿到B区的TSM server上做异机恢复,在恢复控制文件时报错如下,请个为高手帮帮忙解决一下。在此先谢过了![oradb11]$rman target /Recovery Manage…

简单介绍下动态选择器的作用

1、在UiPath中选择器可以将页面控件元素定义一个或多个变量,通过字符串拼接的方式实现完整的页面元素定位html标签格式内容替换掉原有的内容。 2、动态选择器的作用主要是把选择器抓取的内容参数化,根据变量的改变来改变元素的定位。 3、在实际需求中如果…

laravel composer 安装指定版本以及基本的配置

1 安装指定的 laravel版本 以下的案例是安装5.2版本 composer create-project laravel/laravel5.2.* --prefer-dist2 配置 优化相关参数 打开 config/app.php文件 优化以下配置参数 timezone > Asia/Shanghai,log > env(APP_LOG, daily),log_level > env(APP_LOG_LEV…