1.安装go环境
安装包下载地址为:https://golang.org/dl/
Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.4.2.windows-amd64.msi)的安装包来安装。
默认情况下 .msi 文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 Path 环境变量中。添加后你需要重启命令窗口才能生效。
安装测试
创建test.go 文件
test.go 文件代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
使用 go 命令执行以上代码输出结果如下:
C:\test.go文件位置>go run test.go
Hello, World!
2. 安装livego
- 直接下载编译好的二进制文件后,在命令行中执行(直接点击exe文件)。
- 下载源码 git clone https://github.com/gwuhaolin/livego.git
去 livego 目录中 执行 go build
3. 推流端环境准备
准备ffmpeg,下载ffmpeg。
使用命令行进行推流。
访问 http://localhost:8090/control/get?room=movie 获取一个房间的 channelkey(channelkey用于推流,movie用于播放)。channelkey就是data对应的字符串。
{"status":200,"data":"rfBd56ti2SMtYvSgD5xAV0YU99zampta7Z7S575KLkIZ9PYk"}
推流: 通过RTMP协议推送视频流到地址 rtmp://localhost:1935/{appname}/{channelkey} , 例如: 使用 ffmpeg -re -i demo.flv(视频所在地址) -c copy -f flv (appname默认是live)推流(下载demo flv);
如:ffmpeg -re -i C:\Users\Admin\Desktop\demo.flv -c copy -f flv rtmp://localhost:1935/live/rfBd56ti2SMtYvSgD5xAV0YU99zampta7Z7S575KLkIZ9PYk
推流成功:
在http://127.0.0.1:8090/stat/livestat查看推流状态
拉流
播放地址如下:
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.m3u884
播放方法
(1)VLC Player
使用VLC Player可以接收播放rtmp协议的视频流。具体操作方法不再接收,直接打开网络串流,输入“rtmp://localhost:1935/live/movie”,播放接口(先推流,后拉流)。
(2)使用video.js方式播放hls格式媒体流【Demo传送门】
核心代码如下:
<video id="myVideo" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" data-setup='{}' style='width: 100%;height: auto'>
<source id="source" src="http://localhost:7002/live/movie.m3u8" type="application/x-mpegURL"></source>
</video>
(3)使用flv.js方式播放flv格式媒体流【Demo传送门】
核心代码如下:
<video name="videoElement" class="centeredVideo" controls="" autoplay="" src="http://localhost:7001/live/movie.flv" muted>
Your browser is too old which doesn't support HTML5 video.
</video>