相关文章推荐
睿智的墨镜  ·  Element-Plus ...·  5 月前    · 
直爽的牛肉面  ·  macos - sparse file ...·  1 年前    · 

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 # 分辨率减少一半,视频较流畅