Alsa无法设置样本格式[FFMPEG]

2023-12-04

我正在尝试使用 ffmpeg 从 Roland USB 设备捕获 pcm 流并用 wav 包装它。我正在使用的命令行如下:

ffmpeg -f alsa -acodec pcm_s32le -ac 2 -ar 48000 -i hw:2,0 out.wav

符合硬件的设置。我还可以使用 Audacity 捕获流。问题是 FFMPEG 抛出“无法设置示例格式错误”。知道可能发生什么以及如何解决这个问题吗?

提前致谢。

FFMPEG 输出

user@user:~$ ffmpeg -f alsa -acodec pcm_s32le -ac 2 -ar 48000 -i hw:2,0 out.wav
    ffmpeg version N-85548-g3390a2b Copyright (c) 2000-2017 the FFmpeg developers
      built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
      configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libvorbis --enable-libopus --enable-ffplay
      libavutil      55. 61.100 / 55. 61.100
      libavcodec     57. 92.100 / 57. 92.100
      libavformat    57. 72.101 / 57. 72.101
      libavdevice    57.  7.100 / 57.  7.100
      libavfilter     6. 84.101 /  6. 84.101
      libswscale      4.  7.101 /  4.  7.101
      libswresample   2.  8.100 /  2.  8.100
      libpostproc    54.  6.100 / 54.  6.100
    [alsa @ 0x34b6780] cannot set sample format 0x10008 10 (Invalid argument)
    hw:2,0: Input/output error

记录输出:

