snd-aloop模拟声音设备

搞完了虚拟摄像头,没有麦克风怎么行

本想着下次班主任开班会的时候可以调戏一波,但突然发现没有麦克风,只有摄像头怎么行,所有今天就尝试着解决了这个问题

snd-aloop 模块

用的也是一个模块,snd-aloop ,它可以用来创建虚拟声音设备
安装模块到内核

1
sudo modprobe snd-aloop

列出新虚拟的设备

1
aplay -l

可以看到有一个 Loopback 的声卡,这张声卡就是 snd-aloop 虚拟出来的声卡
这里可以看到这张声卡的设备编号和设备编号

推送音频

知道了卡号和设备号就能向这个设备推送音频了

1
ffmpeg -stream_loop -1 -i 'audio.mkv' -f pulse hw:2,0 

各参数解释

  • -stream_loop 循环次数,-1表示无线循环
  • -i 输入源
  • 约束输出文件的格式容器,音频可以用 pulse, alsa
  • hw:R,W
    打开对应的声卡
    R:虚拟卡设备编号
    W:记录设备编号

完成

开两个终端,然后就可以和虚拟摄像头一起使用了

1
2
ffmpeg -re -stream_loop -1 -i 'audio.mkv' -f pulse hw:*,*
ffmpeg -re -stream_loop -1 -i 'video.mkv' -f v4l2 /dev/video*

差不多把摄像头,麦克风搞定了,下次就能调戏一波视频软件了 (*•̀ㅂ•́)و