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

srs部署到ubuntu 18.04 server的更多相关文章

  1. OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装

    序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 计算节点: 1.准备结点 安装好ubuntu 12.04 Server 64bits后,进入ro ...

  2. OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(二)——网络节点的安装

    序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 网络节点: 1.安装前更新系统 安装好ubuntu 12.04 Server 64bits后,进 ...

  3. OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(一)——控制节点的安装

      序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 控制节点: 1.准备Ubuntu 安装好Ubuntu12.04 server 64bits后 ...

  4. OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序

    OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE](一)——控制节点的安装 OpenStack Havana 部署在Ubuntu 12.04 Serve ...

  5. [转帖]Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接

    Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接 https://blog.csdn.net/networken/article/details/88938304 转帖 ...

  6. Ubuntu 18.04 server安装+搭建Seacms v10.1网站

    0x00 写在前面 以前我天真的认为,ubuntu Desktop会安装了,server就无所谓了,其实完全不然,server还是有一些坑点的. 之所以选择Seacms搭建网站,是因为这个SeaCMS ...

  7. Ubuntu 18.04 Server 配置静态ip

    刚在虚拟机里面状态了一个 Ubunut 18.04 Server 作为我的服务器,我习惯使用静态ip首先再virtualbox中设置虚拟机网络的连接方式为桥接模式进入ubuntu虚拟机根据我的印象直接 ...

  8. Ubuntu 18.04 Server上安装LAMP

    由于要进行渗透测试,所以这两天就在搭LAMP的环境(过程及其痛苦) 这里分享一些我遇到的问题. 首先介绍一下我的使用环境  VM虚拟机,ubuntu 与主机NAT连接 由于之前一直使用的是kali(默 ...

  9. Ubuntu 18.04 Server 设置静态IP

    一.背景 Netplan是Ubuntu 17.10中引入的一种新的命令行网络配置实用程序,用于在Ubuntu系统中轻松管理和配置网络设置.它允许您使用YAML抽象来配置网络接口.它可与NetworkM ...

随机推荐

  1. [荐][转]为何应该使用 MacOS X(论GUI环境下开发人员对软件的配置与重用)

    一周前我和 Tinyfool 闲聊苹果操作系统,都认为对于开发人员来说,苹果操作系统(MacOS)是上佳的选择.Tinyfool 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章 ...

  2. centos7 docker 安装配置

    docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...

  3. 我的Android进阶之旅------>Android自定义View实现带数字的进度条(NumberProgressBar)

    今天在Github上面看到一个来自于 daimajia所写的关于Android自定义View实现带数字的进度条(NumberProgressBar)的精彩案例,在这里分享给大家一起来学习学习!同时感谢 ...

  4. 【MonogDB】The description of index(二) Embedded and document Index

    In this blog, we will talk about another the index which was called "The embedded ". First ...

  5. java 多线程 day05 线程范围内的数据共享

    import java.util.HashMap;import java.util.Map;import java.util.Random;/** * Created by chengtao on 1 ...

  6. Python(装饰器)

    eval 内容从字符串中提取出来,用Python运行一遍__name__得到函数名字 闭包函数 定义: 函数内部定义的函数称为内部函数 该内部函数包含对外部作用域,而不是对全局作用域的名字的引用 那么 ...

  7. Linux基础——centos 跳过管理员密码进行登录(单用户模式、救援模式)

    这里列举了两种更改或者取消管理员密码登录Linux系统的方法,其实两种方法类似,都是想方设法跳过用户认定,直接更改用户文件.更改密码的过程. 为了跳过系统正常启动过程中的某些步骤,必须知道大致的系统启 ...

  8. IE调试页面总结

    随着IE版本的升级,IE变的越来越强大,随之带来的问题也是越来越明显,如:如何调试在低版本的浏览器中 的情况 IE9的方法: 出于未知需求,用户在安装了较高版本IE浏览器(IE9)之后,又需要使用低版 ...

  9. redis.conf配置项说明

    #是否以后台进程运行,默认为no,如果需要以后台进程运行则改为yes daemonize no #如果以后台进程运行的话,就需要指定pid,你可以在此自定义redis.pid文件的位置. pidfil ...

  10. javascript Date对象 之 设置时间

    之前对js的date对象总是感觉熟悉,而不愿细细深究其所以然,所以每当自己真正应用起来的时候,总会糊里糊涂的,今日花费2个小时的时间仔细钻研了一下,感觉 豁然开朗,故,以此记录,一来 供以后查阅,二来 ...