假设内容的质量相同(ceteris paribus),流媒体(即视频,音频)使用的带宽与下载的带宽相同吗?
假设我要从亚马逊下载高清电影或将其流式传输,这是否等同于带宽的使用?
假设内容的质量相同(ceteris paribus),流媒体(即视频,音频)使用的带宽与下载的带宽相同吗?
假设我要从亚马逊下载高清电影或将其流式传输,这是否等同于带宽的使用?
Answers:
它通常不是等效的。
流媒体提供者使用诸如DASH之类的协议来动态调整电影的质量,以适应用户的带宽可用性和质量要求。然后,服务器可能会限制您的连接速率,以便您可以缓冲一定量(大约10秒,也许30分钟或整分钟),然后,您仅获得实时获取内容所需的带宽量。从提供商的角度来看,这是显而易见的优化,因为它可以在用户之间平均分配带宽,并且还避免了白白传输数据(例如,当用户观看480p电影10分钟时,没有速率限制和如果使用常见的下行链路,则下载的内容可能远远超过已下载的内容,但如果用户停止观看视频,则会浪费很多资源)。
传输的数据量是相同的。但是流式传输可能会花费更长的时间,因为提供者可能将数据传输的速率限制为实时以给定质量交付内容所需的速率。
Dailymotion是对连接进行速率限制的提供者之一。从具有至少100 Mbit / s对称连接的服务器上,我们看到以下行为¹:
youtube-dl http://www.dailymotion.com/video/xhc3zz_long-distance-calling-into-the-black-wide-open_music
[dailymotion] xhc3zz: Downloading webpage
[dailymotion] xhc3zz: Extracting information
[dailymotion] xhc3zz: Downloading embed page
[download] Destination: LONG DISTANCE CALLING - ' Into The Black Wide Open '-xhc3zz.mp4
[download] 5.8% of 51.99MiB at 203.89KiB/s ETA 04:06
该费率远低于可能的水平(其他提供商可以实现)。此外,如果您尝试使用其他材料,您会发现速率很大程度上取决于单个视频:完整高清视频的下载速度> 1 MiB / s轻松,而诸如此类的音乐视频则保持在200 KiB / s左右或以下。
概括起来,并消除一些可能的误解:一些提供商可能会通过其客户端应用程序(例如,带有html5或Flash视频播放器的youtube)或通过服务器方式对流式下载的速率进行限制。如果它们没有通过服务器的方式来限制您的速率,那么下载将消耗更多的带宽,因为客户端应用程序在流传输期间可能会应用的速率限制不会发生。当消耗的带宽相对于原始问题有所不同时,这是主要情况。
youtube-dl
将继续请求更多块,直到视频完全下载为止。因此,使用DASH进行流式传输会产生更多的开销,但是(对于用户和提供者而言)值得并且可以忽略不计。
假设我们在谈论相同的质量(即没有节流,跳帧或质量较低的流),那么尽管流可以按时间/速率进行,但充其量,流最多将占用与下载相同的带宽。对提供商来说更加方便。根据视频的压缩方式,它还可能需要更多的带宽-大多数情况下,整个图像都不会发送,而只是发送帧之间的变化(或增量)。这意味着存在的历史越多(即使用来自帧Y中像素X的蓝色色调),则需要发送的历史越少。这通常不会弹出太多,但是当流由于任何原因暂停/中断时,此“历史记录”将丢失,需要重新传输,从而增加了带宽,而在下载时,可以恢复它。在“休息”时,并假设接收者已经拥有此信息。同样的方法也可以用于音频,尤其是在没有固定速率的情况下(例如FLAC而不是mp3)
跳来跳去(跳过,重绕等)也会影响使用情况-向前经过缓冲区将减少流使用的带宽量,但是任何重绕都会增加流的带宽。另外还会有一个中断,这将导致使用率的增加(请参见上文),并且任何形式的“缩略图预览”(例如youtube和netflix的使用)也会稍微增加带宽。
最后要注意的是:压缩:这可以用于下载,但不能用于流媒体-告诫的是,大多数视频已经被压缩,因此在这里不会有太多收获(尽管在超级视频中可能还有收获的空间高分辨率/质量部门)。
流将使用较少的带宽,尤其是在网络条件恶劣的情况下,但这是有代价的。
有争议的是需要发送的数据。在下载模型中,无论如何,所有数据都必须以正确的顺序到达客户。如果网络状况不好,并且某些数据无法到达客户端,则必须重新发送它们,这会增加带宽使用率。如果某些数据混乱,则必须先将其放回原位,然后再进行显示,这会降低响应速度。
在流模型中,如果某些数据未到达客户端,则可以。如果您正在流传输电影而帧没有到达那里,则可以跳过并继续播放,这样就不会在重发时使用额外的带宽。如果有些帧乱七八糟,那就播放那些前进的帧。暂时没有问题,因此可以提高响应速度。但是,这也意味着您不一定要获取完整的数据:所见即所得就是第一枪。
如果必须在模型之间进行选择,请根据要对数据进行选择。如果您想对其进行存档和/或可能进行多次查看,请下载该文件,以确保获得所有内容。如果您不打算归档,或者只计划查看一次数据,则继续进行流式处理;您可能不会在单次观看中注意到差异,并且如果网络条件严重到足以引起您的注意,那么下载将更加糟糕。
如果您真正要求的是“带宽”(字节/秒)而不是“总数据”(字节),那么关键的问题是:在什么时间段?如果我们假设用户观看了整个视频,并且返回了相同的编解码器/质量等,而忽略了流式传输请求/响应的少量开销,那么返回的总数据将是相等的。
现在,带宽是多少?有两种方法可以理解您的问题:
直到下载完成为止的时间带宽。对于流式传输,您应该看到高带宽的尖峰(当请求下一个块时),当您观看该块时,该带宽又回到零,直到您接近该块的末尾,并且带宽再次出现尖峰。对于下载,您应该在10分钟内看到非常高的带宽,例如,整个视频下载完成后,带宽就会降为零。如果您现在停止实验,则下载带宽显然会更高,因为这样做会使下行链路最大化,直到完成。
观看视频期间的带宽。假设流和下载都立即开始观看,那么观看视频的时间对于流媒体和下载来说都是相同的。总数据大小也相同。由于带宽是每次的数据,因此在两种情况下都是相同的。
在下面的示例中,始终总共下载了40个(数据单位)。但是对于“下载”,在第一时间单位为40,而对于“流传输”,在第一时间单位为20(为了获得较大的初始块),然后为两个额外的块两次。请注意,虽然带宽是在y轴上绘制的,但是两个图形中每个图形下面的区域都对应于数据(字节)-如果对字节/时间进行积分,则会得到字节。
它们不可比。
首先,用于本地观看的最佳编码与用于流观看的最佳编码不同。
让我们谈谈视频编码。
在大多数视频编码格式中,通常有两种类型的帧:
用于本地查看的编码可以利用快速磁盘搜索来利用更多的P和B帧,而为有效流传输而编码的视频将不得不在整个视频中编码更多的冗余I帧,即使没有突然的过渡来适应随机寻找。
同样,有两种不同类型的流。您可以流式传输预先录制的流(大多数Youtube视频)和实时事件流(例如Youtube Live)。由于需要等待时间,流媒体直播事件无法利用需要很长时间或不可预测时间的高级编码技术,而预记录的流可能需要花费很多时间来编码。
流视频通常也以恒定比特率(CBR)进行编码。对于相同的目标大小,可变比特率(VBR)视频通常具有比CBR视频更高的质量。相反,对于相同质量的CBR视频,VBR视频较小。像DASH这样的自适应流协议具有自适应比特率(ABR),这是CBR和VBR之间的折衷方案。ABR允许观看者适应网络带宽的变化。给定恒定,一致的带宽,ABR与CBR几乎相同。
所有这些意味着在给定相同的质量和观看体验的情况下,您可以比流式传输视频更有效地对视频进行编码以进行本地观看,并且可以比实时流更有效地对预记录流进行视频编码。
然后,流协议中也有开销。常规的HTTP下载可以使用分块传输编码来下载整个文件,而该文件的开销非常小。流式下载将必须协商要传输的块和块的质量。在总体方案中,传输协议的开销相对较小。
总体而言,对于观看相同数量的视频,流式视频最终将占用大量带宽。就带宽使用而言,流传输的主要优点是可以节省下载但不完整观看视频的人的费用,这是非常重要的节省。
答案是“取决于”。
对于通常托管视频的提供商,答案是否定的。流式传输视频的一半像样的提供者进行速率控制,以确保为尽可能多的人提供流畅的播放和最佳带宽。因此,即使您可能有很多带宽,它也可能决定只给您5Mbit,看起来仍然很不错。
如果您执行HTTP下载,则TCP速率控制算法将启动,以确保您使连接的一端或两端或中间的任何一端饱和。因此,如果您有100Mbit的可用空间,它将使用它可以获得或接近100Mbit的所有空间。
当然,这假定在客户端和服务器之间的任何地方都没有QoS发生。
您的问题太宽松了,我也可以这样做,以便在某些简单的设置中答案也是肯定的(假设),带宽是相同的。为此,只需将文件拖放到基本Web服务器上,然后使用浏览器将其打开,以使观众可以进入。或者将视频嵌入基本Web服务器,然后再次将其在浏览器中播放,并使用相同的带宽以下假设...没有其他用户,没有其他人与您共享网络...没有其他因素会影响您的带宽。
请记住,当您从网站下载文件然后再次下载时,第一次下载和第二次下载之间的带宽可能会有所不同。这仅仅是因为服务器上的负载会发生变化,并且网络和网络路径上的拥塞也会发生变化。
所以你有它...这取决于。
从网络的角度来看,“下载”和“流”是不同的服务,称为“流量配置文件”
对于流服务,网络必须提供最小的恒定吞吐量(从技术上讲,“带宽”意味着不同),流服务对中断和抖动很敏感。它不需要最大的网络吞吐量,延迟或延迟不是关键。
从最终用户的角度来看,这意味着:视频应平稳运行,不会出现中断或掉落。视频是早于还是晚几秒开始都没关系。
“下载”通常要求最大可能的网络吞吐量,下载应尽快完成。延迟,中断和抖动并不重要。
网络可能会提供更多完全不同的流量配置文件。例如,语音服务(简单的电话呼叫)要求非常低的吞吐量,但对延迟(小于200毫秒)非常敏感
要添加其他答案,我的答案是:不一定。
现在,假设一切都相等(没有自动质量选择,没有来自服务器和/或ISP的限制)...
带宽通常定义为size_of_data除以total_time。(从技术上讲,“正确的”术语是吞吐量,但我离题了)。
假设您要流式传输2000秒大小为60 MB的视频。
使用流传输时,流传输程序可能会进行自己的速率限制以防止缓冲区溢出。因此,其HTTP请求标头可能包含Range域。自流传输开始到流传输结束为止的有效带宽约为60 MB / 2000秒= 30 KB / s = 240 kbps。
但是,如果你下载的视频顾左右而言他,你会得到最多的互联网服务的最大带宽。当然,要同时取决于其他用法。因此,假设Internet服务为6 Mbps,可用带宽为50%,您将获得3 Mbps的视频下载带宽。
流式传输实际上是一种下载方式。
当您观看流式电影时,媒体播放器将下载其中的一部分,向他们展示,并即时丢弃文件中显示的部分。
通常,当您下载文件时,您等待下载完成,然后才开始观看它。但是有些媒体播放器可以向您显示文件的下载部分,并自动暂停并等待其他文件的下载。有点喜欢流媒体,但不丢弃文件。
从技术上讲,当关注的是传输的数据总量时,下载的方式无关紧要,而是下载的文件和媒体播放器为您以流形式下载的文件之间的区别。它们可能是完全相同的文件,并且在两种情况下都意味着相同的带宽。
流媒体站点通常对其内容进行编码,以使其比特率低于商店购买的光盘。但是,您可以使用操作系统的文件共享功能,通过WiFi在笔记本电脑上通过台式机在PC上观看电影,这将占用与在台式机上观看电影几乎相同的流量(从硬盘读取字节)。驾驶)。从技术上讲,当您在观看电影的同时不断下载并丢弃其中的一部分时,它将是流式传输。
因此答案是,它绝对取决于两个文件的大小 -通过媒体播放器流式传输并下载到磁盘上。
是的,它是等效的。下载=您只能下载一次,并且它会保留在您的计算机上。Stream =您将“内容”临时下载到计算机上。