srs部署到ubuntu 18.04 server

Easter79
• 阅读 1026

srs.txt

ubuntu 18.04 安装 srs

1. 上传srs_40.7z和h2ws.7z到linux服务器,然后远程ssh连接
(假设登陆用户名是bob,linux服务器ip是192.168.0.50)
$ scp *.7z bob@192.168.0.50:~
$ ssh bob@192.168.0.50

2. 安装编译依赖
$ sudo apt install gcc make python p7zip-full -y

3. 解压
$ 7z x srs_40.7z; 7z x h2ws.7z

4. 编译srs
$ cd srs-master/trunk/
$ sudo rm -rf ./objs
$ CFLAGS='-w' ./configure
$ CFLAGS='-w' make

5. 查看srs端口配置文件
$ cat ./conf/http.flv.live.conf

listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;
http_server {
    enabled         on;
    listen          8888;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
        hstrs       on;
    }
}

6. 运行srs$ chmod +x ~/srs-master/trunk/objs/srs
$ screen -S srs ~/srs-master/trunk/objs/srs -c conf/http.flv.live.conf
Ctrl+A,D

7. 运行h2ws$ chmod +x ~/h2ws/bin/linux_amd64/h2ws
$ screen -S h2ws ~/h2ws/bin/linux_amd64/h2ws -i http://localhost:8888 -o 9999
Ctrl-A,D

8. 查看运行情况
$ screen -ls
There are screens on:
        44930.h2ws      (06/28/2018 03:12:44 AM)        (Detached)
        44887.srs       (06/28/2018 03:08:44 AM)        (Detached)
2 Sockets in /run/screen/S-bob.

关于screen其他操作
返回srs可以输入:screen -r srs
杀掉h2ws可以输入:screen -XS h2ws quit
或者通过-r返回后按Ctrl+C,或者按Ctrl+A,K然后输入y

9. 防火墙配置
$ sudo ufw enable
$ sudo ufw allow 22
sudo ufw allow 1935
sudo ufw allow 8888
sudo ufw allow 9999
$ sudo ufw status numbered
删除:sudo ufw delete 编号

10. 测试
(假设linux服务器ip是192.168.0.50,rtsp地址的用户名密码是admin:admin)
(1)浏览器访问:
http://192.168.0.50:8888
(2)ffmpeg推流,ffplay播放:
264:
C:\> ffmpeg -i rtsp://admin:admin@192.168.205.155:554/Streaming/Channels/102 -c copy -f flv rtmp://192.168.0.50/live/264.flv
C:\> ffplay rtmp://192.168.0.50/live/264.flv
265:
C:\> ffmpeg -i rtsp://admin:admin@192.168.205.155:554/Streaming/Channels/202 -c copy -f flv rtmp://192.168.0.50/live/265.flv
C:\> ffplay rtmp://192.168.0.50/live/265.flv
(3)nodeplayer测试
先用ffmpeg推265的流。
用httpserver启动nodeplayer的页面,打开浏览器导航到nodeplayer的index.html,
播放地址输入:ws://192.168.0.50:9999/live/265.flv


-------------------------
测试通过后,下面部分将srs和h2ws配置为自启动服务

1. 复制srs.service和h2ws.service到linux服务器,然后登陆
$ scp *.service bob@192.168.0.50:~
$ ssh bob@192.168.0.50

2. 替换两个service文件中bob为自己的登录用户名,sed方式如下
(如果是使用root用户,请用vi编辑器手动修改这两个文件)
假设替换为用户jude:
$ sed -i 's/bob/jude/g' *.service

3. 配置服务
$ sudo mv *.service /etc/systemd/system/
$ sudo systemctl enable srs h2ws

4. 启动服务
$ sudo systemctl start srs h2ws

5. 查看服务状态
$ sudo systemctl status srs h2ws
如果看见两个绿色的active (running),表示启动成功。
如果失败,请修改对应的/etc/systemd/system/xxxxxx.service,然后
调用systemctl daemon-reload,再调用启动服务命令。

6. 服务日志
(1)查看srs日志
$ journalctl -u srs
(2)查看srs从今天开始的日志
$ journalctl -u srs --since today
可以指定时间,如:--since "2015-01-10" --until "2015-01-11 03:00"
(3)跟随日志显示-f
$ journalctl -u srs --since today -f
(4)只显示错误日志
$ journalctl -u srs --since today -p err
可选:
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug

srs.service

[Unit]
Description=SRS
After=syslog.target
After=network.target

[Service]
Type=simple
User=bob
Group=bob
WorkingDirectory=/home/bob/srs-master/trunk
ExecStart=/home/bob/srs-master/trunk/objs/srs -c conf/http.flv.live.conf
Restart=always
Environment=USER=bob

[Install]
WantedBy=multi-user.target

h2ws.service

[Unit]
Description=H2WS
After=syslog.target
After=network.target

[Service]
Type=simple
User=bob
Group=bob
WorkingDirectory=/home/bob/h2ws/bin/linux_amd64
ExecStart=/home/bob/h2ws/bin/linux_amd64/h2ws -i http://localhost:8888 -o 9999
Restart=always
Environment=USER=bob

[Install]
WantedBy=multi-user.target
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k