• RTMP协议


    RTMP协议

    RTMP协议是应运流媒体服务而生,传统的媒体播放一般是讲视频或者音频下载到本地,然后通过本地播放器播放。这种缺陷是只有将视频完整的下载下来才能播放。而新的要求是可以在线观看,比如使用浏览器观看。或者是现在比较火的网络直播啥的,需要边录制边播放,这就是所谓的流媒体,而流媒体的技术实现就是RTMP协议,还是网页中的Flash播放器。RTMP协议规定了服务器和客户端之间在进行数据传输时的格式

    RTMP协议简介

    RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建立完成后,RTMP协议也要客户端和服务器通过“握手”来建立基于传输层链接之上的RTMP Connection链接,在Connection链接上会传输一些控制信息,如SetChunkSize,SetACKWindowSize(这两个东西后面会提到)。RTMP Connection初始化完成后,会创建一个Stream链接,用于传输具体的音视频数据和控制命令信息。RTMP协议会对欲传输的数据(用户数据)进行格式封装,被封装后的东东称之为RTMP Message,而实际传输的时候为了更好地实现多路复用、分包和信息的公平性,发送端会把Message划分为带有Message ID的Chunk,每个Chunk可能是一个单独的Message,也可能是Message的一部分。在接受端会根据chunk中包含的data的长度,message id和message的长度把chunk还原成完整的Message,从而实现信息的收发。

    librtmp介绍

    • 建立TCP连接
    • 进行握手
    • 建立netConnect连接
    • 建立stream连接
    • 开始播放
    • 停止播放

    具体的流程看参考中的第一个连接

    参考

    详细了解原理请看参考
    http://blog.csdn.net/u011244446/article/details/46764593
    http://blog.csdn.net/leixiaohua1020/article/details/15814587
    https://github.com/Red5/red5-server/releases/download/v1.0.9-M10/red5-server-1.0.9-M10.tar.gz

  • 相关阅读:
    CSS3媒体查询总结
    关于前端学习规划
    开发技术版本
    Visual Studio 问题汇总
    asp.net web core 开发问题汇总(1)
    asp.net web core 部署问题汇总
    报表平台需求文档(V0.0.0.1)
    Git使用说明
    派生类
    cin、cout的重载
  • 原文地址:https://www.cnblogs.com/xidongyu/p/7436464.html
Copyright © 2020-2023  润新知