Github项目

q191201771/lal:Go语言编写的音视频直播流处理库

q191201771/lal是一个用Go编写的音频/视频直播流广播服务器。它具有多种功能,如支持RTMP、RTSP等多种协议,还能进行relay、cluster、record等操作。有多种安装方式,包括从源代码...

标签:

【Github】项目名:q191201771/lal:Go语言编写的音视频直播流处理库

一、项目简介

LAL是一个用Go编写的音频/视频直播流广播服务器。它类似于nginx – rtmp – module,但更易于使用且功能更多,例如支持RTMP、RTSP(RTP/RTCP)、HLS、HTTP[S]/WebSocket – FLV/TS、GB28181、H264/H265/AAC/G711/OPUS、relay、cluster、record、HTTP API/Notify/WebUI、GOPcache等功能。

二、项目安装方式

1. 从源代码构建

首先确保Go版本>= 1.18。对于Linux/macOS用户,执行以下命令:
$ git clone https://github.com/q191201771/lal.git
$ cd lal
$ make build
然后所有二进制文件将进入./bin/目录。对于有经验的Go开发者(以及Windows用户),只需关注主函数在./app/lalserver目录下,也可以执行:
$ git clone https://github.com/q191201771/lal.git
$ cd lal/app/lalserver
$ go build
或者使用任何你喜欢的IDE。到目前为止,LAL唯一的直接和间接依赖是naza(一个基本的Go实用库,也是作者自己编写的),这减少了依赖或版本管理问题。

2. 使用预构建二进制文件

在LAL的GitHub版本页面可获取Linux、macOS(Darwin)、Windows的预构建二进制文件。推荐使用最新版本的二进制文件,命名格式为lal__.zip,例如lal_v0.20.0_linux.zip。只要Go编译器工具链能运行的地方,LAL都可以从源代码构建,例如社区已经测试过的arm32和mipsle等其他架构。

3. Docker方式

有三种Docker使用方式:
选项1:使用dockerhub上的预构建镜像,只需运行:
$ docker run -it -p 1935:1935 -p 8080:8080 -p 4433:4433 -p 5544:5544 -p 8083:8083 -p 8084:8084 -p 30000 – 30100:30000 – 30100/udp q191201771/lal/lal/bin/lalserver -c /lal/conf/lalserver.conf.json
选项2:使用Dockerfile从本地源构建并运行:
$ git clone https://github.com/q191201771/lal.git
$ cd lal
$ docker build -t lal.
$ docker run -it -p 1935:1935 -p 8080:8080 -p 4433:4433 -p 5544:5544 -p 8083:8083 -p 8084:8084 -p 30000 – 30100:30000 – 30100/udp lal/lal/bin/lalserver -c /lal/conf/lalserver.conf.json
选项3:使用docker – compose
创建一个docker – compose.yml文件,内容如下:
version: “3.9”
services:
lalserver:
image: q191201771/lal
container_name: lalserver
ports:
– “1935:1935”
– “8080:8080”
– “4433:4433”
– “5544:5544”
– “8083:8083”
– “8084:8084”
– “30000 – 30100:30000 – 30100/udp”
command: /lal/bin/lalserver -c /lal/conf/lalserver.conf.json
运行以下命令启动服务:
docker – compose up
或者在后台运行:
docker – compose up -d

三、项目使用示例

运行lalserver:
$./bin/lalserver -c./conf/lalserver.conf.json
使用你熟悉的客户端与lalserver交互,例如:
通过ffmpeg向lalserver发布rtmp流:
$ ffmpeg -re -i demo.flv -c:a copy -c:v copy -f flv rtmp://127.0.0.1:1935/live/test110
通过ffplay从lalserver播放多协议流:
$ ffplay rtmp://127.0.0.1/live/test110
$ ffplay rtsp://127.0.0.1:5544/live/test110
$ ffplay http://127.0.0.1:8080/live/test110.flv
$ ffplay http://127.0.0.1:8080/hls/test110/playlist.m3u8
$ ffplay http://127.0.0.1:8080/hls/test110/record.m3u8
$ ffplay http://127.0.0.1:8080/hls/test110.m3u8
$ ffplay http://127.0.0.1:8080/live/test110.ts

四、项目总结

LAL不仅仅是一个服务器,还可以作为包和客户端。除了名为lalserver的直播流广播服务器之外,项目LAL甚至还提供许多其他应用程序,例如推/拉/重混流客户端、基准测试工具、示例等。我们的目标不仅是提供一个生产服务器,而且是一个具有定义良好、面向用户的API的简单包,以便用户可以在其上构建自己的应用程序。如果你有任何关于该项目的问题、建议等,欢迎通过lal的GitHub issues与作者联系。期待大家在评论区留言讨论这个项目。

项目地址

GitHub链接直达

数据统计

数据评估

q191201771/lal:Go语言编写的音视频直播流处理库浏览人数已经达到8,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:q191201771/lal:Go语言编写的音视频直播流处理库的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找q191201771/lal:Go语言编写的音视频直播流处理库的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于q191201771/lal:Go语言编写的音视频直播流处理库特别声明

本站链氪巴士提供的q191201771/lal:Go语言编写的音视频直播流处理库都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。

相关导航

暂无评论

暂无评论...