我的要求: 我想用我的智能手机向一个人(Larix?)流式传输并获取该人的音频。 延迟应尽可能低,质量尽可能高。 我想将整个事情托管在我的服务器上。
最好的方法是什么? 我尝试过SRS,质量高,延迟低,但我不知道如何从对方那里获取音频。
SRT 也是一种选择吗?
什么最适合实现这一目标?
一旦将直播流发布到SRS,通过OBS、FFmpeg或其他编码器通过RTMP,您可以在其他设备上播放流。
一般都有一些serval玩家,无论是H5还是手机:
请注意,除 iOS Safari 浏览器外,所有 H5 原生 js 播放器都可以与 MSE 完美配合。对于 iOS Safari,也可以通过 WASM 播放 HTTP-FLV,或者使用 WebRTC WHEP,详细请阅读link。
在移动(iOS/Android)平台上,使用使用FFmpeg的ijkplayer就可以了,还有一些像fijkplayer这样的包装可以用于flutter。
考虑到延迟要求,听起来利用 RTSP、Web RTC 或类似技术的实时解决方案将是一个不错的方法。
使用尽可能接近标准的类似方法,仅在一个方向上使用视频,仅在另一个方向上使用音频(或者如果需要,则两者都使用)似乎是最简单的方法。
我认为您可能会发现这比自己从头开始更容易、更快,尤其是在给定的延迟预算内获得最佳质量,因为这是 WebRTC 的核心考虑因素。
您可以在现有的 Web RTC Android 和 iOS 客户端上进行构建 - 随时都有更多可用的客户端,因此值得搜索,但有一些示例: