虚拟机中的 pyAudio 和 PJSIP
pyAudio and PJSIP in a Virtual Machine
我正在 python 中编写一个 SIP 客户端。我可以在我的电脑上制作我的脚本 运行 就好了。它播放一个 wav 文件,抓取音频,然后使用 sip 会话发送音频。我很难在 AWS ec2 VM 中将其设置为 运行。 VM 是 运行ning SUSE 12。
似乎有很多与音频环回和管道音频相关的问题。但我还没有发现任何似乎包含我遇到问题的所有方式。
我已经尝试弄清楚如何使用 pacmd 进行设置,但还没有成功。我有默认的虚拟输出和虚拟输出监视器,但那没有用。
当我尝试打开流时,我仍然收到无默认输出设备错误。
我想要找到的是一种拥有虚拟声卡(我猜)的方法,我可以将其用于 sip 呼叫的频道并将 wav 文件流式传输到其中。
任何建议或指导都会很有帮助。
提前致谢
好吧,这不是最可靠的解决方案,但它似乎确实有效。
首先,您必须确认您已安装 pulseaudio 并正常工作
使用您需要的任何包安装程序:
apt-get/yum/zypper pulseaudio pulseaudio-devel alsa-lib alsa-devel alsa-plugins-pulseaudio
pulseaudio --开始
pacmd 加载模块模块-null-sink sink_name=MySink
pacmd update-sink-proplist MySink device.description=MySink
这将允许您在虚拟机中传递音频,以便使用 pjsip 将其发送出去。
如果您没有用 python 编写的自己的环回,您可以使用:
pacmd 加载模块模块环回接收器=MySink
传回音频。如果您确实编写了环回,则不能同时使用两者。
我正在 python 中编写一个 SIP 客户端。我可以在我的电脑上制作我的脚本 运行 就好了。它播放一个 wav 文件,抓取音频,然后使用 sip 会话发送音频。我很难在 AWS ec2 VM 中将其设置为 运行。 VM 是 运行ning SUSE 12。
似乎有很多与音频环回和管道音频相关的问题。但我还没有发现任何似乎包含我遇到问题的所有方式。
我已经尝试弄清楚如何使用 pacmd 进行设置,但还没有成功。我有默认的虚拟输出和虚拟输出监视器,但那没有用。
当我尝试打开流时,我仍然收到无默认输出设备错误。
我想要找到的是一种拥有虚拟声卡(我猜)的方法,我可以将其用于 sip 呼叫的频道并将 wav 文件流式传输到其中。
任何建议或指导都会很有帮助。
提前致谢
好吧,这不是最可靠的解决方案,但它似乎确实有效。
首先,您必须确认您已安装 pulseaudio 并正常工作
使用您需要的任何包安装程序:
apt-get/yum/zypper pulseaudio pulseaudio-devel alsa-lib alsa-devel alsa-plugins-pulseaudio
pulseaudio --开始
pacmd 加载模块模块-null-sink sink_name=MySink
pacmd update-sink-proplist MySink device.description=MySink
这将允许您在虚拟机中传递音频,以便使用 pjsip 将其发送出去。
如果您没有用 python 编写的自己的环回,您可以使用:
pacmd 加载模块模块环回接收器=MySink
传回音频。如果您确实编写了环回,则不能同时使用两者。