网络视频相关技术简介.pptx_第1页
网络视频相关技术简介.pptx_第2页
网络视频相关技术简介.pptx_第3页
网络视频相关技术简介.pptx_第4页
网络视频相关技术简介.pptx_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,网络视频相关技术简介,产品技术中心 杨超,2,大纲,网络视频的客户端(播放器) 网络视频的服务器 音视频编解码 最关键的因素cache Nginx,网络视频的客户端(播放器),B/S模式 Flash/silverlight Youku Toudu Ku6 Qiyi 网易,C/S模式 C+ MFC PPStream PPLive 迅雷,3,网络视频的客户端(播放器),B/S和C/S的优缺点 B/S: 简单的一个道理,用户都是懒惰的,所以相对来说,基于B/S的视频网站在吸引用户方面有一定的优势;缺点是在技术层面可控性不强。 C/S: 可以自己选择视频格式和流媒体协议,基本上都是基于P2P的。,

2、4,网络视频的客户端(播放器),误区:播放器只是简单的播放功能 功能一:基本的播放,放大,缩小,全屏等等 功能二:广告投放 功能三:视频播放控制 功能四:用户行为记录,5,网络视频的服务器,三个主要的协议 http: 最广泛应用的应用层协议,模式request/response. rtsp:实时流传输协议,它在体系机构上位于RTP和 RTCP之上,它由TCP或RTP完成数据传输,由RTCP完成数据传送的控制。HTTP请求由客户机发出,服务器做出响应;使用RTSP, 客户机都可以发出请求,即RTSP可以是双向的。 rtmp: RTMP协议是被Flash用于对象,视频,音频的传输。该协议建立在TC

3、P协议或者轮询HTTP协议之上。RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的音频/视频数据。,6,Rtmp的结构,7,AMF的结构,8,网络视频的服务器,基于http的网络视频播放方式的变化 最简单的方式,一次性下载 显式的分段 隐式的分段 理想状况,做到像rtsp和rtmp一样,能够实时下载并播放(http live stream)。 节省带宽和服务器资源,9,Http Live Stream,应用场景 Streaming audio or video to iPhone, iPad, or iPod touch Streaming live e

4、vents without special server software Sending video on demand with encryption and authentication Http Live Stream是什么? HTTP Live Streaming lets you send audio and video over HTTP from an ordinary web server for playback on iPhone, iPad, iPod touch, and desktop computers. HTTP Live Streaming supports

5、both live broadcasts and prerecorded content (video on demand). HTTP Live Streaming supports multiple alternate streams at different bit rates, and the client software can switch streams intelligently as network bandwidth changes.,10,Http Live Stream,11,网络视频的服务器,Nginx,Lighttpd,Apache Nginx性能最好,现在做为主

6、流的视频服务器 red5, FMS, wowza FMS是官方版本的rtmp流媒体服务器 Darwin 部分免费的rtsp流媒体服务器,由Apple提供,12,音视频编解码,常见的视频格式 ISO(mpeg1/mpeg2/mpeg4/mpeg7) ITU(H.261/H.263/H.264) AVS FLV/F4V MOV MP4 WMV/AVI/RMVB 准确的说,AVI,ASF,FLV是一种文件格式,我们可以在我的电脑上看到的*.AVI这种文件。即使是同一种文件格式,如AVI,又分为MPEG- 1,MPEG-2 ,MPEG-4几种视频格式,然后同一种视频格式,如MPEG-4又可以使用多种视

7、频编码。,13,音视频编解码,视频编解码的基本原理 视频图像数据有极强的相关性,也就是说有大量的冗余信息。其中冗余信息可分为空域冗余信息和时域冗余信息。压缩技术就是将数据中的冗余信息去掉(去除数据之间的相关性),压缩技术包含帧内图像数据压缩技术、帧间图像数据压缩技术和熵编码压缩技术。,14,音视频编解码,去时域冗余信息 运动补偿:运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。 运动表示:不同区域的图像需要使用不同的运动矢量来描述运动信息。运动矢量通过熵编码进行压缩。 运动估计:运动估计是从视频序列中抽取运动信息的一整套技术。 去空域冗余信息 变换编码

