SRS之RTMP handshake】的更多相关文章

1. SrsRtmpServer::handshake 位于 srs_rtmp_stack.cpp. int SrsRtmpServer::handshake() { int ret = ERROR_SUCCESS; srs_assert(hs_bytes); /* 先尝试进行 complex handshake,若失败则再次尝试 simple handshake */ SrsComplexHandshake complex_hs; if ((ret = complex_hs.handshake…
由 SRS之RTMP的TCP线程 分析可知,SRS 接受客户端的连接后创建了一个线程:conn,用于处理与客户端的 RTMP 连接. 本文的分析是基于该配置文件的: listen 1935; max_connections 1000; daemon off; srs_log_tank console; vhost __defaultVhost__ { } 该配置文件仅使能 rtmp 直播推流功能. 1. 关系图 2. RTMP 连接处理线程 conn 之主循环 2.1 conn 的线程函数: S…
本文分析的是 SRS 针对 rtmp 的端口建立的 tcp 线程.具体建立过程: SRS之监听端口的管理:RTMP RTMP 的 TCP 线程中各个类之间 handler 的关系图 1. RTMP之TCP线程:SrsThread::thread_fun void* SrsThread::thread_fun(void* arg) { SrsThread* obj = (SrsThread*)arg; srs_assert(obj); /* 进入线程主循环 */ obj->thread_cycle…
一个采用MIT协议授权的国产的简单的RTMP/HLS 直播服务器,其核心的价值理念在于简单高效. 使用方法: tep 1: build srs tar xf simple-rtmp-server-*.*.tar.gzcd simple-rtmp-server-*.*/trunk./configure --with-ssl --with-hlsmake step 2: start srs ./objs/simple_rtmp_server -c conf/srs.conf step 3(optio…
1. 综述 SRS 关于 HLS 的具体配置可见: HLS部署实例 SRS 关于 hls 的配置文件内容如下: listen 1935; max_connections 1000; daemon off; srs_log_tank console; vhost __defaultVhost__ { hls { enabled on; hls_fragment 10; hls_window 60; hls_path ./objs/nginx/html; hls_m3u8_file [app]/[s…
1. 综述 首先,推流直播的配置文件如下: # rtmp.conf listen 1935; max_connections 1000; daemon off; srs_log_tank console; vhost __defaultVhost__ { } 搭建的简陋直播步骤如下: 启动 srs:./obj/srs -c ./conf/rtmp.conf; 设置并开启 obs 推流,obs 的视频来源随便,可以直接是视频获取设备或本地文件,此外 obs 的设置如下图: 注:必须填 "流名称&q…
1. connect('live') 2. SrsRtmpServer::connect_app 位于 srs_rtmp_stack.cpp.在 SRS 的 RTMP 连接处理线程 conn 中,当与客户端 handshake 完成后,即调用该函数接收客户端第一个 RTMP 消息:connect.如上图. int SrsRtmpServer::connect_app(SrsRequest* req) { int ret = ERROR_SUCCESS; SrsCommonMessage* msg…
本文转载:https://blog.csdn.net/zjqlovell/article/details/50786040 CDN这几年爆炸式增长,带宽提速是根源,而HTTP始终还是那个屌样,因此目前CDN大多是资本性行业,不用多少知识就能干了:直到流媒体粗现,直播咋这么难搞呢?因为它是流媒体,让我带你深入浅出看流媒体前世今生,分分钟二逼变牛逼.流媒体分为点播和直播,点播已经堕落为HTTP文件了,直播永远不可能只用HTTP就OK,这是他们的业务差异导致的.流媒体本质上是:现实的图像,经过编码器压…
一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Home 1.如果是新系统,先安装git CentOS:yum -y install git 1 2.源码下载: git clone https://code.csdn.net/winlinvip/…
SRS(Simple RTMP Server)  是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群. 一.安装 官网提供了3种安装方式: 从源码编译安装.利用docker(学习用) .直接下载安装包安装 相信很多人主要目的是出于学习srs如何使用,对c++语言本身可能并不擅长,所以本文仅介绍"如何利用安装包"安装部署. 先从官网下载最新的稳定发布版本(目前是2.0r6) http://ossrs.net/srs.r…