ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] > [github](https://github.com/q191201771/lal) > [官方文档](https://pengrl.com/lal/#/?id=%e2%96%a6-%e4%ba%8c-lalserver-%e5%ae%89%e8%a3%85%e3%80%81%e8%bf%90%e8%a1%8c) ## 概述 目前已支持RTMP, RTSP(RTP/RTCP), HLS, HTTP\[S\]/WebSocket\[S\]-FLV/TS协议 ![](https://img.kancloud.cn/99/ce/99cea076c0f96d23f023d2673b69a38e_1976x1076.png) <br/> **特性** * **全平台** * 支持linux/macOS/windows多系统开发、调试、运行 * 支持多arch运行。比如amd64/arm64/arm32/ppc64le/mipsle/s390x * 支持交叉编译。可在任一平台编译出其他平台的可执行文件 * 运行无依赖。可执行文件无任何环境、库安装依赖,可单文件独立运行 * 提供各平台可执行文件,可免编译直接运行(前提是开放全部源码哈) * 支持docker * **高性能**。多核多线程扩展,支持高并发,性能和同类型`c/c++`开发服务处于同一水平 * **高可用**。完善的单元测试。并且有多个线上环境应用 * **多种直播流封装协议**。 * 支持RTMP, RTSP(RTP/RTCP), HLS, HTTP\[S\]/WebSocket\[S\]-FLV/TS * 支持不同封装协议间相互转换 * 支持二次开发,扩展其他协议 * **多种编码格式**。视频支持H264/AVC,H265/HEVC,音频支持AAC * **多种格式录制**。支持FLV,长MPEGTS,HLS录制(HLS直播与录制可同时开启) * **HTTPS**。支持HTTPS-FLV,HTTPS-TS,HLS over HTTPS拉流 * **WebSocket/WebSockets**。支持Websocket-FLV,WebSocket-TS拉流 * **HLS**。支持LIVE实时直播、VOD全列表直播。切片文件支持多种删除方式。支持内存切片 * **RTSP**。支持over TCP(interleaved模式)。支持basic/digest auth验证。 * **RTMP**。支持给单视频添加静音音频数据,支持合并发送。兼容对接各种常见RTMP实现 * **HTTP API接口**。用于获取服务信息,向服务发送命令。 * **HTTP Notify事件回调**。获取时间通知,业务方可以轻松定制自身的逻辑。 * **支持多种方式鉴权** * **支持分布式集群** * **静态pull回源**。通过配置文件配置回源地址 * **静态push转推**。支持转推多个地址。通过配置文件配置转推地址 * **支持按需回源**。没有观众的回源拉流可以主动关闭 * **CORS跨域**。支持HTTP-FLV,HTTP-TS,HLS跨域拉流 * **HTTP文件服务器**。比如HLS切片文件可直接播放,不需要额外的HTTP文件服务器 * **监听端口复用**。HTTP-FLV,HTTP-TS,HLS可使用相同的端口。over HTTPS类似 * **秒开播放**。GOP缓冲 * **支持(在服务端)叠加静音音频** * **支持先拉流后推流** * **支持推流断开后重连,拉流端无感知**。 ## 运行 ``` lalserver -c ./conf/lalserver.conf.json ``` ## 协议自动转换 **协议转换支持情况** |转封装类型|sub rtmp|sub http[s]/websocket[s]-flv|sub http[s]/websocket[s]-ts|sub hls|sub rtsp|relay push rtmp| |---|---|---|---|---|---|---| |pub rtmp| ✔| ✔| ✔| ✔| ✔| ✔| |pub rtsp| ✔| ✔| ✔| ✔| ✔| ✔| |relay pull rtmp| ✔| ✔| ✔| ✔| ✔| ✔| <br/> 注意地址必须是 `/live` 开头 开头 ``` ffmpeg -re -i demo.flv -c:a copy -c:v copy -f flv rtmp://127.0.0.1:1935/live/test110 ``` 自定转换 ``` > 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 ``` ## 编码协议的转换 |编码类型 |rtmp |rtsp |hls |flv| mpegts| |---|---|---|---|---|---| |aac | ✔| ✔| ✔| ✔| ✔| |avc/h264| ✔| ✔| ✔| ✔| ✔| |hevc/h265| ✔| ✔| ✔| ✔| ✔| ## 录制文件的类型 |录制类型| hls| flv| mpegts| |---|---|---|---| |pub| rtmp| ✔| ✔| ✔| |pub| rtsp| ✔| ✔| ✔|