2

我正在寻找一种方法来捕获用户的声卡输出并通过 RTMP 将其实时流式传输到 red5 服务器。

不能选择使用音频重定向,例如使用 Windows Stereo Mix,因为它很难配置,并且在配置和 Windows 版本之间不能一致地工作。

我对这个方向的各种解决方案的可能性持开放态度——甚至可能使用 JNI/JNA?

感谢您的建议!

4

4 回答 4

0

如果您愿意使用 JNI/JNA,为什么不通过 C++ 或 C 访问声音驱动程序,那会容易得多,因为无论如何您都将使用 Java 编写接口,但它们的实现将使用 C++ 或 C。

于 2011-04-06T17:34:07.823 回答
0

请参阅Java 教程中的捕获音频

小程序需要经过数字签名并得到最终用户的信任,才能截取声音线路中的数据。

如果没有启用软件或硬件“音频环回”,它可能会完全失败(即使在完全受信任的小程序中)。

于 2011-04-06T17:44:34.327 回答
0

这并不像看起来那么简单。

你需要做什么 [第 1 部分 - 创建一个存储信息的地方]:

  • 描述服务器,存储文件的位置。(例如:谷歌应用引擎)
  • 描述您希望如何存储文件。(例如:数据存储)
  • 描述数据完整性的重要性。(例如:使用现有的上传 api 上传文件,然后流式传输数据更容易。示例 Apache FileUpload)

假设您要上传到服务器数据库的最大大小为 1 mb 的文件(例如 .ogg)音频文件。如果您要创建一个自动上传器,您还可以创建一个网页前端,您可以手动使用它。

如果您想回答您的问题,请形成清晰的问题,人们可以回答。如果您不指定限制,那么它是 IMO 非专业的,至少我永远不会写一个复杂的解决方案。


对不起,我最初的回答对你没有用。我试图简化问题,但我过度简化了。"Everything should be made as simple as possible, but not simpler." A. Einstein.

作为您问题的潜在解决方案,我可以推荐:

  • Screener - 一个 Java 程序,不仅可以流式传输音频,还包括截屏视频。在此处输入图像描述

如果它不能解决您的问题,那么我希望它至少对您有用。

于 2011-04-16T22:49:16.537 回答
0

好的 - Java 中绝对没有本地方法可以从浏览器中捕获声卡输出。可以使用 Java Native Interface 编写特定于平台的代码来截取线路并将原始音频数据传递给小程序以进一步处理它。

于 2011-10-11T12:57:51.337 回答