令人惊讶的是,像doitlive.tv这样的直播网站可以在极低带宽(低至25kbps)家庭连接上提供视频。有人能解释一下这些网站背后的技术以及他们如何设法在如此低的带宽下交付吗?
答案 0 :(得分:25)
我最近在这个问题上与一些主要公司密切合作。首先,正如其他答案中已经提到的,内容交付网络被用来提供最佳分配。
CDN基本上是一个全球服务器集群,它拥有单个资源的许多副本。因此,当您从纽约市请求该资源时,您将获得物理上最接近纽约的版本。关于CDN如何运作有很多很好的解释。
关于带宽的问题涉及一种称为自适应比特率流的技术。假设您有直播到网络的直播。由于它是流式传输,因此有一种称为分段器的技术将整个文件整理成可以在以后拼凑在一起的小数据包。每个段都被编码为各种分辨率和功能。因此,正如您,客户端,正在询问文件,CDN可以告诉您连接的强大程度。如果它很低,则自适应比特率流为您提供较低分辨率的文件。你有没有注意到当你开始在线观看视频时,它质量低但随着时间的推移会有所改善?这是该技术的完美示例。随着您的连接缓冲越来越快,您可以获得更高质量的“细分”。点击Level 3和Akamai等公司的网站,您可以阅读很多关于它们如何运作的白皮书。
这是关于Adaptive Bit Rate Streaming的文章。
答案 1 :(得分:3)
内容交付系统,并减少文件大小。
第一个允许他们将文件存储在世界各地的数据中心的服务器中,从而降低了用户的传输和存储成本。这意味着更快的下载/流媒体。
第二种有多种形式。最值得注意的是降低分辨率,调整比特率和使用高级编解码器。如果将640x480分辨率的视频缩小为320x240,则需要大约1/4的空间来存储它。同样,使用较低的比特率会使视频更加严重,但精度的损失也会导致文件大小的损失。最后,像h.264这样的更高级的编解码器可以以相同的视觉质量压缩相同的视频,比旧的或更简单的编解码器(如MPEG1或DivX)小。
答案 2 :(得分:2)
如果是关于Flash流媒体,则有Adobe Flash Media Server,Wowza和开源Red5等媒体服务器。
这些用于通过网络传输录制或实时流。
带宽使用量取决于视频和声音编解码器。
您可以通过Adobe Flash here查看编解码器支持。 您也可以查看this Wikipedia article。
那些可能会给你一个想法。
答案 3 :(得分:1)
过去使用的一种简单方法,但今天可能使用或不使用,可能是使用UDP而不是TCP。 UDP具有较低的开销。对于像pdf或程序这样的东西,你需要每个字节,丢失一些或几个值的包,整个事情是无用的。对于视频和音频,情况并非如此,我们倾向于原谅或者可能不会注意掉帧或丢失音频。 UDP没有TCP所保证的可靠性,但对于流式传输而言,速度比可靠性更重要,只要它足够好。
今天流视频能力的最重要原因是压缩技术。每种新技术(h.264)或版本(mpeg1,mpeg2,......)都需要相同比特率或更低比特率的更高质量视频,以获得相同质量或两者,在较低比特率下具有更好的质量。该算法在编码器和解码器上交换带宽以用于计算能力。理想情况下,大部分工作都在编码方面,因此解码算法可以很简单。如果您曾尝试对高质量的mpeg2或h.264或其他类型的视频进行编码,则对视频进行编码所需的时间通常要比播放视频时长得多。
添加其他网络技巧,例如此问题的其他答案中描述的内容交付网络/系统。这样做的长短可以减少您与具有内容的系统之间的跳数,并将内容的总体传输带宽分散到多个服务器上。
答案 4 :(得分:1)
直播网站背后的技术:
Amazon EC2 - 设置实例以根据请求自适应地向上和向下扩展。
Amazon Route S3 - 在Web服务中提供存储。
HTML5 - 用于在网络上构建和呈现内容。
Wowza - 用于直播视频。
答案 5 :(得分:0)
现在我对视频流非常陌生,所以如果有人能够确认我所说的是假的,那么我们将不胜感激。
如果您想购买当今最畅销的高清电视之一,您可以获得的最佳质量是1080.您可以选择是否需要1080p或1080i。 'p'表示电视使用逐行扫描技术。这是屏幕上的整个图片一直在更新的地方。它的工作方式与地面电视的工作方式相同。现在'我'意味着电视使用隔行扫描技术。隔行扫描是指仅在屏幕上更新已更改的像素。如果您在信号/接收信号较低时通过天线观看数字电视并且开始看到数据块,则可能会注意到这一点。
流媒体正在以与隔行扫描技术相同的方式发展。隔行扫描是为减少带宽而发明的,无论是在电视上还是在互联网上。通过使用隔行扫描流,这为广播公司和最终用户带来了减少的带宽。流媒体中使用的隔行扫描技术的示例是http://www.tvcatchup.com
(以上链接仅在您居住在英国时才有效)