8、:帧内图像和预测差分信号都有很高的空域冗余信息。变换编码将空域信号变换到另一正交矢量空间,使其相关性下降,数据冗余度减小。 量化编码:经过变换编码后,产生一批变换系数,对这些系数进行量化,使编码器的输出达到一定的位率。这一过程导致精度的降低 嫡编码:熵编码是无损编码。它对变换、量化后得到的系数和运动信息,进行进一步的压缩。,15,最关键的因素cache,16,Nginx与Apache,lighttpd的比较,17,高性能Nginx的原因(epoll模型),18,Nginx的安装,19,Nginx的基本配置,全局变量 工作模式及连接上限 公用的HTTP服务器参数 虚拟主机相关配置,20,Ngin

9、x常用配置参数说明,浏览器本地缓存设置-expire 语法:expirestime|epoch|max|off 默认值:expires off 作用域:http, server, location 用途:使用本指令可以控制HTTP应答中的”expires”和”cache-control”的Header头信息(页面缓存) epoch:1 January, 1970, 00:00:01 GMT max: 31 December 2037 23:59:59 GMT -1: 永远过期,21,Nginx常用配置参数说明,负载均衡 upstream模块是Nginx负载均衡的主要模版,它提供了一个简单方法来

10、实现在轮询和客户端IP之间的后端服务器负载均衡,并可以对后端服务器进行健康检查。 upstream backend server weight=5; server :8080; server unix:/tmp/backend3; server location / pxocy_pass http:/backend; ,22,Nginx常用配置参数说明,Ip_has 语法:ip_hash ,默认值:无,使用环境:upstream ip_hash指令能够将某个客户端IP的请求通过哈希算法定位到同一台后端服务器上。 Server 语法:server name,默认值:无,使用环境:upstream

11、 改指令用于指定后端服务器的名称和参数,服务器的名称可以是一个域名,一个IP地址,端口号或UNIX Socket. Upstream: 语法:upstream name, 默认值:无,使用环境:http 用于设置一组可以在pxoxy_pass和fastcgi_pass中使用的代理服务器,默认的负载均衡策略是轮询。,23,Nginx常用配置参数说明,Rewrite规则 Nginx Rewrite规则相关指令有if, rewrite, set, return, break等,其中rewrite是最关键的指令。 和apache的rewrite基本可以通用,其中最主要的差别在于需要在规则前后加上双引号

12、。 rewrite指令的最后一项参数为flag标记,支持的flag标记有: last相当于Apache里的【L】标记,表示完成rewrite; break本条规则匹配完成后,终止匹配。 redirect返回302临时重定向,浏览器地址栏会显示跳转后的URL地址。 parmanent返回301永久重定向,浏览器地址栏会显示跳转后的URL地址。,24,Nginx常用配置参数说明,WEB缓存 Nginx的web缓存主要由proxy_cache相关指令集和fastcgi相关指令集构成,前者用于反向代理时,对后端内容服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存。两者的功能基本上一样。下

13、面主要讲讲proxy_cache的使用。 第一步:在同一分区下创建两个缓存目录 第二步:在http指令中指定proxy_temp_path和prox_cache _ path到第一步所创建的缓存目录,示例如下: proxy_temp_path /data/proxy_temp_path; proxy_cache_path /data/proxy_cache_path levels=1:2 keys_zone=cache_one:200m inactive=1d max=3g 第三步:在location指令中用proxy_cache指定缓存区 proxy_cache cache_one,25,Nginx常用配置参数说明,Proxy_cache 用于设置那个缓存区将被使用 Proxy_cache_path 该指令只能用于http标签中,levels指定该缓

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论