3 Star 6 Fork 4

winlinvip / srs.wiki

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
v3_EN_RTMPHandshake.md 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
winlinvip 提交于 2022-01-06 11:57 . Update

HOME > EN > RTMP Handshake

RTMP Handshake

The rtmp specification 1.0 defines the RTMP handshake:

  • c0/s0: 1 bytes, specifies the protocol is RTMP or RTMPE/RTMPS.
  • c1/s1: 1536 bytes, first 4 bytes is time, next 4 bytes is 0x00, 1528 random bytes.
  • c2/s2: 1536 bytes, first 4 bytes is time echo, next 4 bytes is time, 1528 bytes c2==s1 and s2==c1. This is the simple handshake, the standard handshake, and the FMLE use this handshake.

While the server connected by flash player only support simple handshake, the flash player can only play the vp6 codec, and do not support h.264+aac. Adobe changed the simple handshake to encrypted complex handshake, see: Changed Handshake of RTMP

The handshake summary: |

Handshake Depends Player Client SRS Use Scenario
Simple
Standard
No vp6+mp3/speex All Supprted Encoder, for examle, FMLE, FFMPEG
Complex openssl vp6+mp3/speex
h264+aac
Flash Supported Flash player requires complex handshake to play h.264+aac codec.

Player(Flash palyer): The supported codec for flash player.

Notes: When compile SRS with SSL, SRS will try complex, then simple.

Winlin 2014.10

1
https://gitee.com/winlinvip/srs-wiki.git
git@gitee.com:winlinvip/srs-wiki.git
winlinvip
srs-wiki
srs.wiki
master

搜索帮助