You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lal/README.md

111 lines
5.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<p align="center">
<a title="logo" target="_blank" href="https://github.com/q191201771/lal">
<img alt="Wide" src="https://pengrl.com/images/other/lallogo.png">
</a>
<br>
<a title="TravisCI" target="_blank" href="https://www.travis-ci.org/q191201771/lal"><img src="https://www.travis-ci.org/q191201771/lal.svg?branch=master"></a>
<a title="codecov" target="_blank" href="https://codecov.io/gh/q191201771/lal"><img src="https://codecov.io/gh/q191201771/lal/branch/master/graph/badge.svg?style=flat-square"></a>
<a title="goreportcard" target="_blank" href="https://goreportcard.com/report/github.com/q191201771/lal"><img src="https://goreportcard.com/badge/github.com/q191201771/lal?style=flat-square"></a>
<br>
<a title="codeline" target="_blank" href="https://github.com/q191201771/lal"><img src="https://sloc.xyz/github/q191201771/lal/?category=code"></a>
<a title="license" target="_blank" href="https://github.com/q191201771/lal/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square"></a>
<a title="lastcommit" target="_blank" href="https://github.com/q191201771/lal/commits/master"><img src="https://img.shields.io/github/commit-activity/m/q191201771/lal.svg?style=flat-square"></a>
<a title="commitactivity" target="_blank" href="https://github.com/q191201771/lal/graphs/commit-activity"><img src="https://img.shields.io/github/last-commit/q191201771/lal.svg?style=flat-square"></a>
<br>
<a title="pr" target="_blank" href="https://github.com/q191201771/lal/pulls"><img src="https://img.shields.io/github/issues-pr-closed/q191201771/lal.svg?style=flat-square&color=FF9966"></a>
<a title="hits" target="_blank" href="https://github.com/q191201771/lal"><img src="https://hits.b3log.org/q191201771/lal.svg?style=flat-square"></a>
<a title="language" target="_blank" href="https://github.com/q191201771/lal"><img src="https://img.shields.io/github/languages/count/q191201771/lal.svg?style=flat-square"></a>
<a title="toplanguage" target="_blank" href="https://github.com/q191201771/lal"><img src="https://img.shields.io/github/languages/top/q191201771/lal.svg?style=flat-square"></a>
<a title="godoc" target="_blank" href="https://godoc.org/github.com/q191201771/lal"><img src="http://img.shields.io/badge/godoc-reference-5272B4.svg?style=flat-square"></a>
<br><br>
<a title="watcher" target="_blank" href="https://github.com/q191201771/lal/watchers"><img src="https://img.shields.io/github/watchers/q191201771/lal.svg?label=Watchers&style=social"></a>&nbsp;&nbsp;
<a title="star" target="_blank" href="https://github.com/q191201771/lal/stargazers"><img src="https://img.shields.io/github/stars/q191201771/lal.svg?label=Stars&style=social"></a>&nbsp;&nbsp;
<a title="fork" target="_blank" href="https://github.com/q191201771/lal/network/members"><img src="https://img.shields.io/github/forks/q191201771/lal.svg?label=Forks&style=social"></a>&nbsp;&nbsp;
</p>
---
app/lalserver服务器支持的协议
| - | sub rtmp | sub http-flv | sub http-ts | sub hls | sub rtsp | relay push rtmp |
| - | - | - | - | - | - | - |
| pub rtmp | ✔ | ✔ | ✔ | ✔ | - | ✔ |
| pub rtsp | ✔ | ✔ | ✔ | ✔ | - | ✔ |
| relay pull rtmp | ✔ | ✔ | ✔ | ✔ | - | . |
| 编码类型 | rtmp | rtsp | hls | http-flv | http-ts |
| - | - | - | - | - | - |
| aac | ✔ | ✔ | ✔ | ✔ | ✔ |
| avc/h264 | ✔ | ✔ | ✔ | ✔ | ✔ |
| hevc/h265 | ✔ | - | - | ✔ | - |
表格含义见: [《流媒体传输连接类型之session client, server, pub, sub, push, pull》](https://pengrl.com/p/20080)
基于lal开发的客户端示例程序见 [《lal/app/demo/README.md》](https://github.com/q191201771/lal/blob/master/app/demo/README.md)
<img alt="Wide" src="https://pengrl.com/images/other/lalmodule.jpg">
### 编译,运行,体验功能
#### 编译
方式1从源码自行编译
```shell
$export GO111MODULE=on && export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
$make
```
方式2直接下载编译好的二进制可执行文件
[点我打开《github lal最新release版本页面》](https://github.com/q191201771/lal/releases/latest)下载对应平台编译好的二进制可执行文件的zip压缩包。
#### 运行
```shell
$./bin/lalserver -c conf/lalserver.conf.json
```
#### 体验功能
快速体验lalserver服务器见 [《常见推拉流客户端软件的使用方式》](https://pengrl.com/p/20051/)
lalserver详细配置见 [《配置注释文档》](https://github.com/q191201771/lal/blob/master/conf/lalserver.conf.json.brief)
### 源码框架
<br>
简单来说,源码在`pkg/``app/lalserver/``app/demo/`三个目录下。
- `pkg/`存放各package包供本repo的程序以及其他业务方使用
- `app/lalserver`基于lal编写的一个通用流媒体服务器程序入口
- `app/demo/`:存放各种基于`lal/pkg`开发的小程序(小工具),一个子目录是一个程序,详情见各源码文件中头部的说明
目前唯一的第三方依赖我自己写的Go基础库 [github.com/q191201771/naza](https://github.com/q191201771/naza)
### 文档
* [流媒体音视频相关的点我](https://pengrl.com/categories/%E6%B5%81%E5%AA%92%E4%BD%93%E9%9F%B3%E8%A7%86%E9%A2%91/)
* [Go语言相关的点我](https://pengrl.com/categories/Go/)
* [我写的其他文章](https://pengrl.com/all/)
### 联系我
扫码加我微信(微信号: q191201771进行技术交流或扯淡。微信群已开放加我好友后可拉进群。
也欢迎大家通过github issue交流提PR贡献代码。提PR前请先阅读[《yoko版本PR规范》](https://pengrl.com/p/20070/)
<img src="https://pengrl.com/images/yoko_vx.jpeg" width="180" height="180" />
### 性能测试,测试过的第三方客户端
见[TEST.md](https://github.com/q191201771/lal/blob/master/TEST.md)
### 项目star趋势图
觉得这个repo还不错就点个star支持一下吧 :)
[![Stargazers over time](https://starchart.cc/q191201771/lal.svg)](https://starchart.cc/q191201771/lal)