user@user:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC3236 Analog [ALC3236 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: DUOCAPTURE [DUO-CAPTURE], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

在 Deimus 的帮助下,我检查了记录中卡的设置,并使用了 FFMPEG 的正确行(请注意,我已经更改了硬件上的捕获频率)。

记录输出

user@user:~$ arecord --dump-hw-params -D hw:2,0
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:2,0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: 48
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (1020 1981429)
PERIOD_SIZE: [45 87381]
PERIOD_BYTES: [270 524286]
PERIODS: [2 1024]
BUFFER_TIME: (2040 3962858)
BUFFER_SIZE: [90 174762]
BUFFER_BYTES: [540 1048572]
TICK_TIME: ALL
--------------------
arecord: set_params:1233: Sample format non available
Available formats:
- S24_3LE

正确的命令行

ffmpeg -f alsa -acodec pcm_s24le -ac 2 -ar 44100 -i hw:2,0 out.wav

Use the --dump-hw-params的选项arecord工具来检查支持的示例格式。

Man页面为arecord

然后您可以使用-sample_fmt的选项ffmpeg指定格式,例如。s32

ffmpeg 的音频选项有here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Alsa无法设置样本格式[FFMPEG] 的相关文章

随机推荐

  • Java 中内存主机和内存参数 xms 和 xmx 之间的关系

    我有以下带有内存详细信息的主机 free m total used free shared buffers cached Mem 7872 7579 292 17 483 3983 buffers cache 3112 4759 Swap
  • 具有多个窗口的 Pygame

    我需要构建一个具有多个窗口的应用程序 在其中一个窗口中 我需要能够玩一个简单的游戏 另一个窗口必须显示问题并获得影响游戏的用户的响应 1 我想使用 pygame 来制作游戏 有没有simple让 pygame 在多个窗口上运行的方法 2 如
  • 使用 Ant 运行带有命令行参数的程序

    我的程序获取命令行参数 使用Ant的时候如何才能通过呢 延伸理查德 库克的回答 这是ant运行任何程序 包括但不限于Java程序 的任务
  • 为什么无符号字符无法正确显示十六进制值[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个 1 字节值的数组 使用无符号字符来保存这些值 我的代码如下所示 unsigned char state 4 4 0xd4 0xe0 0xb8 0x1e 0xbf 0xb4 0x41 0x27
  • 使用 rbf 和 scipy 进行二维概率分布

    I have something similar to this problem respectivly the answer of this problem RBF interpolation LinAlgError singular m
  • 将可变参数传递给 Spring spEL 会导致“在 com.sun.proxy 上找不到方法”

    我尝试编写自定义类进行权限评估 因此它可以与 Spring Security 一起使用 PreAuthorize和 Spring 表达式语言 例如这样 authority只是一个带有一些角色名称的常规 Spring 组件 PreAuthor
  • 如何在C++中找到一个数字的质因数?

    我正在尝试项目欧拉问题 3 但没有得到所需的结果 我的逻辑 列出数字 13195 的所有因数并将它们保存在数组中 检查数组中的每个数字是否都是素数 如果发现该数字是质数 则将其保存到另一个数组中 显示第二个数组的内容 希望它只包含素因数 结
  • 解压 map() 参数的嵌套列表

    我确信有一种方法可以做到这一点 但我还没有找到 假设我有 foo 1 2 3 4 5 6 def add num1 num2 return num1 num2 那我该如何使用map add foo 以便它通过num1 1 num2 2对于第
  • OrientDB 在上下文错误中找不到数据库实例?

    Orient DB 在 orientdb community 1 7 rc2 中存在问题 当我尝试创建一个小函数时 如下所示 var db orient getDatabase return test 并执行它我收到以下错误 在位置 0 解
  • python lambda函数内的迭代过程

    我有一个简单的蟒蛇function def positiveGauss mean stdev result 1 while result lt 0 result mean np random randn stdev return resul
  • Android:textview的最后一行被切断

    我有一个水平的LinearLayout含有一个TextView随后是一个Spinner在它的旁边 这LinearLayout在固定垂直方向动态膨胀多次LinearLayout包含在一个RelativeLayout 问题是自从我从Theme
  • Javascript:按键合并对象

    我有一个对象数组 如下所示 var countries id SWE value 5 id DE value 10 id SWE anotherValue 11 id DE anotherValue 15 我想按 id 合并数组元素 结果应
  • 如何将 Django SQLite 数据库内容放入 Heroku PostGreSQL 数据库?

    我对托管 部署应用程序完全陌生 看完后这个视频 他从头开始创建一个新数据库 而不是转换他的 Django SQLite 数据库 我在已部署的站点上有很多想要的数据 因此我需要一些关于如何使用 Django 和 Heroku 执行此操作的建议
  • Django:使用变量作为 URL 命名空间?

    我正在尝试为体育网站创建一个子菜单 每项运动都需要自己的子菜单 我遇到的问题是我需要命名空间本身以某种方式是动态的 SportListView 返回体育项目 以便我可以按体育项目过滤新闻文章 Views class SportListVie
  • Tesseract OCR 引擎无法从自动生成的图像中读取文本,但可以从 MS Paint 中的 CUT 读取文本

    我正在为 Tesseract OCR 引擎使用 NET 包装器 我有一个大的 PNG 文档 当我在 MS Paint 中剪下图像的一部分然后将其输入引擎时 它就可以工作了 但是当我用代码执行此操作时 引擎无法识别图像中的文本 图像看起来相同
  • ASP classic中如何统计记录数?

    我对 ASP classic 编程不太熟悉 我只需要一小段代码即可在我的网页上运行 如何统计返回查询的记录数 thanks 可以 但不推荐 在 Recordset 对象上使用 RecordCount 属性 如下所示 iTotalRecord
  • 如何在 Magento 中使用 getThumbnailUrl() 显示类别的缩略图

    我一直在尝试完成这项工作 但没有运气 基本上我需要在内容块上显示主菜单类别 我做到了 但现在我需要在内容块内的类别名称旁边显示缩略图类别 我在 app desing fronend default THEME template catalo
  • psql 提示符更改为“-#”并且该语句未提交

    我是 Postgres 的新手 我设置了一个数据库和表 在 Ubuntu 18 04 命令行 在云服务器上 上 我使用以下命令发出了以下命令psql INSERT INTO psq01 date email firstname lastna
  • 寻找最小的下一个更大的元素

    我有一项任务 要求我为所有数组条目找到数组中所有较大元素中的最小元素 并将相应的索引存储在数组中 但我无法完全弄清楚解决方案的最后部分 这与这里解释的问题有点相似 https www geeksforgeeks org smallest g
  • Alsa无法设置样本格式[FFMPEG]

    我正在尝试使用 ffmpeg 从 Roland USB 设备捕获 pcm 流并用 wav 包装它 我正在使用的命令行如下 ffmpeg f alsa acodec pcm s32le ac 2 ar 48000 i hw 2 0 out w