惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
S
Securelist
P
Proofpoint News Feed
D
DataBreaches.Net
Cisco Talos Blog
Cisco Talos Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
A
About on SuperTechFans
罗磊的独立博客
WordPress大学
WordPress大学
月光博客
月光博客
Latest news
Latest news
C
Cyber Attacks, Cyber Crime and Cyber Security
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
W
WeLiveSecurity
Attack and Defense Labs
Attack and Defense Labs
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
AI
AI
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Help Net Security
Help Net Security
T
Tor Project blog
V
Vulnerabilities – Threatpost
C
Cisco Blogs
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MyScale Blog
MyScale Blog
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
Forbes - Security
Forbes - Security
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
博客园 - 叶小钗
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Simon Willison's Weblog
Simon Willison's Weblog
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic

Flash

mac 还需要更新 flash 吗?卸载了又什么影响? - V2EX 现在还有人用 Flash 开发吗,怀念当初的辉煌 - V2EX 请教 flex flash 嵌套网页的方法 - V2EX 以后制作交互型动画用什么工具好 - V2EX Flash Player 算是生命周期最长的软件产品之一吗? - V2EX R.I.P., Flash Player (1996 - 2020) - V2EX 请问有无永久默认允许 Flash 运行的浏览器产品? - V2EX 寻找程序员 写直播人气协 yi 来大神 - V2EX as3 项目无法导入 mx.events.PropertyChangeEvent,请大神指点! - V2EX 猜猜这个广告,是哪个程序弹的? - V2EX 手头有一个 flash 的加密 sign。有朋友搞这个吗,有偿 - V2EX 你们收到过那个叫什么“FLASH 推荐助手”的弹窗么? - V2EX flash 是百足之虫吗? - V2EX 此 flash player 与您的地区不相容……如何解决? - V2EX 为什么要单独针对中国区域的 windows 操作系统限制 flash 的区域兼容性? - V2EX FB 报错: compiler.source-path 值包含未知的标记“STARLING_FRAMEWORK” - V2EX Adobe Flash 中国区域问题(Chrome 67, Flash 30.0.0.113) - V2EX Flash 播放器历史版本下载 - V2EX 纯 flash 站点 - V2EX FlashDevelop 自由免费的 Flash 开发工具 - V2EX 我在想 Adobe 不开发 flash 了 - V2EX Adobe 宣布: 2020 年底停止支持 Flash - V2EX 斗鱼直播网站中的开启 GPU 渲染是怎么实现的? - V2EX 回国过年,发现祖国除了 B 站其他所有视频网站都要安装 Flash 不然不许看 - V2EX 新手刚学 Flask,在 pycharm 下敲代码,现在到 E-mail 章无法运行? - V2EX [Flash 编年史 1996-2016] 也许是为了纪念一下 - V2EX Flash 独立播放器 - V2EX Bilibili 是什么时候在部分浏览器上默认启用 HTML5 的? - V2EX html5 播放器比 flash 的缓冲要慢? - V2EX flash 里面能创建 udp 连接吗? - V2EX 谁能告诉我 Flash 播放耳机有杂音是什么回事? - V2EX 在 HTML5, iPhone 出现之前有没有人吐槽过 Flash 的性能问题? - V2EX [招聘] 武汉 flash 程序员 - V2EX 火狐 flash 问题 - V2EX Flash 的 ActiveX、NPAPI、PPAPI 三种运行模式在安全性上有无优劣之分? - V2EX 如今,你们觉得 Flash 前途如何? - V2EX 谁能写as3 act 游戏引擎?会改写(as1/2-->as3)也可以。 - V2EX Flash Plugin 终于支持Retina分辨率了 - V2EX action script 3 如何为function加参数 - V2EX Flash Player for Linux 会把所有的皮肤颜色变成蓝色?! - V2EX 如何使用Flash模拟机械运动(类似于骨骼)? - V2EX (GPU) 3D APIs for Adobe Flash Player and Adobe AIR - V2EX http://wonderfl.net/ - V2EX 想买flash方面的卡通形象素材,有这样的交易网站推荐么? - V2EX Light-Bot - V2EX Yogda - V2EX haXe - V2EX 處女貼 - V2EX
网易视频云分享:流媒体技术介绍(上篇) - V2EX
vcloud163 · 2016-04-14 · via Flash

网易视频云专家这次给大家带来纯正的干货系列——流媒体技术介绍之上篇。本次分享首先介绍了流媒体的基本概念,之后从传统流媒体的技术特点, HTTP 渐进式下载技术,自适应流媒体技术三方面进行分析。 流媒体就是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频、视频或多媒体文件。所谓流媒体技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,由视频服务器向用户计算机顺序或实时地传送各个压缩包,让用户一边下载一边观看、收听,而不要等整个音视频文件下载到自己的计算机上才可以观看的网络传输技术。

一、传统流媒体技术 传统的媒体内容分发技术是以 RTSP/RTP(Real Time Streaming Protocol/Real Time Transfer Protocol)、 RTMP 为代表的面向连接的流媒体技术。 实时流式传输采用专门的流媒体服务器存储多媒体文件。当客户端发起连接想要观看多媒体资源的时候,一般通过专有的实时流式传输协议把位于流媒体服务器上的多媒体数据直接传输给客户端的播放器,再实时播放。他与服务器交互的流程如图-1 所示。

图-1 实时流式传输 RTSP 是一种传统的流媒体控制协议,其具有状态性的特点,意味着从一个客户端开始连接至服务端,一直到连接中断的整个过程,服务器端会一直监听客户端的状态。客户端通过 RTSP 协议向服务器传达控制命令,如播放、暂停或中断等。 RTP/RTCP(Real Time Transfer Control Protocol)是端对端基于组播的应用层协议。其中, RTP 用于数据传输, RTCP 用于统计、管理和控制 RTP 传输,两者协同工作,能够显著提高网络实时数据的传输效率。 基于此架构的流媒体技术方案,服务端和客户端之间建立连接之后,服务器开始持续不断地发送媒体数据包,媒体数据包采用 RTP 进行封装,客户端控制信息通过 RTSP 信息包以 UDP 或 TCP 的方式传送。

RTMP 是由 Adobe 公司提出的。 RTMP 协议全称是 Real Time Messaging Protocol ,即实时消息传送协议,用于在 Flash 平台之间传递视音频以及数据。与 RTSP + RTP 组合提供流媒体服务的方式不同, RTMP 协议本身既可以传输多媒体数据也可以控制多媒体播放。 RTMP 协议使用 TCP 协议作为其传输层的网络协议。 TCP 是面向连接的,提供可靠交付的协议,因此在互联网上传输时不会出现丢包情况,从而保证了用户体验。但是 TCP 协议提供可靠交付的代价就是增加了一些额外的开销,占用了一些带宽和处理机资源。 选择 RTMP 协议作为其提供流媒体服务的应用层协议,在于它有以下几个特点: 无须安装客户端程序,浏览器 Flash Player 默认支持播放 RTMP 流。采用 TCP 协议作为其在传输层的协议,避免了多媒体数据在广域网传输过程中的丢包对质量造成的损失,保证了媒体传输质量。

基于 RTSP/RTP 的流媒体系统专门针对大规模流媒体直播和点播等应用而设计,需要专门的流媒体服务器支持,主要具有如下优势。  流媒体播放的实时性。 与渐进下载客户端需要先缓冲一定数量媒体数据才能开始播放不同,基于 RTSP/RTP 的流媒体客户端几乎在接收到第一帧媒体数据的同时就可以启动播放。支持进度条搜索、快进、快退等高级 VCR 控制功能。  平滑、流畅的音视频播放体验。 在基于 RTSP 的流媒体会话期间,客户端与服务器之间始终保持会话联系,服务器能够对来自客户端的反馈信息动态做出响应。当因网络拥塞等原因导致可用带宽不足时,服务器可通过适当地降低帧率等方式来智能调整发送速率。  支持大规模用户扩展。 专业的流媒体服务器在大容量媒体文件硬盘读取、内存缓冲和网络发送等方面进行了优化,可支持大规模用户接入。  内容版权保护。 在基于 RTSP/RTP 的流媒体系统中,客户端只在内存中维持一个较小的解码缓冲区,播放后的媒体数据随时清除,用户不容易截取和拷贝。此外还可利用 DRM 等版权保护系统进行加密处理。 尽管如此,基于 RTSP/RTP 的流媒体系统在实际的应用部署中仍然遇到了不少问题,主要体现在:  与 Web 服务器相比,流媒体服务器的安装、配置和维护都较为复杂,特别是对于已经建有 CDN(内容分发网络)等基础设施的运营商来说,重新安装配置支持 RTSP/RTP 的流媒体服务器工作量很大;  RTSP/RTP 协议栈的逻辑实现较为复杂,与 HTTP 相比支持 RTSP/RTP 的客户端软硬件实现难度较大,特别是对于嵌入式终端来说;  RTSP 协议使用的网络端口号(554)可能被部分用户网络中的防火墙和 NAT 等封堵,导致无法使用。虽然有些流媒体服务器可通过隧道方式将 RTSP 配置在 HTTP 的 80 端口上承载,但实际部署起来并不是特别方便。

