srs安装与ffmpeg推流
环境说明:ubuntu 16.04
当前目录为~/。
一、 下载
git clone https://github.com/ossrs/srs.git
二、部署SRS
关闭防火墙,执行如下命令。
ufw disable //关闭防火墙
cd srs/trunk
./configure && make //编译文件
./objs/srs -c conf/srs.conf // 启动srs服务
ps -ef | grep srs //查看服务是否启动成功
输入cd 3rdparty进入第三方组件包,可以看到srs自带了很多第三方插件
第三方软件安装
cd 3rdparty
ls
unzip yasm-1.2.0.zip //我的是yasm-1.2.0.zip
cd yasm-1.2.0
./configure //编译yasm ,
make && make install //安装yasm,建议切换到管理员进行操作 sudo su
cd ..
//准备安装ffmpeg 4.1
unzip ffmpeg-4.1.zip
cd ffmpeg-4.1
./configure //编译ffmpeg ,
make && make install //安装ffmpeg,建议切换到管理员进行操作 sudo su
到这里,基本就全部安装完毕了。直接启动服务即可,推流的时候往linux直接推流即可,如:rtmp://srs服务器IP地址:1935/live/xxx,然后客户端再拉流就可以了.
三、推流拉流测试
1.ffmpeg
推流
编写一个脚本,pushflow.sh,赋予a+x权限。
##!/bin/sh
for((;;)); do
./objs/ffmpeg/ffmpeg -re -i ./doc/source.200kbps.768x320.flv -vcodec copy -acodec copy -f flv -y rtmp://172.17.172.45/live/livestream;
sleep 1;
done
执行,./pushflow.sh。
拉流
下载安装VLC,
媒体->打开网络串流->输入网络URL
rtmp://172.17.172.45/live/livestream,稍等1s左右即可看到视频。
2.用obs采集摄像头推流
用obs采集摄像头推流以及文件推流,可以参考下面第三个博客,写的很好。以下为复制部分,除了效果展示。
FFmpeg的命令行方式不太友好,推荐使用主流的OBS开源推流软件,可从官网https://obsproject.com/ 下载最新版本,目前很多网络主播都是用它做直播。该软件支持本地视频文件以及摄像头推流。
2.1 文件推流
先添加一个:“媒体源”
然后新建一个名称(随便输入)
选择本机视频文件
接下来是关键的部分,进入设置:
在串流->服务器这里,输入srs的地址:rtmp://srs_server_ip:1935/live (注意这里不要带livestream), 然后在串流密钥这里,才是输入livestream
设置好以后,就可以点击“开始推流”了。如果顺利,下面的状态栏,会显示一些实时数据:
播放效果
2.2 摄像头推流
跟上面的其实差不多,区别只是添加“视频捕捉设备”
然后选择本机检测到的摄像头设备(比如:下图为win10笔记本自带的 Integrated Webcan)
接下来的操作就一样了,播放效果如下: