从开发者的角度解释网上看视频出现的各种问题

本文从开发者的角度给大家用通俗的语言来解释一下有关音视频播放的问题。

1. 为什么在视频网站上播放1080P视频有时候不是特别清晰?

1080P代表视频的分辨率是1920x1080,对于图像而言,分辨率越高,清晰度也越高;但是视频不同,视频是由多帧图像组成的,为了减少存储空间、便于传播,视频中的图像都是经过了一定的算法压缩,而压缩则必然导致失真。

在视频压缩算法中,有一个衡量压缩比率的参数,叫做:码率。它代表一秒钟的视频数据大小,例如:10Mb/s,代表1秒钟有10M bit的视频数据,对于YUV422格式的1080P视频而言,一帧图像是 1920x1080x2x8/1024/1024 = 31.64Mbit,1秒钟30帧图像的话,则有949.2Mb/s,可见其数据量之大,不压缩根本无法网上传播,因此,综上所述,有如下结论:

不要以为1080P的视频就一定是高清的,清晰度还跟视频码率密切相关,对于1080P的视频而言,蓝光视频的码率是20Mb/s,一般下载的视频码率大都是10Mb/s,一些IPCamera/无人机的码率是2~8Mb/s,而很多视频网站的码率甚至低于5M/s,其实有时还不如高码率的720P清晰~

为什么要把码率压缩到这么小,因为现在家庭带宽普遍不够高,看看你家带宽有多大就知道了。

2. 为什么在视频播放的过程中会出现“跳跃”和“花屏”现象?

“跳跃”和“花屏”现象绝大多数原因是网络传输过程中由于信号不好导致丢失了“关键数据”引起的,什么是“关键数据”?对于视频而言,就是“关键帧”/“参考帧”,下面来进一步解释。

上面提到过,视频在网上传播之前是需要压缩的,而简单来解释视频压缩的核心思想就是:每隔10~50帧取视频中的一帧图像作为“关键帧”,而随后的几帧图像由于时间/空间的冗余和相关性,我们只需记录其与关键帧的“差异”信息即可,这样视频文件就可以不用把每一帧完整的图像数据全部保存下来,从而起到了节省空间的效果。

由此可见,如果丢失掉了“关键帧”,随后的几帧图像自然就无法正常地解码了,因此产生了“花屏”现象。

从技术的角度,怎么解决“花屏”现象呢?——当我们在视频传输过程中,通过帧序号发现丢帧后,可以跳过随后的非“关键帧”,直到遇到下一个关键帧再送入解码。这样的确可以解决“花屏”现象,但是由于跳跃了很多帧,因此会出现视频图像的不连续情况(即“跳跃”现象)。


3. 迅雷边下边播的原理 ?

边下边播与播放本地文件其实差不多,只不过是文件数据不在本地,在播放器播放到指定位置之前,后台线程把需要的数据提前下载下来而已。

“边下边播”其实只是像迅雷这样的“下载工具”提的这个概念而已,我们在很多其他的视频网站上看在线视频,其实也是边下载边播放的,只不过下载的数据缓存在你不知道的目录而已,这个缓存目录可以通过如下方法找到:

打开IE浏览器->"设置"->"Internet选项"->"常规"->"设置"->"查看文件"

当然,迅雷的边下边播与其他在线网站可能不同的一点在于,它会通过P2P、多线程并行地去加快视频数据的下载速度。


4. 小结

关于在线视频播放的几个问题就解释到这儿了,有任何疑问或者建议欢迎留言或者来信[email protected]交流,或者关注我的新浪微博 @卢_俊 或者扫描下面的二维码关注我的微信公众号获取最新的文章和资讯。

时间: 2024-08-05 07:05:19

从开发者的角度解释网上看视频出现的各种问题的相关文章

Android IOS WebRTC 音视频开发总结(四八)-- 从商业和技术的角度看视频行业的机会

本文主要从不同角度介绍视频行业的机会,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,欢迎关注个人微信公众号blacker ------------------------------------------------------------- 这段时间在北京呆了10天左右,相对深圳,这边有点冷,也比较干燥,期间发生了两件大事: 1,优酷和土豆被阿里招安了 2,搜狐出品人大会召开了 第一件事是大事,但跟我们关系不大,第二件事不算大事,但跟我们关系不小,原因如下: 1,优酷土豆

从开发者的角度分析iOS应如何省电

从开发者的角度分析iOS应如何省电 说明 网上关于iPhone如何省电的文章很多.但是基本没有讲原理.而在生活中,很多人在使用iPhone中有着明显的错误的省电习惯. 本文从iOS开发者的角度,对iOS的各项功能和技术进行说明,得出合理的省电技巧,以供大家参考. 如果你对省电原理没有兴趣,请直接到文章最后,查看如何省电的方法. 哪些功能(硬件)是耗电大户 网络下载 wifi和4G都是耗电大户,但是要知道手机上的网络模块并不是一直在高速工作状态.一般认为下载时耗电多,如果不是处于下载状态,耗电较少

