观点
几年前,我和一位朋友闲聊时,我们通过在两台计算机上运行两次 VLC 来创建超级简单的视频聊天链接:一台“观看”本地网络摄像头并将视频数据克隆到 RTMP 流中,而另一台则收听远程 RTMP 源。我们都将远程窗口设置得比本地窗口大,这样一来,即时视频聊天就完成了。
背景
这真是太棒了。因为整个过程使用的是 TCP 而不是 UDP,所以我们没有看到任何跳帧现象 - 我们只需要处理传输延迟,这非常小,因为我们可以精确配置源视频质量和传输比特率,而且由于数据是点对点的,没有涉及任何中继,因此几乎没有延迟。
一旦我们证明了我们确实可以做到这一点,我们就会立即被其他有趣的实验分散注意力,因此没有再进一步研究,但是将 PuTTY 添加到其中并在其中添加几个端口重定向将是微不足道的 - 突然间整个事情就会进入 SSL 隧道。
不过,这个系统使用起来相当麻烦:如果远程链接不稳定一次,VLC 的本地副本会显示“不”并崩溃。我们的两个连接都很好,所以这种情况不会发生(如果我没记错的话),但这始终是可能发生的。配置所有东西需要 30 次点击。我想我可以通过命令行标志设置一个不错的自动配置,但这无法解决连接中断的问题。
问题
我想知道那里有什么没有使用 SIP,没有需要奇怪的代理,没有依赖于一堆“极其复杂的架构和协议有设置和配置,因为......传统!”,但是做通过一个薄的、资源少的、设置速度极快的传输/加密层提供简单的视频和音频传输。
如果它也可以在 Android 上运行那就太好了,但我主要希望它能在 Linux 上运行。
笔记我在标题中说“我可以使用什么技术”——我不是在寻找产品或服务的推荐,而是寻找可以使用不同工具选择来应用的通用概念。