返回

一步步教你用flvjs和livego搭建自己的直播详细版

前端

安装和配置

1. 安装flvjs

npm install flv.js

2. 安装livego

go install github.com/livego/livego@latest

3. 配置livego

livego的配置文件位于~/.livego/livego.toml。打开该文件并进行如下配置:

[global]
addr = ":8080"
log_level = "debug"

[hls]
segment_duration = 2

4. 运行livego

livego -c ~/.livego/livego.toml

搭建直播系统

1. 创建流媒体服务器

package main

import (
	"log"
	"net/http"

	"github.com/grafov/flv"
	"github.com/livego/flvhttp"
)

func main() {
	mux := http.NewServeMux()
	mux.Handle("/live/", http.StripPrefix("/live/", flvhttp.NewHandler(flv.NewMuxer())))
	log.Fatal(http.ListenAndServe(":8080", mux))
}

2. 创建直播页面

<!DOCTYPE html>
<html>
<head>
	
	<script src="flv.js"></script>
</head>
<body>
	<video id="video" controls></video>

	<script>
		var video = document.getElementById('video');
		var flvPlayer = flvjs.createPlayer({
			type: 'flv',
			url: 'http://localhost:8080/live/stream'
		});
		flvPlayer.attachMediaElement(video);
		flvPlayer.load();
		flvPlayer.play();
	</script>
</body>
</html>

测试直播系统

1. 推流

ffmpeg -re -i input.mp4 -vcodec libx264 -acodec aac -f flv rtmp://localhost:8080/live/stream

2. 拉流

打开直播页面,即可看到直播流。

总结

本文介绍了如何使用flvjs和livego搭建自己的直播系统。通过这两个库的结合,我们可以轻松地搭建自己的直播系统,实现音视频的实时传输。