视频推流拉流播放

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

  1. 直接下载编译好的二进制文件后,在命令行中执行(直接点击exe文件)。
  2. 下载源码 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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值