简单说明一下:
安装使用的两种方式:
直接使用官方提供的docker镜像,直接一键开启,方便快捷:
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 ./objs/srs -c conf/srs.conf
使用源码安装:
如果使用源码安装,直接看它github,非常便捷;
我是安装在centos7上的,放在/opt/,每次开机需要进到里面:
然后我只是只执行了make,没有执行make install ,intall会将其安装在/usr/loacl/srs这个目录里面。
然后看这官方文档,将其设置为开机自启的方法。
用ffmpeg推流前需要先安装,这是我前面写的关于ffmpeg安装的教程,可以参考一下。
ffmpeg推流(下面命令是针对srs所在服务器的直接推流):
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
OBS推流(这个要推流成功,就一定要先打开1935的rtmp端口),在obs推流界面设置:
rtmp://192.168.125.128/live/
#应该就是固定写法123
# 自己起,也可以是 livestream/123/456
下面是不同的地址,直接使用ffplay或是其他软件,如vlc、PotPlayer播放即可:
Tips:
python里面的一个推流,记录一下吧,也都是调用ffmpeg:
import cv2 import subprocess # RTMP服务器地址 rtmp = r'rtmp://192.168.125.128/live/123' # 后面的123自己随意起的,可改成其它的,如123321/456等等 # 读取视频并获取属性 # 还可以把摄像头0换成rtsp地址,进行rtsp的推流 cap = cv2.VideoCapture(0) size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))) sizeStr = str(size[0]) + 'x' + str(size[1]) command = ['ffmpeg', '-y', '-an', '-f', 'rawvideo', '-vcodec', 'rawvideo', '-pix_fmt', 'bgr24', '-s', sizeStr, '-r', '25', '-i', '-', '-c:v', 'libx264', '-pix_fmt', 'yuv420p', '-preset', 'ultrafast', '-f', 'flv', rtmp] pipe = subprocess.Popen(command, shell=False, stdin=subprocess.PIPE ) while cap.isOpened(): success, frame = cap.read() if success: if cv2.waitKey(1) & 0xFF == ord('q'): break pipe.stdin.write(frame.tostring()) cap.release() pipe.terminate()
拉取流:ffplay rtmp:192.168.125.128/live/123
所以如果你有一台云服务器,把环境配好,你就可以在win上用obs推流你当前摄像头画面,别人也能拿到你的地址进行直播观看。
希望能帮到你~