You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复FFMPEG命令以同时录制音频?

修复FFmpeg录屏+音频录制命令的问题

我来帮你排查下这个音频录制失效的问题~首先你修改后的命令犯了一个FFmpeg语法上的关键错误,这也是导致音频不工作的核心原因。

错误命令的核心问题

你把ALSA音频输入的配置(-f alsa -ac 2 -i hw:0)放在了视频编码参数(-c:v libx264 ... -threads 0)之后,但FFmpeg的规则是:所有输入源的定义(带-i的参数)必须放在编码、输出等配置参数之前。你现在的写法会让FFmpeg把音频输入参数当成输出配置的一部分,自然无法识别音频源。

修正后的命令

重新调整参数顺序,先定义视频输入、音频输入,再设置编码规则,最后指定输出路径:

ffmpeg_stream = '/usr/bin/ffmpeg -f x11grab -s 1280x720 -r 24 -i :%d+nomouse -f alsa -ac 2 -i hw:0 -c:v libx264 -preset superfast -pix_fmt yuv420p -s 1280x720 -threads 0 -c:a aac -b:a 128k -f flv "%s"' % (xvfb.new_display, info['destination'])

额外优化与排查点

  • 我添加了-c:a aac -b:a 128k:FLV容器对音频编码有兼容性要求,AAC是最稳妥的选择,指定比特率能保证基础音频质量;
  • 确认ALSA设备正确性:如果hw:0不是正确的输入设备,你可以运行arecord -l命令查看系统识别到的音频设备列表,替换成对应的设备标识(比如hw:1,0);
  • 若出现音视频流匹配问题,可以额外添加-map 0:v -map 1:a参数,明确指定使用第一个输入的视频流和第二个输入的音频流,避免FFmpeg自动选择出错。

快速测试建议

先单独验证音频捕获是否正常,运行以下命令录制10秒音频:

ffmpeg -f alsa -i hw:0 -t 10 test_audio.mp3

如果能生成正常播放的音频文件,再结合视频输入一起测试整体命令。

内容的提问来源于stack exchange,提问作者James Kowalski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:36:53