nginx-http-flv-module
(更新不是很频繁)
SRS
: https://ossrs.net/lts/zh-cn/(独立官网,目前最新稳定版version5)
基于SRS搭建直播demo演示:
一、搭建流媒体服务器
参见官网:https://ossrs.net/lts/zh-cn/docs/v6/doc/getting-started
vmware12 虚拟机一台**centos7
服务器,内网ip:192.168.1.4
**
运行SRS服务器:
#docker 启动并进去容器观看log启动日志
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
# ctrl + p + q 不杀死方式退出容器
docker ps 查看启动成功:
云服务器注意放开涉及到的端口。
二 、模拟推流
使用ffmpeg推流模拟,演示环境windows10,下载ffmpeg6.0
ffmpeg:https://github.com/BtbN/FFmpeg-Builds/releases
视频文件:dajiang.mp4
cenos7的ip:192.168.1.4
# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffmpeg.exe -re -i dajiang.mp4 -vcodec libx264 -acodec aac -f flv rtmp://192.168.1.4/live/livestream
三 、模拟拉流
rtmp协议浏览器flash播放,flash已经是过去式,我们使用ffplay.exe播放测试。
flv、hls(m3u8)均使用ffplay.exe播放测试。
- 实际项目使用浏览器端哔哩哔哩开源的flv.js支持flv播放
- 实际项目使用hls.js支持m3u8播放
rtmp协议播放测试(先开启推流,同时开启拉流):
# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
# -x 500 表示500像素的窗口播放
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffplay.exe -x 500 rtmp://192.168.1.4/live/livestream
flv协议播放测试(先开启推流,同时开启拉流):
# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
# -x 500 表示500像素的窗口播放
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffplay.exe -x 500 http://192.168.1.4:8080/live/livestream.flv
hls(m3u8)协议播放测试(先开启推流,同时开启拉流):
# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
# -x 500 表示500像素的窗口播放
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffplay.exe -x 500 http://192.168.1.4:8080/live/livestream.m3u8