python USB声卡line口 录音 声卡录音教程视频_ide


摘要

内录(录制声卡的声音)需要用到的命令是:


$ ffmpeg -f dshow -i audio="Stereo Mix (Realtek High Defini" typing.wav


这里面关键还是要有device。设备名称可以通过:


$ ffmpeg -f dshow -list_devices true -i dummy


获取。问题就是有些人直接在录音设备里面就没有stereo mix这个东西。这可能是声卡驱动没有妥善安装,只要更新驱动往往就能够解决。

正文

其实录屏也好,录音也好,或者是网络转播也好,其实都是差不多的套路:从某一个device获取音频或者是视频的信号,然后将这些数据要么存储成文件,要么通过网络传输出去。今天提到的声卡录音就是选取声卡作为input数据源。

实际上用到的命令非常简单,首先肯定是要list_device:


$ ffmpeg -f dshow -list_devices true -i dummy


然后我这里可以看到这样的输出:


[dshow @ 0000000000151480] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000000000151480] Could not enumerate video devices (or none found).
[dshow @ 0000000000151480] DirectShow audio devices
[dshow @ 0000000000151480]  "Microphone (Realtek High Defini"
[dshow @ 0000000000151480]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}Microphone (Realtek High Defini"
dummy: Immediate exit requested


我的电脑没接摄像头,所以自然video输入是没有device的(Could not enumerate video devices (or none found).)往下看看audio这一块……为什么只有microphone呢?我现在需要录制声卡的声音呀!

要想调出来声卡这个device,你需要:


python USB声卡line口 录音 声卡录音教程视频_5e_02

右下角system tray这里,右键点声音图标,然后选择录音


打开录音界面以后,记得将禁用的设备也显示出来:


python USB声卡line口 录音 声卡录音教程视频_ide_03

右键点空白处,然后确定两个(显示禁用和显示断开)都勾上

当然了,其实很多人就算是勾上这两个,也一样看不到Stereo Mix。为什么呢?我之前也是看不到,不过我把声卡的驱动更新过就ok了。其实想起来,因为windows 7好像直接就支持我的声卡,所以当时装系统的时候这一块就跳过去了。看来还是不应该省掉这一步。不过我的Realtek HDA声卡驱动里面没看到安装exe,所以只能用老办法装:依次右键点计算机>属性>设备管理器(或者你直接在开始菜单里面搜索设备管理器也可以)


python USB声卡line口 录音 声卡录音教程视频_ide_04


选择更新驱动程序软件:


python USB声卡line口 录音 声卡录音教程视频_ide_05


选择浏览计算机以查找驱动程序软件,然后找到放着驱动的那个目录。你问我驱动哪里来的?我是当时从电脑城买电脑的时候随机带的光盘,拷贝到硬盘里的。

这样设置完以后稍等一下就可以完成安装,然后就可以在录音设备里看到steromix了。之后将steromix给开启。如果这个时候你试着播放声音,应该可以看到stereo mix旁边的声音bar有所起伏了。接下来我们重新list_devices一下:


[dshow @ 00000000005e1480] DirectShow video devices (some may be both video and audio devices)
[dshow @ 00000000005e1480] Could not enumerate video devices (or none found).
[dshow @ 00000000005e1480] DirectShow audio devices
[dshow @ 00000000005e1480]  "Microphone (Realtek High Defini"
[dshow @ 00000000005e1480]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}Microphone (Realtek High Defini"
[dshow @ 00000000005e1480]  "Stereo Mix (Realtek High Defini"
[dshow @ 00000000005e1480]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}Stereo Mix (Realtek High Defini"
dummy: Immediate exit requested


可以看到多出来的一个stereo mix,接下来就可以试试内录了:


$ ffmpeg -f dshow -i audio="Stereo Mix (Realtek High Defini" typing.wav


python USB声卡line口 录音 声卡录音教程视频_High_06