什么是vlog相机拍摄 vlog跟普通视频区别

七牛云于6月底发布了一个针对视频直播的实时流网络LiveNet和完整的直播云解决方案,很多开发者对这个网络和解决方案的细节和使用场景非常感兴趣 。
结合该实时流网络LiveNet和直播云解决方案的实践,我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面、深入地了解视频直播技术,更好地技术选型 。
本系列文章大纲如下:
(一)采集
(二)处理
(四)推流和传输
(五)现代播放器原理
(六)延迟优化
(七)SDK性能测试模型
在上一期的处理篇中,我们介绍了讲解编码和封装 。本篇是《解密视频直播技术》系列之四:推流和传输 。推流是直播的第一公里,直播的推流对这个直播链路影响非常大,如果推流的网络不稳定,无论我们如何做优化,观众的体验都会很糟糕 。所以也是我们排查问题的第一步,如何系统地解决这类问题需要我们对相关理论有基础的认识 。
推送协议
下面就先介绍一下都有哪些推送协议,他们在直播领域的现状和优缺点 。

  • RTMP
  • WebRTC
  • 基于UDP的私有协议
1RTMP
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写 。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种 。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信 。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等 。
RTMP是目前主流的流媒体传输协议,广泛用于直播领域,可以说市面上绝大多数的直播产品都采用了这个协议:
优点
  • CDN支持良好,主流的CDN厂商都支持
  • 协议简单,在各平台上实现容易
缺点
  • 基于TCP,传输成本高,在弱网环境丢包率高的情况下问题显著
  • 不支持浏览器推送
  • Adobe私有协议,Adobe已经不再更新
2WebRTC
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API 。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准 。
目前主要应用于视频会议和连麦中,协议分层如下:
什么是vlog相机拍摄 vlog跟普通视频区别

文章插图
优点
  • W3C标准,主流浏览器支持程度高
  • Google在背后支撑,并在各平台有参考实现
  • 底层基于SRTP和UDP,弱网情况优化空间大
  • 可以实现点对点通信,通信双方延时低
缺点
  • ICE,STUN,TURN传统CDN没有类似的服务提供
3基于UDP的私有协议
有些直播应用会使用UDP做为底层协议开发自己的私有协议,因为UDP在弱网环境下的优势通过一些定制化的调优可以达到比较好的弱网优化效果,但同样因为是私有协议也势必有现实问题:
优点
  • 更多空间进行定制化优化
缺点
  • 开发成本高
  • CDN不友好,需要自建CDN或者和CDN达成协议
  • 独立作战,无法和社区一起演进
【什么是vlog相机拍摄 vlog跟普通视频区别】传输网络
我们推送出去的流媒体需要传输到观众,整个这个链路就是传输网络,类比货运物流就是从出发地到目的地见的所有路程了,如果道路的容量不够,会引发堵车也就是网络拥塞,这时我们会改变路程也就是所谓的智能调度,但是传输网络会站在全局的角度进行调度,所以会比原子世界的调度有更好的效果,可以想象有一个上帝在天空中俯视出发地和目的地间的所有的路况信息,而且还是实时的,然后给出你一条明路,何等的神奇,但这些我们在LiveNet中都已经实现了 。

推荐阅读