如何使用FFmpeg记录声卡上播放的内容?


1

我正在尝试记录Windows 8.1中我的声卡上正在播放的内容

我运行以下内容来确定我拥有的设备:

ffmpeg -list_devices true -f dshow -i dummy

列出的输出:

DirectShow video devices (some may be both video and audio devices)
  "Built-in iSight"
DirectShow audio devices
  "Microphone (Cirrus Logic CS4206A (AB 71))"
  "Digital Audio (S/PDIF) (Cirrus Logic CS4206A (AB 71))"

由此我假设 Digital Audio (S/PDIF) (Cirrus Logic CS4206A (AB 71)) 是我唯一的输出声卡。

所以我用声音添加一些随机的YouTube视频并运行以下内容来录制持续10秒的mp3。

ffmpeg -f dshow -i audio="Digital Audio (S/PDIF) (Cirrus Logic CS4206A (AB 71))" -acodec libmp3lame  -t 10 out.mp3

它确实录制了10秒的剪辑,但它的声音却是无声的
当我查看播放设备时,我看到实际播放音频的设备是 Speakers不是 Digital Audio (S/PDIF)enter image description here

我试过更换 Digital Audio (S/PDIF)Speakers 在ffmpeg命令行中,但它显然无法识别设备。

我见过类似的 ,人们建议“立体声混音” - 我根本没有在我的电脑上看到它。下载最新的驱动程序并未将其添加到设备列表中。

那我错过了什么?如何从声卡中录制音频


1
立体声混音(通常不存在于windows> XP中)或某种类型的虚拟音频捕捉器 github.com/rdp/virtual-audio-capture-grabber-device 或VAC或VB网或什么不是
rogerdpack

@rogerdpack感谢您的建议。我抓住了github软件包并立刻进行了录制。
AngryHacker

Answers:


2

如果它仍然与任何人相关。您需要打开上面显示的声音设备窗口,然后在干净的位置单击人民币并选择显示已禁用的设备以切换立体声混音设备可见性


0

首先打开上面屏幕截图中显示的“声音”窗口,选择“录制”选项卡,然后右键单击窗口并选择“显示已禁用的设备”以切换立体声混音设备的可见性,从而启用立体声混音。 这个帖子 有更详细的说明。

启用立体声混音后,您需要将扬声器或耳机插入音频输出。然后运行该命令以获取耳机/扬声器输出的名称。

ffmpeg -list_devices true -f dshow -i dummy

以下是在Windows 10 Home上为我提供音频的完整命令:

ffmpeg -f dshow -i audio="Microphone (Realtek High Definition Audio)" D:\Audio\output.mp3

这是一个同时用于音频和视频的命令:

ffmpeg -f gdigrab -framerate ntsc -video_size 1920x1080 -i desktop  -f dshow -i audio="Microphone (Realtek High Definition Audio)" -vcodec libx264 -pix_fmt yuv420p -preset ultrafast D:\Movies\output.mp4

此视频输出也可在我的iPad上运行。我将一台笔记本电脑插入显示器,这将记录我的显示器的全屏和扬声器发出的音频。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.