技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统架构 --> 如何提升视频服务质量

如何提升视频服务质量

浏览:5304次  出处信息

    1:智能IP调度

    IP库提供了IP地址(段)同地理、ISP、结构等信息映射关系的一组数据。通过用户端的IP和IP库进行比较更加精准的定位用户.从统计的数据来看10%的用户下载速分率小于100KByte/s.对于实际的IP调度可能要根据用户实际的网络情况进行不断的调整.

    2:码率大小

    码率就是数据传输时单位时间传送的数据位数,一般用单位是kbps即千位每秒.

    码率分为固定码率和可变码率.码率和清晰度是成正比的.提升码率对于视频容量和带宽都具有较大影响,而对于用户来说,需要考虑用户下行带宽和下载速率.没有想到一个方法来统计一个码率为500的视频文件,下载速率需要达到多少.从网宿得到的反馈是740kbps的用户可能查看视频没有问题.

    对于初始化下载的视频一般采用预加载视频的方式,而对于拖动的用户,一般其都有心理承受能力.

    一般针对大码率的视频下载做的优化包括:

    (1)预加载.

    (2)视频开始和结尾采用低码率的文件.

    (3)根据用户实际情况选择不同码率的文件.未来快速的能够切换不同码率的文件,视频PID一定要设计好,按照我们领导的意思应该是.

    视频PID:表示视频的编号(可能基于数据库存储),通过这编号能够知道是什么用户上传的,当然还可以扩展很多信息,简单的来说通过PID能够知道很多视频相关信息(不同码率的文件同一个PID).

    视频Fid:表示文件存储的信息,比如视频文件后缀,如何区分不同码率.存储方式是怎么设计的(应对扩容和变化).通过PID能够快速换算出Fid.

    3:限速

    从视频CDN发展来看,限速已经成了标准模块.从我个人的理解来看,限速主要解决高峰带宽的成本问题,次要看能够减少高峰期间待遇单机的压力.今天和一个同事也聊了下,针对Squid的delay_pool模块有如下的一些收获:

    (1)delay_pool模块限制其实是假限制,不是平均的控制速率而做到限速的.而是通过计数器方式进行控制的.

    (2)对于Cache Miss的情况是不做限制的.这个设计是比较让我奇怪的,squid一般作为正向代理(局域网用户直接面对代理服务器).而为了减少某个内网用户直接占用代理服务器的下载带宽(链接外网)才出现了这个模块.

    而我们将Squid作为反向代理(面对的用户是互联网用户)使用,它假设内网带宽传输不成问题,所以才如此设计这个模块.

    4:带宽

    毫无疑问视频业务就是一个网络I/O的重应用,其实我们一直陷入一个误区,极大化提升单机性能的原因无非就是尽量的跑满带宽(在磁盘负载一定的情况下),另外单机优化就是减少成本.而调度无非是合理利用资源.进行负载均衡.

    5:CDN

    解决网络层的问题,解决服务更近的问题.

建议继续学习:

  1. HTTP Live Streaming (HLS) 不错的视频直播技术    (阅读:6022)
  2. 说起版权保护    (阅读:2380)
  3. 姐要的视频广告    (阅读:2263)
  4. 浅析视频搜索中的清晰度识别过程    (阅读:2145)
  5. HTML5视频的那些事儿    (阅读:2152)
  6. 视频站收录浅析    (阅读:1986)
  7. 视频的容器与格式    (阅读:967)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1