X公司想在网站上提供视频直播服务,经理老王让小安做技术方案调研。 小安花了一个星期时间调研,然后给老王发了封邮件汇报: 老王: 经过大量的调研,我得到了这些非常有价值的信息,汇总给你: 在支持H5Video的浏览器上,播放视频可以使用H5Video标签。 在支持WebRTC的浏览器上,可以使用WebRTC。 不支持H5Video的浏览器,可以用Flash、ActiveX、NaCl、NPAPI等方式。 直播协议有RTMP、RTSP、RTP、HLS、自定义协议等等。 后台可以用ffmpeg、Red5、Live555、Darwin、Wowza、FreeCast等,还可以采用七牛视频云、网易云信、腾讯云直播等。 小安 发完邮件,小安还蛮有成就感的,才几天啊,我居然了解了这么多技术! 小安正沉浸在满满的成就感中,觉得自己真不错的时候,老王大吼:小安你过来,你给我发的什么玩意儿?结论呢?结论呢? 小安觉得很委屈,心想老子已经效率很高了,你凭什么不满意? 大家想想,小安做错了什么? 请找出自己的答案。 先别往下看。 先别往下看。 先别往下看。 好啦,现在揭晓答案! 小安的邮件,之所以不符合经理老王的要求,原因在于:只有事实,没有分析,没有行动建议。 这是我们经常犯的错误,搜集一堆信息、数据,不加分析地塞给老板。结果呢,自然是被批得灰头土脸。 要避免这种情况,可以使用云雨伞理论。 云雨伞理论 天空出现乌云,眼看就要下雨,带上伞比较好。 这就是云雨伞理论,它是对事实、分析和行动(建议)三者的比喻。 云代表事实,是用眼睛实际观察到的情况,谁都能看得到天上有乌云。 就要下雨是分析,是从出现乌云推测出来的。 带上伞是行动,是从就要下雨这个分析得出来的。 当我们向别人提建议时,运用云雨伞理论可以增强说服力,可以避免被否定、批评。 运用云雨伞理论提建议或者作报告的框架如下: 云:现状呈现(信息、数据、图片等) 雨:分析研究 伞:行动方案或建议 现在,让我们运用云雨伞理论帮助小安重写邮件。 请写出自己的版本。 先别往下看。 先别往下看。 先别往下看。 好啦,接下来是我的版本。 网站视频直播方案调研报告 我们要先呈现事实。与网站视频直播相关的事实分为三类: 浏览器的市场份额 浏览器端的直播技术 后台的直播技术 呈现在邮件里,事实部分可以这样写: 老王: 据了解, 目前浏览器在国内的市场份额(2017年12月份数据),Chrome占46。49,IE占17。74,QQ浏览器占6。24,2345加速浏览器占5。34,搜狗浏览器占4。59 浏览器端可以使用的直播技术很多,Chrome的最新版本都支持WebRTC和H5VIE9,Edge,Chrome,FireFox,Safari等都支持H5VIE8及以下支持ActiveX,vlc有ActiveX插件;除Safari外的主要浏览器都支持Flash插件。 后端可以使用的免费直播方案有Red5、Live555、Wowza、FreeC收费的可以采用七牛、腾讯云直播,他们提供端到端的解决方案。 是不是更清晰了? 接着往下走,来看分析研究。 Flash技术已经没落,H5正在普及,从这点来看,浏览器端应该优先考虑H5Video方案。加上苹果主机自带的Safari浏览器,不支持Flash,再考虑到移动平台,不论是Android和IOS,浏览器都不支持Flash,所以,浏览器端方案确定为H5Video。 浏览器端实现选择H5Video,与它配套,最成熟的技术就是HttpLiveStreaming。使用HLS,需要在后台做切片,切片可以采用ffmpeg,http服务器使用nginx。 这是从自己实现直播的角度来分析,可行的方案是ffmpegnginxH5Video。 如果考虑采用商业方案的话,又有七牛视频云、网易云信、腾讯云直播等可供选择。一个简单的选择方法就是看他们的客户案例。 七牛的典型客户有熊猫TV、龙珠直播等,腾讯云直播的客户案例有斗鱼TV、快手等。从案例上看,都是成熟的、可用的、易于扩展的,都能够支持大并发场景。所以,实际选择时,可能还要考虑价格、运维成本、技术支持等因素。 有了分析研究,我们才能知道结论是怎么出来的,别人看到结论,也会觉得有依据、可信。 那我们的方案建议就是: 经过分析,要在我们的网站加入视频直播功能,有两种方案: 自己研发,用ffmpegnginxH5Video实现HLS方案。采购商业方案,可以考虑七牛或腾讯,要确定方案的话,需要考虑价格、运维成本、技术支持等因素,要进一步接触两家供应商。 那最后,小安的邮件就可能是这样子的: 老王: 你让我调研公司网站加入视频直播的事情,初步结果出来了,给你汇报一下。 【1、事实】 据了解, 目前浏览器在国内的市场份额(2017年12月份数据),Chrome占46。49,IE占17。74,QQ浏览器占6。24,2345加速浏览器占5。34,搜狗浏览器占4。59 浏览器端可以使用的直播技术很多,Chrome的最新版本都支持WebRTC和H5VIE9,Edge,Chrome,FireFox,Safari等都支持H5VIE8及以下支持ActiveX,vlc有ActiveX插件;除Safari外的主要浏览器都支持Flash插件。 后端可以使用的免费直播方案有Red5、Live555、Wowza、FreeC收费的可以采用七牛、腾讯云直播,他们提供端到端的解决方案。 【2、分析】 Flash技术已经没落,H5正在普及,从这点来看,浏览器端应该优先考虑H5Video方案。加上苹果主机自带的Safari浏览器,不支持Flash,再考虑到移动平台,不论是Android和IOS,浏览器都不支持Flash,所以,浏览器端方案确定为H5Video。 浏览器端实现选择H5Video,与它配套,最成熟的技术就是HttpLiveStreaming。使用HLS,需要在后台做切片,切片可以采用ffmpeg,http服务器使用nginx。 这是从自己实现直播的角度来分析,可行的方案是ffmpegnginxH5Video。 如果考虑采用商业方案的话,又有七牛视频云、网易云信、腾讯云直播等可供选择。一个简单的选择方法就是看他们的客户案例。 七牛的典型客户有熊猫TV、龙珠直播等,腾讯云直播的客户案例有斗鱼TV、快手等。从案例上看,都是成熟的、可用的、易于扩展的,都能够支持大并发场景。所以,实际选择时,可能还要考虑价格、运维成本、技术支持等因素。 【3、结论】 经过分析,要在我们的网站加入视频直播功能,有两种方案: 自己研发,用ffmpegnginxH5Video实现HLS方案。采购商业方案,可以考虑七牛或腾讯,要确定方案的话,需要考虑价格、运维成本、技术支持等因素,要进一步接触两家供应商。 小安 这样看起来是不是会好一些? 请记住,要提建议,要作报告,最好采用事实与现状、分析、行动建议(结论)这种清晰的结构,效果会好很多。