最近遇到了一个BUG,但是它的出现又存在概率,所以挺有意思的。

BUG的现象是:视频在播放过程中(已播放进度<已加载进度),首先出现了缓冲的动画效果其次呈现雪花背景并且抛出异常"视频连接超时" 。或者首先出现了缓冲的动画效果其次视频返回从头播放。

定位到BUG的原因是:某1台服务器存在不稳定的因素,导致视频播放过程中出现了中断。(也就是外部原因)(不过外部原因对服务造成影响的大小是否可以在代码层面优化?可以补充和思考)

具体说说----

当我们访问1个视频网站,打开了某1个视频,那么接下来会有几个步骤:

[1] 解析XML文件

[2] 与视频源建立连接

[3] 视频开始播放

那么,这个BUG的原因是在第[2]个步骤,为啥会存在概率呢?

网站的视频源会存放在多台服务器上面,比如放在这3台服务器上:flv.bn.youtube.com | flv4.bn.youtube.com | flv5.bn.youtube.com

这样做的目的(1)是不会因为某1台服务器坏了就影响到用户看不了视频,目的(2)是分散用户访问对服务器的压力,

同时,程序员在代码内也事先配置了flv、flv4、flv5被访问的概率,

所以,用户有时候是从flv.bn.youtube.com获取视频源,有时候是从flv4.bn.youtube.com获取视频源,有时候也可能是从flv5.bn.youtube.com获取视频源,

当用户的某1次请求是与那台不稳定的服务器建立的(即:在不稳定的服务器上看视频,比如假设今天flv.bn.youtube.com不稳定),就会出现这个BUG了。BUG的表现形式虽然有所差别,那是受到网络环境和服务器配置等因素共同影响的了。

[ 2014-07-03 16:22:27 ] YoutubePlayer xx.xxxx
[ 2014-07-03 16:22:27 ] Chrome ooooo
[ 2014-07-03 16:22:27 ] WIN ooooo
[ 2014-07-03 16:22:27 ] sid:xxxxx
[ 2014-07-03 16:22:27 ] vid:ooooo
[ 2014-07-03 16:22:27 ] topicid:xxxxx
[ 2014-07-03 16:22:27 ] pltype:ooooo
[ 2014-07-03 16:22:27 ] iplimit:xxxxx
[ 2014-07-03 16:22:27 ] videoadv:http://xxx.ooo.xxx.ooo.xml
[ 2014-07-03 16:22:29 ] _m:1, _b:0

[ 2014-07-03 16:22:29 ] ns.play(http://flv.bn.youtube.com/xxxxx.flv)
[ 2014-07-03 16:22:29 ] false | NetStream.Play.Start
[ 2014-07-03 16:22:29 ] duration:437.24
[ 2014-07-03 16:22:30 ] ns.play(http://flv.bn.youtube.com/xxxxx.flv)
[ 2014-07-03 16:22:30 ] true | NetStream.Play.Start
[ 2014-07-03 16:22:30 ] ns.play(http://flv.bn.youtube.com/xxxxx.flv?start=2129&end=33031317)
[ 2014-07-03 16:22:30 ] true | NetStream.Play.Start
[ 2014-07-03 16:22:31 ] true | NetStream.Video.DimensionChange
[ 2014-07-03 16:22:31 ] true | NetStream.Buffer.Full
[ 2014-07-03 16:22:46 ] true | NetStream.Buffer.Flush
[ 2014-07-03 16:22:48 ] true | NetStream.Play.Stop    

【有意思的BUG】视频连接超时的更多相关文章

  1. 关于MySQL的wait_timeout连接超时问题报错解决方案

    bug回顾 : 想必大家在用MySQL时都会遇到连接超时的问题,如下图所示: ### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ...

  2. 关于Oracle连接超时的问题

    测试环境ORACLE 11.2.0. 如果连接池设置单个连接闲置时间大于数据库连接超时时间,则连接池中的连接发出数据请求时会出现Connect timeout occurred错误, 这是由于连接超时 ...

  3. MySQL的8小时连接超时时间,导致系统过夜即崩溃,报错Could not roll back Hibernate transaction

    2014年3月开始给单位开发<机关规范化管理网络平台>,10月底成功上线运行,但是存在一个bug: 部署环境: apache tomcat 6.0.41 + mysql5.5 + jbpm ...

  4. Linux Vsftpd 连接超时解决方法(被动模式)

    http://blog.csdn.net/qq_15766181/article/details/46554643 使用 FileZilla FTP Client 连接 Vsftpd FTP,在没有配 ...

  5. 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

    1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接 ...

  6. SQL Server 连接超时案例一则

    上周六,一工厂系统管理员反馈一数据库连接不上,SSMS连接数据库报"连接超时时间已到.在尝试使用预登录握手确认时超过了此超时时间.......", 如下截图所示: 另外远程连接也连 ...

  7. SSRS报表连接超时的问题

    这段时间遇到一个问题就是ReportService 中采用了远程连接的报表偶尔会断开连接,导致报表导出异常,查阅了很多资料,几天来就是断断续续的终于解决了这个问题,下面把一些解决的点一一展示出来,便于 ...

  8. Linux Vsftpd 连接超时解决方法

    Linux Vsftpd 连接超时解决方法 2013-11-13 10:58:34|  分类: 默认分类|举报|字号 订阅     解决方法(http://www.lingdus.com/thread ...

  9. (转)hbase master挂掉-zookeeper连接超时原因

    link:http://www.51testing.com/?uid-445759-action-viewspace-itemid-812467 并行运行hbase删表,建表操作,多个表多个regio ...

随机推荐

  1. js或者jq的tab切换

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. CentOS6.4虚拟机设置固定IP、安装JDK、Tomcat、Redis并部署web项目

    一.CentOS设置固定IP 1.直接修改配置文件的方式,原文地址:http://www.cnblogs.com/zhja/p/3964159.html (1)首先获取你的GATEWAY 方便后面在c ...

  3. VB6之写注册表

    难免会遇到写注册表的情况,写了个实用点的RegWrite函数.为了减少代码量,用WScript.Shell取代了API来实现. 使用方式就在注释中了,就不再过多解释了.PS:注释比实现代码要丰富多了, ...

  4. ABP入门系列(20)——使用后台作业和工作者

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1.引言 说到后台作业,你可能条件反射的想到BackgroundWorker,但后台作业并非是后台 ...

  5. js中表单的聚焦失焦事件

    焦点事件: 不是所有元素都有焦点事件,只有可交互性的元素才有,比如表单元素,a标签.页面中只能有一个元素有焦点,一个聚焦,另一个就失焦,默认在document. 例子结构如下: <form> ...

  6. 使用ajax方法实现form表单的提交(附源码)

    写在前面的话 在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说 ...

  7. AllPairs运用遇到的问题及解决办法分享

    前些天用AllPairs自动生成了交互式测试用例,中间遇到的问题困扰了一天,最后解决了.现在分享下解决过程 首先,D\AllPairs是我的ALLPairs安装目录,C盘桌面test.txt是我写的测 ...

  8. Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移

    Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移      很多操作需要 Matrix 来支持:Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitma ...

  9. 20170713_js闭包/匿名函数/作用域

    js:闭包 var getNum; function getCounter() { var n = 1; var inner = function () {return n++; } console. ...

  10. [bzoj 1468][poj 1741]Tree [点分治]

    Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Def ...