rtmp推流包含adobe与llnw两种,这里主要讲解adobe认证,如果wowza开启账号校验,需要使用adobe认证。

一般rtmp推流只会有一次TCP连接,但是rtmp账号认证完成需要有3次TCP交互。

假如用户名为zang,密码为123456,推流地址为rtmp://100.100.108.220:1935/livetest/test110

  1. 第一次交互

rtmp服务会回复一个_error信令,其中Property 'description' String '[ AccessManager.Reject ] : [ code=403 need auth; authmod=adobe ] : '

2. 第二次交互

rtmp推流端发送connect()信令,app和tcUrl需要加上?authmod=adobe&user=zang

Property 'app' String 'livetest/test110?authmod=adobe&user=zang'和Property 'tcUrl' String 'rtmp://100.100.108.220:1935/livetest/test110?authmod=adobe&user=zang'


server回复_error信令,Property 'description' String '[ AccessManager.Reject ] : [ authmod=adobe ] : ?reason=needauth&user=zang&salt=PJuw1w==&challenge=6fruuQ==&opaque=6fruuQ=='

3. 第三次交互

rtmp推流端发送connect()信令,app和tcUrl需要在第二次交互的基础上加上challenge、response和opaque字段

中Property 'app' String 'livetest/test110?authmod=adobe&user=zang&challenge=xNJABQ==&response=POsdGoxLEjAupogeAEVxHg==&opaque=6fruuQ=='和Property 'tcUrl' String 'rtmp://100.100.108.220:1935/livetest/test110?authmod=adobe&user=zang&challenge=xNJABQ==&response=POsdGoxLEjAupogeAEVxHg==&opaque=6fruuQ=='

注:第三次发送的response生成算法如下:

(1)salt1 = base64(md5(username|salt|password),其中salt为第二次交互server回复中的值
(2)response = base64(md5(salt1|opaque|challenge2),其中opaque为第二次交互server回复的值,challenge2为client端随机生成,也可以使用server回复的challenge,client第三次交互时发送的challenge需为challenge2

Rtmp推流adobe认证流程相关推荐

  1. 2022 无人直播rtmp推流工具-技术实现与思路

    目前主流的直播软件(抖音.快手.斗鱼.虎牙等)均采用了 rtmp 协议推流 这篇文章探讨的是,如何编写一个rtmp服务器代理并替换其中视频流,实现无人直播或者录播 rtmp 协议是什么?怎么实现无人直 ...

  2. 大华的支持rtmp推流吗_技术贴——搞定摄像头RTMP推流直播

    RTMP是adobe开发的针对网页应用的流媒体格式,因目前多数浏览器已经集成FLASH插件,所以可以在网页中轻松嵌入音视频直播,实现各种平台的广泛兼容. 网上资料不多,也往往不详细,经过两天的探索试验 ...

  3. 几款知名RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder

    OBS 功能强大,几乎所有你想要的场景它都有,用起来很顺手.可以将桌面.摄像头.程序窗口通过rtmp推送到流媒体服务器上. 当然如果你是开发者,想基于OBS做二次开发,实现二次产品化的化,难度比较大, ...

  4. 跨平台屏幕/摄像头RTMP推流模块设计要点

    经常有企业或开发者有这样的疑惑,明明看到网上的demo,一个RTMP推送,五六个接口就搞定了,你们咋就搞得这么复杂? 以大牛直播SDK的(Github)Windows RTMP推流为例,我们的接口要1 ...

  5. gstreamer读取USB摄像头H264帧并用rtmp推流

    文章目录 gstreamer命令行实现rtmp推流 gstreamer代码实现rtmp推流 因为要在嵌入式端使用rtmp推流,目前我知道的有三种办法,ffmpeg.gstreamer.librtmp, ...

  6. 大华的支持rtmp推流吗_RTSP安防摄像机(海康大华宇视等)如何推送到RTMP流媒体服务器进行直播...

    方案介绍 目前互联网直播的CDN和标准RTMP流媒体服务器通常只能接收RTMP格式的音视频推流.目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒 ...

  7. 抓rtmp推流地址_在浏览器中实现RTMP推流

    什么是RTMP RTMP(Real-Time Messaging Protocol) 是为了能在基于Adobe Flash平台的技术间实现音频.视频及数据的高性能传输而设计的,包括Adobe Flas ...

  8. ffmpeg rtmp推流代码示例

    rtmp推流,得有rtmp服务器,可以参考这篇博客搭建rtmp服务器  ===>>>ubuntu搭建rtmp服务器,如果自己有rtmp服务器,可以不用看. rtmp推流需要用flv格 ...

  9. ffmpeg rtmp推流

    本文实现ffmpeg本地文件rtmp推流 ffmpeg本地文件推流主要流程 ffmpeg视频格式转换示例 #include <iostream>extern "C" { ...

最新文章

  1. dataframe 转json
  2. 【 FPGA 】Xilinx设计约束(XDC)中时钟约束的表示方法
  3. 创智播客微服务_传智播客2018JavaEE IDEA版本
  4. python open追加模式_Python文件操作,open读写文件,追加文本内容实例
  5. 4.5 计算机网络之网络层路由选择协议(自治系统AS、RIP、OSPF、BGP)
  6. 自己动手写了个 Web 框架,我膨胀了
  7. PyTorch基础-Dropout和正则化-05
  8. 解决@vue/cli 创建项目是安装chromedriver时失败的问题
  9. html loader的作用,webpack认识loader的作用
  10. B cannot be cast to java.sql.Blob
  11. 数据建模_浅谈数据仓库建设中的数据建模方法
  12. 25GbE可以解决数据中心过载问题吗?
  13. 19. 各种提权姿势总结
  14. 随机森林算法原理简要总结
  15. 英语·句子的五大结构
  16. 完整版PayPal支付(java后端教程)
  17. 实现同比、环比计算的N种姿势
  18. k8s serviceAccountName填写后应用没有进行挂载问题处理
  19. 【工具封装】不用 for 循环, 教你如何向MySQL数据库批量插入数据
  20. 金融危机背景下大学生就业

热门文章

  1. 计蒜之道 测试赛 (BCD)
  2. EOS的中心化,该中国财团背锅吗?
  3. 硬件学习_差模与共模
  4. 备战全国电子设计大赛-TB6612FNG电机驱动模块
  5. ABAQUS报错:“ADJUST cannot be used for non-faceted surfaces.”
  6. SQL Server基础操作(此随笔仅作为本人学习进度记录六 !--程序块和循环)
  7. python曲线拟合为什么会失败_SciPy曲线拟合失败幂定律 - python
  8. 【PMAC学习笔记——第0篇】初识PMAC运动控制卡以及 Microsoft Visual C++ 2019,PeWin32 PRO2环境搭建
  9. try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
  10. 地方政府留言板文本数据