【问题标题】:How to properly calculate bandwidth needed for a live video stream?如何正确计算实时视频流所需的带宽?
【发布时间】:2017-10-25 08:52:48
【问题描述】:
假设,我有一个正在运行实时视频流的服务。
例如,我的仓库中有一台高清彩色摄像机,我想将所有工作流程流式传输到一个站点,供观众 24/7 观看。
现在,相机将其流发送到我的服务器,服务器将其转换为 HTML 页面上的画布。如果服务器是本地的,我不关心摄像机向它发送了多少数据,但我想知道有多少数据发送给了观众。
那么,如果此时没有观众,就不会使用带宽,对吧?如果有 1000 个观众,那么它需要的带宽是 1 个观众的 1000 倍?如果有 2 个摄像头,那我应该乘以 2?
如何正确计算这些不同条件下的带宽要求,以了解我需要花费多少?
【问题讨论】:
标签:
video-streaming
bandwidth
http-live-streaming
【解决方案1】:
HTML 页面上的画布
帆布?考虑使用<video> 标签,除非您有自己解码视频的奇怪要求。
那么,如果此时没有观众,就不会使用带宽,对吧?
相机仍会向服务器发送单个带宽流,但是是的,不会使用从服务器开始的带宽。
如果有 1000 个查看器,那么它需要的带宽是 1 个查看器的 1000 倍?
正确。
如果有 2 个摄像头,我应该乘以 2?
正确。
如何正确计算这些不同条件下的带宽要求,以了解我需要花费多少?
你的基本数学是正确的,但还有其他事情你没有考虑。如果您真的要拥有 1,000 人,您可能还希望您的视频能够在不同的浏览器和不同的比特率下工作。如今,通常以不同的分辨率对 3 到 8 种不同比特率的视频进行编码。然后客户可以选择所需的比特率。对于编解码器,您通常可以在大多数设备上使用 H.264 和 AAC 音频。
如果这是一个公共流,我建议只在 YouTube 上流式传输,让 Google 承担这一切的成本。如您所知,这很快就会变得昂贵。