zoukankan      html  css  js  c++  java
  • 【有意思的BUG】视频连接超时

    最近遇到了一个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    

  • 相关阅读:
    Flink之DataStreamAPI入门
    Spark底层原理简化版
    Spark调优
    Flink架构及其工作原理
    Kafka总结
    leetcode数学相关
    程序员的修炼之道5
    数据库连库建表
    完成了web系统
    即将完成大型web系统
  • 原文地址:https://www.cnblogs.com/musicmovie/p/3822670.html
Copyright © 2011-2022 走看看