rtmp,rtsp,webrtc简单的关系总结

更新时间:2023-07-12 08:38:09 阅读: 评论:0

昆明怎么玩
rtmp,rtsp,webrtc简单的关系总结
RTSP(Real-Time Stream Protocol)协议
RTSP以客户端⽅式⼯作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。
RTSP作为⼀个应⽤层协议,提供了⼀个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要⽤来控制具有实时特性的数据的发送,但其本⾝并不⽤于传送流媒体数据,⽽必须依赖下层传输协议(如RTP/RTCP)所提供的服务来完成流媒体数据的传送。RTSP负责定义具体的控制信息、操作⽅法、状态码,以及描述与RTP之间的交互操作。RTSP媒体服务协议框架如下:
withRTMP 是 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 已经不再更新
WebRTC,名称源⾃⽹页即时通信(英语:Web Real-Time Communication)的缩写,是⼀个⽀持进⾏实时语⾳对话或视频对话的API
它于 2011 年 6 ⽉ 1 ⽇开源并在 Google、Mozilla、Opera ⽀持下被纳⼊的 W3C 推荐标准。
⽬前主要应⽤于视频会议和连麦中,协议分层如下:
优点
·W3C 标准,主流浏览器⽀持程度⾼
·Google 在背后⽀撑,并在各平台有参考实现
·底层基于 SRTP 和 UDP,弱⽹情况优化空间⼤
·可以实现点对点通信,通信双⽅延时低
缺点
·ICE,STUN,TURN 传统 CDN 没有类似的服务提供
基于 UDP 的私有协议
有些直播应⽤会使⽤ UDP 做为底层协议开发⾃⼰的私有协议,因为 UDP 在弱⽹环境下的优势通过⼀些定制化的调优可以达到⽐较好的弱⽹优化效果,但同样因为是私有协议也势必有现实问题:
优点
·更多空间进⾏定制化优化
缺点
·开发成本⾼
·CDN 不友好,需要⾃建 CDN 或者和 CDN 达成协议额头长痘痘怎么调理
·独⽴作战,⽆法和社区⼀起演进
關於libjingle_peerconnection庫
为什么是peerconnection的库呢?
第⼀,peerconnection是webrtc对外的提供的⽐较全的接⼝的类
限制的英文
第⼆,peerconnection在框架的⾼层,与应⽤层最近,需要的改动最少
第三,peerconnection最容易编译和集成
第四,如果你想要两个⼈简单的直播连麦,peerconnection就⾜够了
webrtc 怎么了
ancientcc
编程的魅⼒在于不确定
1 ⼈赞同了该回答
这要看你⽤的客户端是什么。如果你是想⽤浏览器,那webrtc不是好⽅案。但如果你是⽤app,可以肯定回答:可以,⽽且强烈建议你基于webrtc。
为什么说对App是完全可⾏呢?浏览器在⽤的Webrtc其实分两层,底层是个⽤C++写的库(Native Code),然后上层写个Javascript封装,以便供HTML5调⽤。既然是写app,那完全不⽤管上层Js封装,⽽且Google在开发Webrtc时已考虑⽤在app,底层C++库的API已做得很完善了。
对直播使⽤场景,很多⼈是⽤移动设备,移动设备基本都是⽤app。⽽webrtc中的Native Code部分跨平台特性很好,基本不⽤改,就能写出完全跨iOS、Android、Windows平台的代码,所以有了iOS/Android app,基本不耗成本Windows上的app就出来了。——当然,如果有⼈在Windows还是坚持要⽤浏览器,那只能说在Windoes不得不留有瑕疵。
根据这个图,你可以模糊中发现,只要换了信令服务器,就有可能变成直播。⽽事实也的确是这样。就像有⼈说直播时图像单向就够了(主播传向观众),⽽Webrtc是双向,——只要改信令服务器,⽴公主的画法
刻就单向了。
为什么强烈建议你基于webrtc?对直播系统,难的不是服务器,⽽是客户端。客户端难的地⽅则主要体现在两个⽅⾯,⼀是⽹络传输有关,像侦听事件,同步主线程和读线程,穿透;⼆是流数据有关,像编码、解码、回声消除。⽽这些正是webrtc帮你解决了。也正因为如此,现在很多直播系统最早的客户端其实是以webrtc为根的,只是后⾯⾃个不断优化,慢慢地变成⾃个系统⽽已。——诚然,官⽅webrtc 是有地⽅不尽如意,但它们不断更新,就像最近⼀段时间优化了回声消除。
WebRTC怎麼⽤
WebRTC实现了三个API,分别是:
养肝护肝什么药最好* MediaStream:通过MediaStream的API能够通过设备的摄像头及话筒获得视频、⾳频的同步流
* RTCPeerConnection:RTCPeerConnection是WebRTC⽤于构建点对点之间稳定、⾼效的流传输的组件
* RTCDataChannel:RTCDataChannel使得浏览器之间(点对点)建⽴⼀个⾼吞吐量、低延时的信道,⽤于传输任意数据
摘取鏈接:
视频直播技术详解——推流和传输, 2016-9-13,七⽜雲
WebRTC + 直播 + 连麦 = AnyRTC ?2016-9-5
从⽆到有开发连麦直播技术点整理-AnyRTC
(⾮常棒的知乎討論合集)可以⽤WebRTC来做视频直播吗?
如何搭建⼀个完整的视频直播系统?
Android IOS WebRTC ⾳视频开发总结(五⼋)– 图⽂解说视频直播原理
使⽤WebRTC搭建前端视频聊天室——⼊门篇,2014-3
影响⾳频质量和稳定性的因素到底有哪些呢?2016-7-7
CDN的原理,構架,播放延時(網絡延時\網絡抖動\網絡丟包),連⿆短板(多路RTMP流实现/主播端与连麦者P2P,2016)
WebRTC的优缺点,2016-6-28
为何⼀直推荐WebRTC?
以上算是对直播推流的⼀点⼉⼩的总结,⼤多从多个blog合并⽽来。

本文发布于:2023-07-12 08:38:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1078227.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:直播   协议   视频
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图