
中文文档
LAL是用GO编写的音频/视频直播广播服务器。它有点像nginx-rtmp-module ,但更易于使用,并且具有更多功能,例如RTMP,RTSP(RTP/RTCP),HLS,HTTP [s]/websocket [s] -flv/ts,GB28181,H264/h264/h264/h265/aac/aac/aac/aac/aac/aac/aac/aac/aac/g711/resay,resay,resay,cromess,crops,clustp, API/NOTIFY/WEBUI,GOP缓存。
安装LAL有3种方法:
首先,确保GO版本> = 1.18
对于Linux/MacOS用户:
$git clone https://github.com/q191201771/lal.git
$cd lal
$make build然后所有二进制文件都进入./bin/目录。就是这样。
对于经验丰富的Gopher(和Windows用户),您唯一要关注的是the main function在./app/lalserver目录下。因此,您也可以:
$git clone https://github.com/q191201771/lal.git
$cd lal/app/lalserver
$go build或使用您想要的任何ID。
到目前为止,LAL的唯一直接和间接依赖性是Naza(基本的Go Utility库),它也是我自己写的。这导致依赖性或版本管理器问题较小。
LAL GITHUB版本页面上可用用于Linux,MacOS(Darwin)的Linux的预构建二进制文件。自然,使用最新版本的二进制文件是推荐的方式。命名格式为lal_<version>_<platform>.zip ,例如lal_v0.20.0_linux.zip
无论GO编译器工具链可以运行的地方,都可以从来源构建LAL,例如,包括由社区测试的其他架构,包括ARM32和MIPSLE。
选项1,使用Docker Hub的预制图像,因此只需运行:
$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发布RTMP流到Lalserver:
$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除了精确地命名lalserver实时广播服务器外, project lal甚至还提供了许多其他应用程序,例如推送/拉/ramux流客户端,基准工具,示例。 ./app/demo目录下的每个子目录都代表一个微小的演示。
我们的目标不仅是生产服务器,而且是一个简单的软件包,具有明确的,面向用户的API,因此用户可以在其上构建自己的应用程序。
如果您想知道, LAL代表Live And Live 。
错误,问题,建议,任何相关的内容,请随时与我联系LAL GitHub问题。
麻省理工学院,请参阅许可证。
该注释由Yoko更新,202404