go视频服务是基于开源项目livego
创建直播房间( 串流秘钥)
请求:http://你的服务器地址:8090/control/get?room=房间名字(即串流秘钥)
成功响应:{“status”:200,“data”:一段与房间名对应的MD5密文}
根据官网的例子,用curl命令:
curl http://127.0.0.1:8090/control/get?room=movie
返回结果:
{"status":200,"data":"L17LTlsVqMNTZyLKMIFSD2x28MlgPJ0SDZVHnHJPxMKi0tWx"}
实际应用中需要增加一个获取串流秘钥接口,可以保证每次秘钥的唯一性。
livego还提供了其他推拉流管理的接口和统计信息相关的接口(live对应livego.yaml里可以看到默认的app名字)
拉流开始查询接口
http://127.0.0.1:8090/control/pull?&oper=start&app=live&name= movie&url=rtmp://127.0.0.1:1935/live/movie
结果样例:
{ status: 400, data: "<h1>push url start rtmp://127.0.0.1:1935/live/movie ok</h1></br>" }
查询播放状态
http://127.0.0.1:8090/stat/livestat
结果样例
{ status: 200, data: { publishers: [ { key: "live/mPjVIUp97tQjNHJcaOAGeDZRvcMdGIASmHsVKxASAgqjn9FS", url: "rtmp://localhost:1935/live/mPjVIUp97tQjNHJcaOAGeDZRvcMdGIASmHsVKxASAgqjn9FS", stream_id: 1, video_total_bytes: 1940374, video_speed: 1465, audio_total_bytes: 206931, audio_speed: 161 } ], players: null } }
推流开始状态(这个接口返回数据还不太明白什么意思)
http://127.0.0.1:8090/control/push?&oper=start&app=live&name=movie&url=rtmp://127.0.0.1:1935/live/movie
拉流结束状态
http://127.0.0.1:8090/control/pull?&oper=stop&app=live&name=movie&url=rtmp://127.0.0.1:1935/live/movie
可以理由GitHub项目中介绍文档的ffmpeg和ffplay配合测试

文章介绍了如何基于开源项目livego搭建直播服务,包括创建直播房间(串流秘钥)的HTTP请求,如获取串流秘钥的接口,以及推拉流管理和统计信息的相关接口。示例中展示了curl命令的使用,以及各种操作(如推流开始、播放状态查询)的接口响应。
153

被折叠的 条评论
为什么被折叠?



