如何提升视频服务质量
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
解决网络层的问题,解决服务更近的问题.
建议继续学习:
- HTTP Live Streaming (HLS) 不错的视频直播技术 (阅读:6017)
- 说起版权保护 (阅读:2373)
- 姐要的视频广告 (阅读:2256)
- 浅析视频搜索中的清晰度识别过程 (阅读:2140)
- HTML5视频的那些事儿 (阅读:2143)
- 视频站收录浅析 (阅读:1981)
- 视频的容器与格式 (阅读:953)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:ywdblog 来源: 技术 总结 记录 生活 工作
- 标签: 视频
- 发布时间:2011-06-02 00:14:04
- [53] IOS安全–浅谈关于IOS加固的几种方法
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [50] android 开发入门
- [50] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