SRS是一个挺好用的开源直播服务器,源码位于https://github.com/ossrs/srs 文档比较全,个人在实际使用中还是有一些小问题。在这记录一下。
一、编译
git clone https://github.com/ossrs/srs
cd srs/trunk
--jobs=16指示用16个进程进行make,加快速度,因为我的服务器是32核的。
./configure --rtmp-hls --with-ffmpeg --with-http-api --jobs=16
在编译过程中编译ffmpeg出错, trunk/auto/build_ffmpeg.sh文件是编译ffmpeg时用的脚本,直接修改此脚本中./configure后面的参数,把enable_asm 删除掉。
1.编译 x264错误,报不支持asm
将x264的./configure 参数添加--disable-asm
2.编译ffmpeg时找不到libspeex,明明有这个库的,但是找不到
把ffmpeg的 ./configure 参数--enable-libspeex 删除掉。
二、推流
官方给的脚本是这个:
意思是播放 ./doc/ljg-39.mp4文件, 推送到 rtmp://test.abc.com/live/livestream
#!/bin/bash
for((;;)); do \
./objs/ffmpeg/bin/ffmpeg -re -i ./doc/ljg-39.mp4 \
-vcodec copy -acodec copy \
-f flv -y rtmp://test.abc.com/live/livestream; \
sleep 1; \
done
如果使用OBS进行推流,则在推流配置中作如下配置:
流类型 选择自定义
URL 填rtmp://test.abc.com/live 注意最后的live
流名称(新版本称为密钥) 填livestream
三、运行服务器
conf目录下有许多配置文件
我选择的是 http.flv.live.conf ,修改一下端口号,默认是8080,改成实际使用的端口号即可
./objs/srs -c conf/http.flv.live.conf
执行命令,服务器开始运行
四、播放
推荐用vlc进行播放,播放地址是:
hls: http://test.abc.com:8080/live/livestream.m3u8
rtmp: rtmp://test.abc.com/live/livestream
flv: http://test.abc.com:8080/live/livestream.flv