browser - 2020年直播的标准方式是什么?
问题描述
我想 1) 流式传输我的相机 + 麦克风或 2) 将我的桌面 + 麦克风(或 OBS)流式传输给许多人(一对多)从网络浏览器观看。因为我想与人实时交流,所以非常喜欢低延迟(1 秒或更短的时间会很棒)。
今天这样做的标准方法是什么?我不知道 twitch 使用什么,但是从玩 rtmp(使用 nginx rtmp 模块)开始,似乎有 4 秒以上的延迟(或者我可能配置得不好),并且似乎没有原生浏览器支持。观看的人会使用他们的台式电脑,但有些人可能会通过手机观看。
我是否要以某种方式使用 webrtc(它是否支持 1 到多个?我使用什么软件)?还是 HLS(它似乎想要录制,我想要什么配置用于直播视频)?我有哪些选择?
解决方案
这是一个极其困难的问题。如果您只需要一个满手的观众(大约 10 个或更少),那么 WebRTC 是您的最佳选择。如果有很多观众,而且可以花很多钱,WebRTC 还是不错的选择,但是带宽成本会加起来。如果你没有很多钱,但需要很多观众,你需要更便宜的带宽,这意味着使用 HTTP CDN 和 HLS 或 DASH,这会增加延迟,但操作起来更便宜。如果你有 100+ 百万美元,你可以建立你自己的 WebRTC cdn 并且两者兼得。
所以要回答你的问题,没有标准的方法。这取决于您的情况、用例和预算。
推荐阅读
- javascript - 我的 Angular Universal SPA 消耗大量内存。如何识别内存泄漏的位置?
- c# - 按住鼠标按钮时充电并释放它
- r - 在r中生成不同长度的随机数,然后组合
- mongodb - express/mongo 可以推送新数据,但无法更新现有数据
- python - Keras ValueError: Error when checking model target (CNN)
- python - 如何有效地将数据从 Postgres 传输到 Amazon Redshift?
- c++ - 删除后内存泄漏[]
- c - 使用指针删除 C 中的重复项时出错
- angular - 间谍返回值在使用茉莉花的服务测试中无法正常工作
- python - Pytorch RuntimeError:大小不匹配