
中文文档
Lal est un serveur de diffusion en streaming audio / vidéo en direct écrit dans Go. C'est un peu comme nginx-rtmp-module , mais plus facile à utiliser et avec plus de fonctionnalités, par exemple RTMP, RTSP (RTP / RTCP), HLS, HTTP [S] / WebSocket [S] -FLV / TS, GB28181, H264 / H265 / AAC / G711 / OPUS, RELAY Api / notify / webui, gop cache.
Il existe 3 façons d'installer LAL:
Tout d'abord, assurez-vous que GO Version> = 1.18
Pour l'utilisateur Linux / MacOS:
$git clone https://github.com/q191201771/lal.git
$cd lal
$make build Ensuite, tous les binaires entrent dans le répertoire ./bin/ . C'est ça.
Pour un gopher expérimenté (et un utilisateur de Windows), la seule chose que vous devez vous soucier est que the main function est sous le répertoire ./app/lalserver . Vous pouvez donc aussi:
$git clone https://github.com/q191201771/lal.git
$cd lal/app/lalserver
$go buildOu en utilisant les ides que vous souhaitez.
Jusqu'à présent, la seule dépendance directe et indirecte de LAL est Naza (une bibliothèque d'utilité GO de base) qui est également écrite par moi-même. Cela conduit à moins de problèmes de dépendance ou de gestion des versions.
Binaires prédéfinis pour Linux, MacOS (Darwin), Windows sont disponibles dans la page Lal GitHub Releases. Naturellement, l'utilisation du dernier binaire est le moyen recommandé. Le format de dénomination est lal_<version>_<platform>.zip , par exemple lal_v0.20.0_linux.zip
LAL pourrait également être construit à partir de la source partout où la chaîne d'outils GO Compiler peut fonctionner, par exemple pour d'autres architectures, notamment ARM32 et MIPSLE, qui ont été testées par la communauté.
L'option 1, en utilisant l'image prédéfinie sur Docker Hub, alors il suffit d'exécuter:
$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
Option 2, construire à partir de la source locale avec dockerfile et exécuter:
$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
Option 3, utilisez Docker-Compose
Créez un fichier docker-compose.yml avec le contenu suivant:
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.jsonExécutez la commande suivante pour démarrer le service:
docker-compose upOu exécutez-le en arrière-plan avec:
docker-compose up -dExécution de Lalserver:
$./bin/lalserver -c ./conf/lalserver.conf.json
En utilisant les clients que vous connaissez pour interagir avec Lalserver.
Par exemple, publiez un flux RTMP vers Lalserver via ffmpeg:
$ffmpeg -re -i demo.flv -c:a copy -c:v copy -f flv rtmp://127.0.0.1:1935/live/test110Jouez au flux multi-protocole de Lalserver via ffplay:
$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 Outre un serveur de diffusion en direct qui a nommé lalserver précisément, project lal fournit même de nombreuses autres applications, par exemple, les clients Push / Pull / Remux Stream, les outils de banc, les exemples. Chaque sous-répertoire sous le répertoire ./app/demo représente une minuscule démo.
Nos objectifs ne sont pas seulement un serveur de production, mais aussi un package simple avec une API bien définie et orientée vers les utilisateurs, afin que les utilisateurs puissent créer leurs propres applications dessus.
LAL signifie Live And Live si vous vous demandez.
Les bogues, les questions, les suggestions, tout ce qui concerne ou non, n'hésitez pas à me contacter avec les problèmes de Lal Github.
MIT, voir Licence.
Cette note mise à jour par Yoko, 202404