【发布时间】:2014-01-20 08:32:29
【问题描述】:
根据我在线观看流媒体视频的经验,似乎只要您的连接速度足够快,视频就可以播放。
但是,如果您和视频服务器之间有任何东西减慢了您的连接速度,那么无处不在的视频缓冲算法就会变得显而易见:
while(user is trying to enjoy video)
{
if(at least 2 seconds of video has buffered)
{
play()
}
else
{
pause()
//hope network conditions improve
}
}
根据您的心情,忍受这可能会非常令人沮丧,或者看到视频播放器认为播放几秒钟并一遍又一遍地暂停是正确的做法是完全可笑的。
是否有可能以一种可以让观看视频时卡顿最少的方式缓冲视频?
在上述算法中,合乎逻辑的下一步似乎是做这样的事情:
buffer number = 2
annoyance count = 0
while(user is trying to enjoy video)
{
if(at least buffer number of seconds of video has buffered)
{
play()
}
else
{
annoyance count++
pause()
if(annoyance count > 1)
{
buffer number++
}
}
}
是否有一个巨大的技术因素需要克服才能让视频在慢速连接下也能观看?
是否有更好的算法因某种原因(难以实现、处理能力、不为人知等)而被避免?
似乎人类能够轻松计算出在任何给定的连接速度下您需要暂停视频多长时间才能获得流畅的播放体验。为什么电脑不能?这只是数学不是吗?
【问题讨论】: