最新栏目

顶级互联网公司都在用什么工具和服务

立即发现顶级互联网公司和创业团队正在使用的工具和服务

最新论坛主题

1

  说到在网页中观看视频,大家一定都不陌生,从早些年的优酷、土豆、爱奇艺到最近热门的斗鱼,熊猫,战旗等直播网站,每天都有成千上万的人在网页中观看视频。可能大家觉得故事情节极其简单,就是网页中有个区域叫播放器,只要点击这个区域,就能能播放我们想看的视频,没了。起初我也是这么认为的,但是如果仔细从根源去分析,播放器就不是一个简单没有故事的框框。下面为大家讲讲播放器背后的故事。   大家都知道视频是流媒体的一种。纯粹的视频(不包括音频)实质上就是一组帧图片,经过视频编码成为视频(video)文件再把音频(audio)文件有些还有字幕文件组装在一起成为我们看到的视频(movie)文件。   一般我们看视频都是先用下载软件下载到电脑上,再用播放软件观看的,那网页上是如何实现实时地、无需下载等待地观看视频的呢?   这就要谈到流媒体技术了。为了实现流式传输,要先将视频等多媒体文件经过特殊的处理方式分成一个个包,由服务器向客户端连续、实时传送。这样播放器就可以一边顺序下载视频数据,一边播放已下载的那部分视频。HLS就是这样实现顺序流式传输的。这种播放方式只需使用HTTP服务器配合HTTP协议即可实现,而且在传输过程中能够保证数据的可靠传输,所以能够播放高质量的视频,但流式传输网络延时较长,而且较难实现码率适配和随机播放。   刚刚说到HLS协议,它是一种可以从web服务器通过HTTP协议发送音视频到移动端进行播放的流媒体协议,既支持直播又支持点播。它包括一个m3u(8)的索引文件,TS媒体分片文件和可选的key加密串文件。m3u(8)文件里面是一串连续的TS媒体分片文件和对应的媒体信息,播放器先下载m3u8文件,然后根据里面的索引,依次下载对应的TS文件进行播放。HLS系统大致分为三部分:服务器负责对输入的音视频媒体内容进行数字编码,将其封装成适合于内容分发组件进行传送的格式;分发器由web服务器组成。负责接收客户端的请求,并将准备好的媒体内容和相关资源传给客户端;客户端软件(播放器)负责发送请求,下载相关请求的资源,然后将从服务器接收的请求资源以一种持续数据流的形式呈现给用户。   最后我们来说说web播放hls的原理。由于只有safari原生支持播放hls,所以需要播放器自己解码。首先播放器定时的去服务器获取m3u8索引文件并从中解析出TS媒体分片文件的地址和时长,将其存到数组中,与此同时播放器根据解析出来的TS文件地址,按顺序去服务器端获取TS文件。由于html5的video标签原生只支持MP4、WebM、Ogg,不能直接播放TS文件,所以我们要借助mediaSource扩展接口来实现视频封装格式的转换。mediaSource在W3C的扩展文档中是这么定义的:它允许JS脚本动态构建媒体流用于

网易视频云:“网页视频播放”其实是一个有故事的同学

2

  2016年被称之为网络直播的元年,除了腾讯、乐视、优酷土豆等视频网站,花椒、斗鱼、熊猫等为代表移动直播平台开始引发现象级的关注。在这场直播大戏中,提供直播和点播服务的视频云成为技术领域的实际推动者,也成为11月3号举办的首届视频云峰会上讨论的焦点。   作为国内视频云领域的行业领跑者之一,网易视频云音视频技术专家郭再荣受邀出席首届视频云峰会,并向外界传递出打造一体化、全开放、多场景的视频云平台的信号。而这位在音视频领域拥有十余年研发经验的技术专家,又是如何看待视频云服务及其商业前景的?   [img]http://ww2.sinaimg.cn/mw690/738dd0b1jw1f9he9qfd84j20m80euab4.jpg[/img]   视频云行业崛起,打破了直播的最后一道门槛   在郭再荣看来,网络直播的爆发绝不是偶然的,更确切的说与整个行业的成熟不无关系。   一方面,随着4G技术的大范围应用,网络带宽的不断提速,同时网络资费相应地降低,视频上行和下行所需的带宽和流量已经达到直播的要求;另一方面,手机、平板等智能硬件设备的迅速普及,设备性能越来越强劲,让移动端的视频应用井喷爆发,真正变得唾手可得。与之同时,视频门户、娱乐直播、游戏直播、在线教育、远程医疗、远程监控、企业协作、社交应用等各行业也对移动直播产生了强需求。   “视频云服务的出现打破了直播爆发的最后一道门槛。”郭再荣如是说。   以网易视频云为例,在网易15年音视频技术的积累下,将直播管理、系统转码、流媒体分发等以云服务的提供给开发者,并提供了覆盖iOS、Android、Web端的推流端和播放端SDK,开发者只需要接入SDK就能拥有实时、稳定、流畅的视频直播功能。除此之外,网易视频云还提供了数据分析、美颜滤镜、视觉特效、实时水印、版权保护等个性化功能来满足不同的场景需要。   郭再荣介绍说,视频云服务解放了开发者,但为了更好的提供服务,还需要解决三个技术挑战,即实时性、流畅度和清晰度。以直播过程中的卡顿现象为例,网易视频云自研了Dawn协议,相比于标准协议,在网络拥堵的条件下的表现要更加流畅。   [img]http://ww4.sinaimg.cn/mw690/738dd0b1jw1f9he9qxh10j20ji0d70t5.jpg[/img]   视频云的未来趋势:一体化、全开放、多场景   截止到目前,网易视频云已经推出了点播、直播和互动直播功能,并根据市场发展状况为视频需求用户提供一体化、全开放、多场景的视频云服务。   据郭再荣介绍,网易视频云已经实现了一体化的解决方案和服务的全面开放。“以网易视频云的流媒体分发系统为例,我们提出了智能接流源站的概念,通过dawn私有流媒体传输协议,加上自建节点,智能调度中心,实现智能接流源站。整个端到端的传输链路实时监控网络状况,控制主播端编码参数,自动调整直播流码率,确保直播更加流畅。”   为了适应直播向垂直领域发展的趋势,网易视频云将深耕视频云服务的场景化应用,并在社交应用、在线教育、视频门户、娱乐直播、企业协作、新闻媒体、安防监控、远程医疗等领域积累了丰富的实战经验。   郭再荣重点介绍了网易视频云在教育场景的解决方案,在多路互动、智能源站接流网络、直播、点播等技术的基础上,网易视频云针对教育场景打造了媒体处理平台,实现了文档转换、白板互动、屏幕分享、互动问答、版权保护、直播录制等个性化功能,能够完全满足教育直播在实际应用中的需要。同时,网易视频云无缝对接了网易云信的即时通信服务,以促进师生、家校的零距离实时沟通。   [img]http://ww4.sinaimg.cn/mw690/738dd0b1jw1f9he9rm2ztj20qu0ebq4v.jpg[/img]   事实上,从整个视频云峰会上不同专家的言论来看,在技术和服务上正在呈现出一体化、全开放的形态,而场景化应用很可能是视频云服务商们的分水岭,谁能满足用户对特定场景的需求,谁就能占领更大的市场。而在这一方面,有巨头背景的网易视频云再次走在了行业前列。

网易视频云郭再荣:打造一体化多场景的视频云平台

3

  “做时代奋进者的高效充电站”,作为一个致力于用互联网推动实用技能教育的团队,网易云课堂的宏愿无疑是美好的。然而,在技术人才紧缺、网络环境迥异、终端设备复杂的背景下,如何在快速扩张的同时保障全网海量用户都能有最佳的学习体验,始终是网易云课堂无法回避的挑战。幸运的是,网易云课堂团队找到了属于他们的辅助利器——先进的视频云技术。   借助网易视频云的专业技术,网易云课堂在视频上传、编解码、存储、播放、防下载、链路检测等核心功能的实现,都不再需要团队自己研发,既保证了服务质量以及新业务的上线速度,又节省了大量的开发人力和维护成本,让网易云课堂能够专注于业务的发展。   在线教育的技术需求   网易云课堂是网易旗下的在线实用技能学习平台,于2012年12月底正式上线,目前拥有MOOC(慕课)、K12、企业云等产品线,积累的课程数量达到1.3万+,课时总数超33万,课程视频数量100万+,涵盖实用软件、IT与互联网、职场技能等20多个教学领域,服务覆盖Web端、Android端和iOS端,吸引了3,300万学习用户。   网易云课堂极快的成长速度,在很大程度上得益于互联网业务全局扩张的特点,但网易云课堂团队的另一个感受是,搭建一个在线课堂的系统,同样需要在技术、人力、精力上有很大的投入,并且随着业务的扩张和规模的增长,在线服务质量保障的难度也是几何级地增加。从业务需求的角度,网易云课堂技术负责人方金德介绍了网易云课堂的核心技术诉求。   视频转码   视频编解码对于视频业务非常重要,要把大量讲师通过千差万别的设备录制上传的格式各异的视频转码、压缩,转换成几种通用格式,以便快速输出到用户的播放终端,如MP4、FLV和苹果上专用的M3U8,这是一项技术含量很高的任务,需要专业的人才来研发出可行的方案,并构建视频编码集群来支持。   视频上传和存储   全国各地不同讲师的视频课程上传到网易云课堂服务器,首先网络通信方面要能够保证视频文件的上传速度,需要针对不同链路的优先队列的功能;其次视频文件通常都是大文件,并且讲师开课、上传视频的时间是不固定的,经常会有很多老师突然开课,这就突然需要很大的存储空间,然而临时采购和部署存储是很不方便的,所以需要提前做好容量规划,需要一整套的技术来保证视频文件的上传和存储。   视频的全网播放   网易云课堂的3300万用户分布在全国各地,其中包括很多海外的用户,这些用户的网络环境差异很大,需要大量的CDN节点来加速视频流的传输,保证用户可以流畅地播放视频课程。当然,CDN服务也需要和存储平台进行很好的整合。   视频监控和追踪诊断   CDN节点不是无限的,为了保证全网播放质量,还需要一套能够快速帮助用户解决问题的监控和诊断体系,一是整体状况的监控统计,包括各个地区不同的用户、不同的课程视频,其播放质量如何;二是追踪,当某个用户反馈存在播放问题时,希望有一个类似探针的服务,能够追踪整个链路,不需要让用户帮忙做很多的操作,就可以快速定位出问题的症结所在,从而能够及时给出解决办法。   视频保护   在版权意识模糊的中国环境下,网易云课堂还需要防止用户非法使用视频文件,包括URL防盗链、防下载等。   最开始,网易云课堂研发团队曾经尝试搭建视频系统来支撑整个业务的,包括转码、存储、加密等环节,CDN则是外采一家传统CDN服务。细说起来,这个过程也算是一部“血泪史”。   针对视频转码,研发团队需要花大量的时间来为用户处理编解码过程中的各种奇怪的错误。例如,因为用户视频有非常多的格式,部分视频可能会存在音频流失的状况,这很容易导致转码失败。即便只是少量视频存在问题,团队要帮助用户从每一个视频中找到问题所在,并切换处理方式直至转码成功,也是非常耗时的工作。   据方金德介绍,网易云课堂视频转码技术从无到有,大概花了4个人月——这对于当前互联网业务迭代速度而言,无疑是比较慢的。然而,因为网易云课堂缺少专业的视频人才(整个行业都呈现专业人才稀缺的状况),开发过程中还需要学习各种资料,不得不付出这样的代价。而有了编解码技术之后,团队在短期之内也没有能力再持续做协议的深度优化,只能做一些简单的视频分析,解决简单的问题,一旦出现真正复杂的问题,还是解决不了。   在视频播放方面,有台湾地区、美国的讲师在网易云课堂上开课时,就反馈了视频上传、视频播放方面存在问题,然而云课堂采用的CDN在海外节点方面仍亟待完善,并没有办法根除这个问题。   在监控方面,研发团队此前采用业内常用的技术,很难通过监控立即查明播放端出现问题的原因,更不用说帮助用户以最快的速度解决问题了。而且,原有技术也没法实现智能化的链路选择。对于讲师,采用的优先队列方式,是列出可能的节点,由用户来手动选择不同的上传通道,并不能实现最灵活的资源调配。   对于所期待的细粒度监控,方金德透露,研发团队曾经深入讨论分析了自研的可行性,最终认为技术难度很高,要达到初步预期的功能,保守估计也需要好几个人月的投入。具体而言,这需要解决播放端和后台两方面的难题:播放端的信息传递需要开发很多的工具,后台还要做很多统计分析的工作。   网易云课堂的视频保护,最开始是通过CDN防止下载,但是只能防一些小白用户,比如面对录屏的情况就只能徒呼奈何了。毕竟要做成加密SDK,需要了解底层的协议,技术难度很高。   除了加密之外,播放端的技术需求主要是缓冲,这方面倒是相对轻松,因为有一些很好的开源工具可以利用来实现。   网易视频云之美   恰逢其时,网易杭州研究院(简称“杭研”)专门为网易互联网业务提供技术支撑的私有云改造已经轻车熟路,并且杭研已经准备着手解决网易云课堂、网易云音乐等各业务团队面临的视频技术挑战,让这些团队专注于业务本身的研发。于是,网易云课堂和杭研的合作顺理成章地开始了。毕竟网易云课堂业务线仍在不断扩张,还需要很多的研发人力。   首先是底层基础的视频存储服务。杭研基于其研发的网易对象存储系统(Netease Object Storage,NOS)来实现对视频数据的存储服务。NOS是一个分布式的Key-Value存储系统,Value的容量上限为1TB,并提供多租户流量隔离,所以基于NOS的视频存储可以较为轻松地应对网易云课堂的存储容量和高可用的压力。同时,NOS提供的大文件分块上传功能,对于视频上传而言可谓雪中送炭。此外,结合网易CDN服务,网易云课堂能够面向不同地区的用户实现一站式的视频上传、存储、分发服务。   与NOS相结合,杭研视频团队还打造了一个分布式视频处理平台NTS,用以支撑网易云课堂的视频任务处理,支持包含录制、转码、视频合成、截图等常用的视频处理技术。NTS通过如图六大模块和子系统,对用户管理、任务调度、任务追踪、事件回调和文件存储等核心功能需求,同时实现了调度子系统的考可用和水平扩展。NTS视频处理输入输出基本来自NOS(录制或截图任务的输入视频流除外),简化了NTS服务的使用。      视频编解码方面,杭研对底层音视频算法进行了深度优化,相同画质节省10%~30%流量带宽,并且针对互联网传输的特性进行码率平滑优化,避免突发的视频码率上升造成用户播放卡顿。      视频保护方面,网易云课堂也采用了杭研提供的视频加密技术,是一个底层的跨平台SDK工具,加密方式是在播放文件中增加了一些用户信息的标记,用以防止用户录屏(用户录屏时会被发现),同时不影响服务的稳定性和流畅性。      在解决NOS、NTS、加密等问题之后,网易云课堂也希望将这些功能服务化,用于解决内部产品的需求。事实上,网易云课堂此前也有过一些相关的尝试,不过,通用设计没有那么彻底,比如在数据隔离、账号分配等方面,因为业务快速扩张背景下研发人力紧缺的原因,并没有实现理想的精细化的效果。      杭研视频团队在满足网易内部需求的同时,更加意识到了视频业务的需求,已经将视频转码、加密、容量伸缩、高可用、CDN等能力都集成在一起,形成了网易视频云公有云解决方案,提供全平台SDK,完全实现了PC、iOS、Android、Web SDK的无缝对接,具有接入方便,二次开发量小等特点,同时还提供配套的全天候专业技术服务。      现在,有视频云之后,网易云课堂就可以从这些工作中解脱,专注于业务。而网易视频云来做这些事情,则可以做得更加专业。例如,公有云的NTS相比之下提供了更为细致的任务统计、资源监控功能用于容量规划,可以解决海量用户、资源超售的挑战。      在网易云课堂看来,因为之前与杭研视频团队合作的历史背景,技术同源,在数据结构等方面已经做过很多的适配,完全迁移到新的网易视频云平台没有任何障碍。不过,出于在线访问数据的考虑,数据同步是一件值得注意的事情,虽然底层都是NOS,对象管理可能略有差异。      而生来就完全在网易视频云上搭建的,是网易云课堂2016年1月上线的K12产品,因为这是一个新业务。方金德介绍,K12系统的搭建,由前后端各一个工程师,用不到两天时间就初步完成,由于NTS、NOS、CDN、加密等服务,已经把最核心的痛点都解决了,只有接口的访问以及一些小的需求点,还需要视频云团队的支持,但这些不是本质上的需求。再经过双方一周时间的无死角联合调试、迭代,K12运营人员使用起来已经很顺畅。相比之前的产品线需要研发团队花费大量的时间去踩坑,K12产品线快速接入视频云并完成磨合,只花了很短的时间,大大缩短了新业务上线的时间。   后续技术规划   播放质量监控、定位问题的探针,这是网易云课堂更高级的追求。现在的监控,只是一个链路选择,把靠近用户可能的链路列出,人肉切换尝试寻找最优链路,还没法做成一个智能的方案让用户直接定位到最好的节点上。同时,网易云课堂也希望看到全国不同地区的视频播放质量,包括失败、延迟、卡顿等情况。方金德表示,这两个方面是网易云课堂与网易视频云下一步合作的方向。   小结   在教育资源不平衡的今天,基于视频技术创新的在线教育提供了填补差距的平台。网易云课堂的实践表明,在线教育虽然才刚刚开始,网易这样的公司积累的专业视频云解决方案,已经可以支撑基于网络视频开展的新业务,比如网易视频云还支持了青果、云音乐、Bobo、宝宝树、东家守艺人等业务。在视频云和视频业务团队的合作之下,针对不同的应用场景的视频云产品因为得到不断打磨而成熟、完善,必将反过来推动在线视频业务的增长。