从一个开发者的角度评价编程语言

这其实是一个比较老的话题了,关于各种语言的好坏选择网上怎么说的都有,有趣的是所有的争论占据伤风的总是一些脑残粉,对于编程语言的选择不同的人有不同的看法,我大致分为以下几类: 1.搞开发的 2.搞教育的 3.搞科研/学术的 4.业余的 5.其它 我是做开发的,这篇文章主要是从开发者的角度,根据多年来各种语言的使用经验来谈谈主流的编程语言,这些语言包括(C.C++.D.Go.Java.C#.Delphi.VB.PHP.Python),没有列出的语言表示我没用过,所以也不好评价. 我认为一个好的编程语

怎样从网上下载视频

通常我们想要对视频进行处理的第一步是------将我们看到的较好的视频下载下来,这样我们才能对我们想要的视频进行剪辑.制作.后期处理.所以我收集了一些方法可以帮助我们在网上下载视频. (1)通过现有的视频APP进行下载视频,常用的APP包括优酷,腾讯,爱奇艺,itudou等 首先,以优酷为例介绍下载视频的方法: 优酷 第一步,打开优酷APP,找到你想要下载的视频 第二步,点击进入播放界面,找到下载按钮 第三步,下载路径要记得,同时优酷较好的一点是可以规定下载后视频的格式 第四步,下载即可,到对应

客观的聊聊看视频学习的方式到底如何

QQ群522720170,无商业广告,每日干货电子书+视频分享 荔枝FM手机客户端搜索"挨踢脱口秀"即可订阅我们 为什么写这篇文章 原因很简单,无非就是两个方面:有人觉得视频学习效果不好而有人觉得视频学习效果很好.你看两个极端吧,所以为了让大家能提高自己分辨.判断事情的能力就决定以比较客观的角度来聊聊.  事先声明:纯属个人观点,以下我说的有可能都是错的.请勿漫骂,不喜勿看!不管说的对不对能给大家提供多一点的思考方式不是什么坏事.有时候不是我们能力差,而是思维方式太狭隘. 本文想说啥呢

投资人的能量往往大多远远不仅于此,他能站在不同的角度和高度看问题(要早点拿投资,要舍得让出股份)——最好不要让 Leader 一边做技术、一边做管理,人的能力是有限的,精力也是有限的

  摘要:在创业三年时间里作为联合创始人,虽然拿着大家均等的股份,我始终是没有什么话语权的,但是,这也给了我从旁观者的角度看清整个局面的机会.创业公司的成败绝大程度取决于技术大牛和公司 Leader,这两个人最好能在性格上形成互补,而遗憾的是我们公司是同一人. 关于决定是否创业 2012年4月,正好三年前整,在深圳能源正混的郁郁不得志的时候,大学的好兄弟找到我一起创业,他们有钱.有 idea,就是差人,当时的我还是技术菜鸟,本科学的也不是计算机,看着移动互联网蓬勃的发展羡慕不已.很快就答应了一起

关灯看视频(Turn Off the Lights)

插件介绍 随着使用互联网的人越来越多在网络上看视频已是常事一些相关的软件就运应而生今天为大家推荐一个能够提高用户们看视频体验的插件.关灯看视频Turn Off the Lights观看视频时自动调暗页面让您仿佛置身于电影院中只要轻轻按下灯的开关页面就会暗淡下去. 然后您就可以专心享受视频了. 再按一次开关页面就会恢复回原来的样子.Turn Off the Lights是一个轻量而实用的插件它为更舒适的观看体验而设计. 它适用于所有已知的视频网站例如 YouTube. Vimeo. Dailymo

ubuntu网页看视频

ubuntu上使用火狐和chromium都无法在网页看视频,玩三国杀,安装adobe flash也不管用,最后尝试下载chrome,安装成功后就直接可以看视频,玩三国了 下载google-chrome-stable_current_i386_35.0.1916.114.deb 执行指令sudo dpkg -i google-chrome-stable_current_i386_35.0.1916.114.deb 安装成功,可以直接使用了

(网上看的)asp.net使用uploadify上传出现的IO Error问题

解决方法: 1.uploadify控件的自定义size必须调整大小,即属性:sizeLimit:'300000000000' //根据自己需要 2.asp.net中webconfig用记事本打开,插在<system.web></system.web>之间, “<httpRuntime maxRequestLength="2097151" executionTimeout="50000" />” maxRequestLength大小