开源流媒体服务器SRS环境搭建
一、环境搭建
1.1 C++环境
sudo apt-get update# 更新软件包
sudo apt-get install build-essential -y # 安装C++开发环境
sudo apt-get install gdb -y#安装gdb
sudo apt-get install libtool -y
sudo apt-get install pkg-config -y
sudo apt-get install automake -y
sudo apt-get install autoconf -y
1.2 golang环境
下载go二进制包
下载地址,如果懒得去找最新的版本,或者使用go1.16.5就行的也可以直接执行下列命令下载。wget https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz -O ~/go1.16.5.linux-amd64.tar.gz
解压并重命名文件夹,方便不同版本区分
cd ~ tar -xvf go1.16.5.linux-amd64.tar.gz mv go go1.16.5
配置环境变量
tee -a $HOME/.bashrc <<'EOF' # Go envs export GOVERSION=go1.16.5 # Go 版本设置 export GO_INSTALL_DIR=$HOME/go1.16.5 # Go 安装目录 export GOROOT=$GO_INSTALL_DIR # GOROOT 设置 export GOPATH=~/workspace/golang # GOPATH 设置 export PATH=$GOROOT/bin:$GOPATH/bin:$PATH # 将 Go 语言自带的和通过 go install 安装的二进制文件加入到 PATH 路径中 export GO111MODULE="on" # 开启 Go moudles 特性 export GOPROXY=https://goproxy.cn,direct # 安装 Go 模块时,代理服务器设置 EOF
验证配置
go version
二、编译和启动srs
git clone -b v4.0.146 https://gitee.com/winlinvip/srs.oschina.git srs.4.0.146
cd srs.4.0.146/trunk
./configure
make -j4
./objs/srs -c conf/rtc.conf
三、启动信令服务器
cd 3rdparty/signaling
make -j4
cd objs
./signaling
四、启动web服务器
cd 3rdparty/httpx-static
make -j4
./objs/httpx-static -http 80 -https 443 -ssk server.key -ssc server.crt \-proxy http://127.0.0.1:1989/sig -proxy http://127.0.0.1:1985/rtc \-proxy http://127.0.0.1:8080/
参数说明:
-http
: http监听的端口
-https
: https监听的端口
-domain
: https域名
-root
: 万维网根路径
-cache
: letsencrypt缓存
lets
:
-ssk
: https key
-ssc
: https cert
proxy
: 代理服务器地址 -> srs
sdomain
: ssl域名
skey
: 域名的SSLkey
scert
: 域名证书
生成证书:
openssl genrsa -out server.key 2048
openssl req -new -x509 -key server.key -out server.crt -days 3650
端口说明
1935: rtmp服务
1985: http api服务
8080: http-flv、hls服务
1989: 信令服务
五、rtc.conf说明
# RTMP监听端口,使用ip:port分割
# eg. 192.168.3.249:1935 10.10.10.100:1935
# 默认0.0.0:1935
listen 1935;
# 最大连接数,如果超出最大连接数,服务器将会拒绝新的连接,默认值1000
max_connections 1000;
# 是否启动守护进程,默认开启
daemon off;
# # the log tank, console or file.
# if console, print log to console.
# if file, write log to file. requires srs_log_file if log to file.
# default: file.
# 日志输出的目标,console或者file,如果设置成file需要配置srs_log_file
srs_log_tank console;# HTTP配置
http_server {enabled on;listen 8080;dir ./objs/nginx/html;
}# srs api配置
# the http api config, export for external program to manage srs.
# user can access http api of srs in browser directly, for instance, to access by:
# curl http://192.168.1.170:1985/api/v1/reload
# which will reload srs, like cmd killall -1 srs, but the js can also invoke the http api,
# where the cli can only be used in shell/terminate.
http_api {# 是否启用HTTP api,默认offenabled on;listen 1985;
}stats {network 0;
}
rtc_server {enabled on;# Listen at udp://8000listen 8000;## The $CANDIDATE means fetch from env, if not configed, use * as default.## The * means retrieving server IP automatically, from all network interfaces,# @see https://github.com/ossrs/srs/wiki/v4_CN_RTCWiki#config-candidate#candidate $CANDIDATE;candidate 42.192.181.115;
}vhost __defaultVhost__ {rtc {enabled on;}http_remux {enabled on;mount [vhost]/[app]/[stream].flv;}
}
最近在跟一个的免费直播,讲音视频开发,讲得不错,SRS的开发者都推荐的分享给大家
开源流媒体服务器SRS环境搭建相关推荐
- C/C++音视频高级开发-开源流媒体服务器SRS环境搭建
一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...
- SRS流媒体服务器——单机环境搭建和源码目录介绍
SRS流媒体服务器--单机环境搭建和源码目录介绍 1. 目录 环境搭建 源码目录介绍 1. 环境搭建 srs官⽹:https://github.com/ossrs/srs 码云的源速度快:https: ...
- SRS 4.0流媒体服务器开发环境搭建:包括推流、服务器配置、拉流测试
SRS 4.0流媒体服务器入门系列 结合SRS官方Wiki以及本人对SRS的理解,推出<SRS 4.0流媒体服务器入门系列>,包括内容: SRS 4.0 开发环境搭建 SRS 4.0 配置 ...
- 开源流媒体服务器SRS学习笔记(1) - 安装、推流、拉流
SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群. 1.安装 官网提供了3种安装 ...
- LiveVideoStack线上分享第五季(七):开源流媒体服务器:为何一定得再撸个新的...
视频技术的主要场景是直播和RTC,2020年IoT和5G的快速发展,以及全球居家隔离,促进了视频行业的大规模发展,也促进了直播和RTC的融合,将带来更加丰富的业务场景.开源社区也在不断进步,而直播.R ...
- 多媒体视频开发_(6) EasyDarwin开源流媒体服务器程序搭建
EasyDarwin开源流媒体服务器程序搭建 https://winqi.cn/120.html
- Linux服务器开发环境搭建 Nginx+PHP+MongoDB
Linux服务器开发环境搭建 Nginx+PHP+MongoDB mkdir -p /home/trlinux/download mkdir -p /home/trlinux/server mkdi ...
- EasyDarwin开源流媒体服务器
主要功能特点 基于Golang开发维护: 支持Windows.Linux.macOS平台: 支持RTSP推流分发(推模式转发): 支持RTSP拉流分发(拉模式转发): 服务端录像 参考:EasyDar ...
- EasyDarwin开源流媒体服务器Golang版本:拉转推功能之拉流实现方法
EasyDarwin开源流媒体服务器(www.easydarwin.org),拉转推是一个很有意义的功能,它可将一个独立的RTSP数据源"拉"到服务器,再通过转发协议转发给多个客户 ...
最新文章
- SPOJ 8222 NSUBSTR(SAM)
- ansible的安装和ansible的模板
- 办公室小野与爆米花视频身亡女孩家属和解:补偿金额保密
- Ubuntu下配置D-Link路由器进行联网
- Android 输入法问题 解决三星s5830i或华为低端机输入法崩溃问题
- 完整的ERP流程图大全
- CMMI认证过程中实施步骤详解
- java调用soap接口_java远程调用soap协议接口
- php读取写入,php操作文件(读取写入文件)
- Django搭建网站的个人笔记记录
- 这篇文章来告诉你几个实用的视频转文字的方法
- hdu4416[多串后缀自动机]
- 短视频系统源代码,加载本地图片和加载网络图片
- 21 、查询不同老师所教不同课程平均分从高到低显示(不重点)(自己做出)
- Python编写的客户端给服务器发送指令执行相应的命令并返回结果
- python datetime 格式化_[已解决]Python中用strftime格式化datetime出错
- 宽带不能上传发文件_多少家庭的宽带白白浪费,想要跑满宽带,这几点缺一不可...
- Android可触摸圆形进度条,Android 可滚动圆形进度条 滑块和进度在进度条上面跟着滚动...
- spring boot 构建docker镜像,运行指定spring profile
- 河南省许昌市谷歌高清卫星地图下载