网易云课堂:用视频云技术承载3300万用户的流畅学习体验

最热最流行的开发者服务和工具

实时更新最热最流行的开发者服务和工具,让你紧跟技术发展的潮流。

SDK.CN

MagicSDK

云加科技致力于帮助传统企业完成数字化转型。利用特有的场景感知技术,协助商家获取消...
SDK.CN

sdkcn+

第一个为开发者量身定制的小程序,最新鲜的技术资讯,最新的开发者工具一手掌握。
SDK.CN

GIF动图搜索API

小猪动图应该是国内GIF动图资源最丰富的,同时提供了GIF在线制作的功能,技术团...
SDK.CN

慕色短视频SDK

“深度定制,尽在企业级API服务。短视频SDK可附加在各种UGC(如旅游、母婴、...
服务排名
SDK.CN

聚合数据

聚合数据免费向开发者提供基站数据...

SDK.CN

表情云

一分钟拥有自己的表情商店!建立社...

SDK.CN

网易云捕

网易云捕面向移动开发者提供专业的...

全栈排名
SDK.CN

NginX

开源的高性能的HTTP和反向代理...

SDK.CN

GitHub

程序员首选,全球最大的Coder...

SDK.CN

Go

Google开发的一种编译型,并...

SDK.CN

PHP

PHP(“PHP: Hypert...

SDK.CN

社交媒体时代的友谊

本周,我删除了我的Facebook账号。我离开Facebook,有着很多的原因。这家公司的服务虽然是免费的,但是他们将用户当成了产品。Facebook将用户的注意力销售给来自世界各...

业界资讯 2017-01-20

SDK.CN

如何关闭并不安全的Chrome自动填充功能

早在2013年,Chrome就被爆出了一个漏洞,但是时至今日,这个漏洞依然没有被完全封堵上。简单来说,黑客可以将页面上的表单进行隐藏,Chrome会自动调用你的个人信息自动填充这个...

技术文章 2017-01-19

SDK.CN

2017年前端开发者应该重拾基本技能学习

2017年前端的同学应该学习什么,如何学习,这里提供了一些建议,我们或许应该放慢一下接受新东西的步伐,并且回过头来看看那些一直不变的东西——这样做能让我们更快的学习新东西。

技术文章 2017-01-17

SDK.CN

和程序员谈恋爱是一种什么样的体验?

作为一名程序员的女朋友,我想说说,和程序员谈恋爱究竟是一种什么样的体验。首先,我们先来说说程序员的定义。程序员、计算机程序员、开发者、软件工程师、码农,这些名字值的都是一类人:写计...

业界资讯 2017-01-11

SDK.CN

HTML5语音合成Speech Synthesis API简介

HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”...

技术文章 2017-01-20

最新资讯

SDK.CN

社交媒体时代的友谊

本周,我删除了我的Facebook账号。我离开Facebook,有着很多的原因。这家公司的服务虽然是免费的,但是他们将用户当成了产品。Facebook将用户的注意力销售给来自世界各...

业界资讯 2017-01-20

SDK.CN

如何关闭并不安全的Chrome自动填充功能

早在2013年,Chrome就被爆出了一个漏洞,但是时至今日,这个漏洞依然没有被完全封堵上。简单来说,黑客可以将页面上的表单进行隐藏,Chrome会自动调用你的个人信息自动填充这个...

技术文章 2017-01-19

SDK.CN

2017年前端开发者应该重拾基本技能学习

2017年前端的同学应该学习什么,如何学习,这里提供了一些建议,我们或许应该放慢一下接受新东西的步伐,并且回过头来看看那些一直不变的东西——这样做能让我们更快的学习新东西。

技术文章 2017-01-17

SDK.CN

和程序员谈恋爱是一种什么样的体验?

作为一名程序员的女朋友,我想说说,和程序员谈恋爱究竟是一种什么样的体验。首先,我们先来说说程序员的定义。程序员、计算机程序员、开发者、软件工程师、码农,这些名字值的都是一类人:写计...

业界资讯 2017-01-11

SDK.CN

HTML5语音合成Speech Synthesis API简介

HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”...

技术文章 2017-01-20

推荐工具 意见反馈