一、环境搭建

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环境

  1. 下载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
    
  2. 解压并重命名文件夹,方便不同版本区分

    cd ~
    tar -xvf go1.16.5.linux-amd64.tar.gz
    mv go go1.16.5
    
  3. 配置环境变量

    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
    
  4. 验证配置

    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环境搭建相关推荐

  1. C/C++音视频高级开发-开源流媒体服务器SRS环境搭建

    一.环境搭建 1.1 C++环境 sudo apt-get update# 更新软件包 sudo apt-get install build-essential -y # 安装C++开发环境 sudo ...

  2. SRS流媒体服务器——单机环境搭建和源码目录介绍

    SRS流媒体服务器--单机环境搭建和源码目录介绍 1. 目录 环境搭建 源码目录介绍 1. 环境搭建 srs官⽹:https://github.com/ossrs/srs 码云的源速度快:https: ...

  3. SRS 4.0流媒体服务器开发环境搭建:包括推流、服务器配置、拉流测试

    SRS 4.0流媒体服务器入门系列 结合SRS官方Wiki以及本人对SRS的理解,推出<SRS 4.0流媒体服务器入门系列>,包括内容: SRS 4.0 开发环境搭建 SRS 4.0 配置 ...

  4. 开源流媒体服务器SRS学习笔记(1) - 安装、推流、拉流

    SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群. 1.安装 官网提供了3种安装 ...

  5. LiveVideoStack线上分享第五季(七):开源流媒体服务器:为何一定得再撸个新的...

    视频技术的主要场景是直播和RTC,2020年IoT和5G的快速发展,以及全球居家隔离,促进了视频行业的大规模发展,也促进了直播和RTC的融合,将带来更加丰富的业务场景.开源社区也在不断进步,而直播.R ...

  6. 多媒体视频开发_(6) EasyDarwin开源流媒体服务器程序搭建

    EasyDarwin开源流媒体服务器程序搭建 https://winqi.cn/120.html

  7. Linux服务器开发环境搭建 Nginx+PHP+MongoDB

     Linux服务器开发环境搭建 Nginx+PHP+MongoDB mkdir -p /home/trlinux/download mkdir -p /home/trlinux/server mkdi ...

  8. EasyDarwin开源流媒体服务器

    主要功能特点 基于Golang开发维护: 支持Windows.Linux.macOS平台: 支持RTSP推流分发(推模式转发): 支持RTSP拉流分发(拉模式转发): 服务端录像 参考:EasyDar ...

  9. EasyDarwin开源流媒体服务器Golang版本:拉转推功能之拉流实现方法

    EasyDarwin开源流媒体服务器(www.easydarwin.org),拉转推是一个很有意义的功能,它可将一个独立的RTSP数据源"拉"到服务器,再通过转发协议转发给多个客户 ...

最新文章

  1. SPOJ 8222 NSUBSTR(SAM)
  2. ansible的安装和ansible的模板
  3. 办公室小野与爆米花视频身亡女孩家属和解:补偿金额保密
  4. Ubuntu下配置D-Link路由器进行联网
  5. Android 输入法问题 解决三星s5830i或华为低端机输入法崩溃问题
  6. 完整的ERP流程图大全
  7. CMMI认证过程中实施步骤详解
  8. java调用soap接口_java远程调用soap协议接口
  9. php读取写入,php操作文件(读取写入文件)
  10. Django搭建网站的个人笔记记录
  11. 这篇文章来告诉你几个实用的视频转文字的方法
  12. hdu4416[多串后缀自动机]
  13. 短视频系统源代码,加载本地图片和加载网络图片
  14. 21 、查询不同老师所教不同课程平均分从高到低显示(不重点)(自己做出)
  15. Python编写的客户端给服务器发送指令执行相应的命令并返回结果
  16. python datetime 格式化_[已解决]Python中用strftime格式化datetime出错
  17. 宽带不能上传发文件_多少家庭的宽带白白浪费,想要跑满宽带,这几点缺一不可...
  18. Android可触摸圆形进度条,Android 可滚动圆形进度条 滑块和进度在进度条上面跟着滚动...
  19. spring boot 构建docker镜像,运行指定spring profile
  20. 河南省许昌市谷歌高清卫星地图下载

热门文章

  1. Python3 面向对象基础1
  2. NTC热敏电阻温度采集与adc转换
  3. 2019技术大赛预选赛 writeup
  4. 京东方和TCL为争夺全球液晶面板老大位置,展开并购竞赛
  5. 威佐夫博弈 poj 1067
  6. 如何提炼好的软文标题
  7. 【Kettle Spoon】课程要点简记
  8. 笔试 | 大疆2021秋招笔试题及题解
  9. 在ubuntu系统下使用gcc和makefile实现c语言程序的编译运行
  10. vue项目中出现重复点击路由报错