Golang开源流媒体服务器(RTMP/RTSP/HLS/FLV等协议)

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

一. lal 简介

lal是开源直播流媒体网络传输项目,主要由三部分组成:

  • lalserver:流媒体转发服务器。类似于nginx-rtmp-module等服务,但支持更多的协议,提供更丰富的功能。
  • demo:一些小应用,比如推、拉流客户端,压测工具,流分析工具,调度示例程序等。类似于ffmpeg、ffprobe等应用。
  • pkg:流媒体协议库。类似于ffmpeg的libavformat等库。

lal github地址https://github.com/q191201771/lal

以下是lal源码架构图,从中你可以大致了解lal是如何划分功能层次的:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXNb4jw4-1646846202885)(https://pengrl.com/lal/_media/lal_src_fullview_frame.jpeg?date=211211)]

二. lalserver 快速开始

1 编译

方式1,从源码自行编译

$git clone https://github.com/q191201771/lal.git
$cd lal
$export GO111MODULE=on && export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
$make

或者使用GoLand等IDE编译。
如果没有安装Go编译器,可参考《CentOS或macOS安装GoLang》,windows操作系统可自行上网搜索教程。

方式2,直接下载编译好的二进制可执行文件

点我打开《github lal最新release版本页面》,可下载linux/macos/windows平台编译好的lal二进制可执行文件(zip压缩包形式)。

方式3,使用docker

docker又分为两种方式,一种是直接从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

另一种是根据本地代码和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

2 运行

$./bin/lalserver -c conf/lalserver.conf.json

3 体验功能

lalserver服务启动后,就可以进行推拉流了。

lal github地址https://github.com/q191201771/lal

三. lalserver 简介

lalserver是流媒体转发服务。类似于nginx-rtmp-module服务,简单来说,这类服务的核心功能是将推流客户端发送过来的音视频数据转发给对应的拉流客户端。
但lalserver支持更多的协议,提供更丰富的功能。

1 lalserver 特性

  • 全平台 全平台
    • 支持linux/macOS/windows多系统开发、调试、运行。支持多arch比如amd64/arm64/arm32/ppc64le/mipsle/s390x
    • 支持交叉编译。可在任一平台编译出其他平台的可执行文件
    • 无依赖。生成的可执行文件无任何环境、库依赖,可单文件独立运行
    • (开放源码的同时)提供各平台可执行文件,可免编译直接运行
    • 支持docker
  • 高性能 高性能。多核多线程扩展
  • 多种直播流封装协议 多种直播流封装协议。支持RTMP/RTSP/HTTP-FLV/HTTP-TS/HLS,支持不同封装协议间相互转换
  • 多种编码格式 多种编码格式。视频支持H264/AVC,H265/HEVC,音频支持AAC
  • 多种格式录制 多种格式录制。支持FLV,长MPEGTS,HLS录制(HLS直播与录制可同时开启)
  • HTTPS HTTPS。支持HTTPS-FLV,HTTPS-TS,HLS over HTTPS拉流
  • WebSocket/WebSockets WebSocket/WebSockets。支持Websocket-FLV,WebSocket-TS拉流
  • HLS HLS。支持实时直播、全列表直播。切片文件支持多种删除方式。支持内存切片
  • RTSP。支持over TCP(interleaved模式)。支持basic/digest auth验证。支持GET_PARAMET
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值