二、 HTTP 渐进式下载技术 HTTP 渐进式下载技术与有状态的 RTSP/RTP 技术相比,采用了无状态的 HTTP 协议。当 HTTP 客户端向前端请求数据时,服务端将请求的数据下发给客户端,但是服务端并不会记录客户端的状态,每次 HTTP 请求都是一个一次性独立的会话。它的与服务器交互的流程如图-2 所示。

图-2 HTTP 渐进式下载 渐进式下载的功能目前主流的终端播放器均支持,如 Adobe 的 Flash 、微软的 Silverlight 以及 Windows Media Player 。所谓的渐进式下载,即终端播放器可以在整个媒体文件被下载完成之前即可开始媒体的播放,如果客户端及服务端都支持 HTTP1.1 ,终端还可从没下载完成的部分中任意选取一个时间点开始播放。 目前,主流的视频网站都采用了 HTTP 渐进式下载的方式来实现流媒体的分发,如 YouTube 、优酷网、搜狐视频等等。 作为最简单和原始的流媒体解决方案, HTTP 渐进式下载尤其显著的优点在于它仅需要维护一个标准的 Web 服务器,其安装和维护的工作量和复杂性比起专门的流媒体服务器来说要简单和容易得多。 然而,其缺点和不足也很明显。  带宽容易浪费。当一个用户在开始下载观看一个内容之后选择停止观看,那么已经下载完成的内容则是对带宽资源的一种浪费。  缺乏文件内容保护机制。在渐进下载模式中,下载后的文件缓存在客户端硬盘的临时目录中,用户可将其拷贝至其他位置供以后再次播放。  基于 HTTP 的渐进式下载仅仅适用于点播内容,而不支持直播内容。  此方式缺乏灵活的会话控制功能和智能的流量调节机制。

三、自适应流媒体技术 自适应流媒体技术(ABS - adaptive bitrate streaming) 融合了传统 RTSP/RTP 流媒体技术以及基于 HTTP 渐进式下载技术的优点,具有高效、可扩展以及兼容性强的特点。 ABS 技术使用 HTTP 传送视频流,使用多码率编码源内容,每个单码率的视频流被切成小的,几秒钟的小切片。如图-3 所示为 ABS 技术的实现原理。

图-3 自适应流媒体技术框架 流媒体客户端首先获取所有码率的切片索引信息。一开始,客户端先请求最低码率的串流。如果客户端判断下载速度比当前码率的切片串流快,它就去请求下一个更高码率的串流。随着播放的进行,如果客户端发现下载速度比当前码率的切片串流慢,转而请求下一个较低码率的串流。 切片大小和具体实现密切相关,不过一般都在 2 ~ 10 秒之间。每个切片由一个完整的 GOP 序列组成,一个 GOP 序列里面有 1 个或者多个 I 帧, GOP 序列的第一个帧必须是 I 帧,并且每个切片都能单独的解码播放显示。 码流自适应技术有几个共同的技术特点:  内容的准备,包括了支持多屏的转码平台以及媒体的分割切片模块。它从同一个源产生多个不同码率的节目流以适应不同的带宽和不同的设备类型。  内容的分发,包括了基于 HTTP 的内容源服务器以及面向终端的内容分发网络,能够自适应分发文件,支持大并发拉流的功能。以及码流传输的变化都是适应有效网络吞吐量和可用的 CPU 资源。  所有的操作对用户都是透明的,节目流的切换都在后台进行,用户很难注意到节目流的变化。 自适应流媒体传输相对与传统流媒体传输具有以下几个优点:  采用了通用的 HTTP 协议,传统的 HTTP 缓存 /代理、防火墙等网络设备可以完美兼容,它实施起来成本更低;  它具备了更好的伸缩性和可达性,可根据最后接入网的带宽大小动态地调整码率,实现内容的分发;  它能够让观众有更好的体验,而不需要内容提供商或运营商去猜测用那种码率传输更适合观众; ABS 除了上述优势之外,还有以前任何技术均不具备的特点,具体如下:  快速播放以及拖动,用户等待的时间更短。客户端初始化默认选择低码率,开始播放后逐步向高码率进行切换,因此,其服务质量是在可用带宽范围之内不断被进行调整和优化;  不需要大的缓存,不间断地播放,平滑的视频播放体验;  基于网络状况和 CPU 解码能力的无缝码率切换; 相对于传统的流媒体技术, ABS 技术能够提供更好的服务质量,因为它可以使用整个可用的带宽,而非自适应流技术则是强制客户端选择一个低于可用带宽的固定比特率。 本次分享就到这里。流媒体技术技术之下篇将在网易视频云官方微信( vcloud163 )继续发布哦,也可到网易视频云官网( vcloud.163.com ),与技术专家直接进行交流!