1,获取SRS。
git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull
若未安装git,可执行以下命令进行安装:
sudo yum install -y git
2,编译SRS。
./configure && make
3,编写SRS配置文件。
将以下内容保存为文件,譬如conf/rtmp.conf
,服务器启动时指定该配置文件(srs的conf文件夹有该文件)。
# conf/rtmp.conf
listen 1935;
max_connections 1000;
vhost __defaultVhost__ {
4,启动SRS。
./objs/srs -c conf/srs.conf
二、本地推流到服务器
1,安装ffmpeg。
sudo apt install ffmpeg
2,启动推流编码器。
选取视频文件 source.200kbps.768x320.flv 进行推流到服务器。
ffmpeg -re -i source.200kbps.768x320.flv -c copy -f flv -y rtmp://39.97.214.170/live/livestream
或者打开本地摄像头开始推流:
获取摄像头名称
ffmpeg -list_devices true -f dshow -i dummy
获取视频流并推流
ffmpeg -f dshow -i video="USB2.0 VGA UVC WebCam" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f flv rtmp://39.97.214.170/live/livestream
三、本地从服务器拉流
打开VLC 播放器,点击菜单栏上的“媒体“,接着点击”打开网络串流“,输入以下信息便可成功拉流。
rtmp://39.97.214.170/live/livestream
启动推流编码器之后若出现一下错误信息,可能是服务器端口未开放,需要手动开发
RTMP_Connect0, failed to connect socket. 113 (No route to host)
rtmp://39.97.214.170/live/livestream: Unknown error occurred
[tcp @ 000002104d0181c0] Connection to tcp://39.97.214.170:1935 failed: Error number -138 occurred
[rtmp @ 000002104d0180c0] Cannot open connection tcp://39.97.214.170:1935
rtmp://39.97.214.170/live/livestream: Unknown error
开放服务器的1935端口,步骤如下:
1、开启防火墙
sudo systemctl start firewalld
2、开放指定端口
sudo firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3、重启防火墙
sudo firewall-cmd --reload
4、查看端口号
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp |grep 1935 //查看所有1935端口使用情况
# 获取摄像头名称
ffmpeg -list_devices true -f dshow -i dummy
# 采集摄像头并推流
ffmpeg -f dshow -i video="USB2.0 VGA UVC WebCam" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f flv rtmp://39.97.214.170/live/livestream
ffmpeg -f dshow -i video="USB2.0 VGA UVC WebCam" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f flv rtmp://39.97.214.170/live/livestream # 传输的分辨率大,视频较为卡顿
ffmpeg -f dshow -i video="USB2.0 VGA UVC WebCam" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -vf scale=iw/2:-1 -f flv rtmp://39.97.214.170/live/livestream # 分辨率减少一半,视频较流畅