2010-08-25 66 views
21

令人惊讶的是,像doitlive.tv这样的直播流网站可以在非常低的带宽(低至25kbps)的家庭连接上传送视频。有人能向我解释这些网站背后的技术,以及他们如何在如此低的带宽下实现交付?直播网站背后的技术是什么?

回答

3

内容传递系统,并减少文件大小。

第一个让他们将文件存储在全球数据中心的服务器中,从而降低了用户的运输和存储成本。这意味着更快的下载/流媒体。

第二种以多种形式出现。最显着的是降低分辨率,调整比特率和使用高级编解码器。如果将640x480分辨率的视频缩小为320x240,则需要大约四分之一的空间来存储它。同样,使用较低的比特率可以使视频更加有效,但是精度的损失也是文件大小的损失。最后,像h.264这样的更高级编解码器可以以相同的视觉质量压缩相同的视频,比旧的或更简单的编解码器(如MPEG1或DivX)要小。

0

现在我对视频流非常陌生,所以如果有人可以确认我说的是真的假,我们将不胜感激。

如果您想购买现在出售的最好的高清电视之一,最好的质量,你可以得到它是1080.你可以选择你想要1080p或1080i。 'p'表示电视机使用逐行扫描技术。这是屏幕上的整个图像始终在更新的位置。它的工作方式与地面电视作品相同。现在'我'意味着电视使用交错技术。隔行扫描是只有已更改的像素才会在屏幕上更新的位置。如果您在信号/接收信号较低的情况下通过天线观看数字电视,并且您开始看到积木,则可能会注意到这一点。

流式传输现在与隔行扫描技术一样发展。发明隔行扫描是为了减少带宽,无论是在电视上还是在互联网上。通过使用隔行流式传输,这为广播公司和最终用户减少了带宽。

隔行扫描技术的例子在流被用于为http://www.tvcatchup.com

(以上链接,如果你住在英国可能只工作)

24

我已经与几个主要的紧密合作最近在这个问题上工作的公司。首先,正如其他答案中已经提到的那样,利用内容传送网络提供最佳分配。

CDN基本上是一个服务器的全球集群,它拥有单个资源的许多副本。所以,当你从纽约市请求资源时,你会得到与纽约物理上最接近的版本。 CDN的工作原理有很多很好的解释。

你对带宽的问题涉及一种称为自适应比特率流技术。比方说,你有一个直播网络直播。因为它是流媒体,所以有一种称为分段器的技术,将整个文件分成几个小包,可以在稍后拼凑起来。每个段都被编码为各种分辨率和功能。所以,当你,客户正在要求这些文件时,CDN可以知道连接的强度。如果它较低,则自适应比特率流式传输会为您提供较低分辨率的文件。你有没有注意到当你开始在线观看视频时,它的质量很低,但是随着时间的推移而改善?这是这项技术的完美例子。随着您的连接缓冲更快,速度更快,您可以获得更高质量的“细分”。点击Level 3和Akamai等公司的网站,您可以阅读他们的许多白皮书,了解它们的工作原理。

这是关于Adaptive Bit Rate流媒体的文章。

+3

我一直以为视频质量随着时间的推移会变得更好,因为我们的眼睛/大脑能够猜出“缺失”像素是什么。了解真实的原因非常酷。 – 2010-09-04 05:40:41

+1

很好的回答。我还会添加一些有关视频技术的笔记,这些笔记目前常常是H.264。 http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC – 2010-09-05 02:02:03

+0

非常好的回答..学到了很多东西...... – Flash 2010-09-05 05:31:58

2

如果是关于Flash流媒体,那么媒体服务器如Adobe Flash Media Server,Wowza和开源Red5。

这些用于通过网络流式传输记录或直播流。

带宽使用量取决于视频和声音编解码器。

您可以看到Adobe Flash here的编解码器支持。 你也可以检查this Wikipedia article

这些可能会给你一个想法。

1

过去曾经使用过一种简单的方法,但现在可能使用也可能不使用,只能使用UDP而不使用TCP。 UDP的开销较低。对于像PDF或程序这样的东西,你需要每个字节,丢失一些或几个数据包,而整个事情是没用的。对于视频和音频而言,情况并非如此,我们倾向于原谅或者可能没有注意到丢帧或某些音频丢失。 UDP不具备TCP所保证的可靠性,但对于流式传输而言,没关系,只要速度足够好,速度比可靠性更重要。

当前流式传输视频的最重要原因是压缩技术。每种新技术(h.264)或版本(mpeg1,mpeg2,...)都需要相同比特率或更低比特率的质量更好的视频,以获得相同的质量或两者兼容,在较低的比特率下质量更好。该算法为编码器和解码器上的计算能力交换带宽。理想情况下,大部分工作都在编码端,这样解码算法可以很简单。如果您曾尝试对高质量的mpeg2或h.264或其他类型的视频进行编码,那么对视频进行编码通常比播放视频要花费更长的时间。

添加到其他网络技巧,如其他答案中描述的内容交付网络/系统。无论如何,这将减少您与系统之间的内容跳转次数,以及跨多台服务器传播内容的整体传送带宽。

1

背后实时流媒体网站的技术:

Amazon EC2的 - 要设置实例来放大和缩小自适应基于请求。

Amazon Route S3 - 提供Web服务中的存储。

HTML5 - 用于在网络上构建和渲染内容。

Wowza - 用于流式直播视频。