上次放假时候搞到的公网IP 用来搭个直播服务器好像也是一个不错的选择
准备工作
用到的开源程序:
livego 直播服务器
flv.js - Bilibili
Web:HomeLive - PeacherMZ
只需下载HomeLive和livego - Releases即可
部署
livego部分
这个开源的直播服务器简直不要太好用 支持RTMP/HLS/HTTP-FLV 在Releases里Down一个包下来 里面就一个.exe自带web服务器 开包就用
之前装了宝塔面板 在宝塔面板里放行一下端口
如果是云服务器还要去安全组那边放行
在本地访问http://127.0.0.1:8090/control/get?room=xxxx
(xxxx是你自定义的房间号)就可以取得channelkey,然后用这个channelkey去推流
web部分
刚才的index.html丢到web服务器上面之后,修改"http://example.peacher.cn:7001/live/example.flv"为自己的地址即可
即后面一个example要替换为刚才的自定义房间号xxxx
推流与观看
推流可以使用任意支持rtmp协议的端,直接用斗鱼直播伴侣也可以
在斗鱼的配置里上面填写地址(不带channelkey)下面填channelkey
浏览器访问index.html,即可观看
The End.
附:livego官方说明:
启动服务:执行 livego 二进制文件启动 livego 服务; 访问
http://localhost:8090/control/get?room=movie 获取一个房间的
channelkey(channelkey用于推流,movie用于播放). 推流: 通过RTMP协议推送视频流到地址
rtmp://localhost:1935/{appname}/{channelkey} (appname默认是live), 例如: 使用
ffmpeg -re -i demo.flv -c copy -f flv
rtmp://localhost:1935/{appname}/{channelkey} 推流(下载demo flv); 播放:
支持多种播放协议,播放地址如下: RTMP:rtmp://localhost:1935/{appname}/movie
FLV:http://127.0.0.1:7001/{appname}/movie.flv
HLS:http://127.0.0.1:7002/{appname}/movie.m3u8 所有配置项:./livego -h Usage of ./livego:
--api_addr string HTTP管理访问监听地址 (default ":8090") --config_file string 配置文件路径 (默认 "livego.yaml") --flv_dir string 输出的 flv 文件路径 flvDir/APP/KEY_TIME.flv (默认 "tmp") --gop_num int gop 数量 (default 1) --hls_addr string HLS 服务监听地址 (默认 ":7002") --hls_keep_after_end Maintains the HLS after the stream ends --httpflv_addr string HTTP-FLV server listen address (默认 ":7001") --level string 日志等级 (默认 "info") --read_timeout int 读超时时间 (默认 10) --rtmp_addr string RTMP 服务监听地址 (默认 ":1935") --write_timeout int 写超时时间 (默认 10)