Giter Site home page Giter Site logo

williamzhangzhe / lal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from q191201771/lal

0.0 2.0 0.0 6.41 MB

🔥 Golang live stream lib/client/server. support RTMP, RTSP(sdp+rtp+rtcp), HTTP(S)-FLV, HTTP-TS, HLS(m3u8+ts), H264/AVC, H265/HEVC, AAC, relay pull & push, record, HTTP API, GOP cache. || Go直播流媒体网络传输服务器

License: MIT License

Go 98.19% Shell 1.77% Makefile 0.04%

lal's Introduction

Wide




app/lalserver服务器支持的协议:

- sub rtmp sub http(s)-flv sub http-ts sub hls sub rtsp relay push rtmp
pub rtmp -
pub rtsp -
relay pull rtmp - .
编码类型 rtmp rtsp hls http(s)-flv http-ts
aac
avc/h264
hevc/h265 - -

表格含义见: 《流媒体传输连接类型之session client, server, pub, sub, push, pull》

app/lalserver功能特性:

  • (依托Go语言):支持(linux/macOS/windows)多平台开发、调试、运行。支持交叉编译。生成的可执行文件(无任何库依赖)可独立运行。(开放源码的同时),提供各平台可执行文件,可(免编译)直接运行
  • 高性能,多核多线程扩展
  • 支持RTMP/RTSP/HTTP-FLV/HTTP-TS/HLS多种封装协议,不同封装协议支持相互转换
  • 支持HTTPS-FLV
  • HTTP类型的流支持CORS跨域请求
  • 支持HTTP服务器(比如HLS切片文件可直接播放,不需要额外的HTTP文件服务器)
  • 支持HLS录制(HLS直播与录制可同时开启)
  • 视频支持H264/AVC,H265/HEVC格式
  • 音频支持AAC格式
  • 支持静态回源、静态转推,可搭建基础的集群
  • 支持Gop缓冲,用于秒开播放
  • 支持HTTP API接口,获取服务信息,见《lal流媒体服务器的HTTP API接口》

除了lalserver,还提供一些基于lal开发的demo: 《lal/app/demo》

Wide

编译,运行,体验功能

编译

方式1,从源码自行编译

$export GO111MODULE=on && export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
$make

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

点我打开《github lal最新release版本页面》,下载对应平台编译好的二进制可执行文件的zip压缩包。

运行

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

体验功能

快速体验lalserver服务器见: 《常见推拉流客户端软件的使用方式》

lalserver详细配置见: 《配置注释文档》

源码框架


简单来说,源码在pkg/app/lalserver/app/demo/三个目录下。

  • pkg/:存放各package包,供本repo的程序以及其他业务方使用
  • app/lalserver:基于lal编写的一个通用流媒体服务器程序入口
  • app/demo/:存放各种基于lal/pkg开发的小程序(小工具),一个子目录是一个程序,详情见各源码文件中头部的说明

目前唯一的第三方依赖(我自己写的Go基础库): github.com/q191201771/naza

联系我

  • 个人微信号: q191201771
  • 个人QQ号: 191201771
  • 微信群: 加我微信好友后,告诉我拉你进群
  • QQ群: 1090510973

欢迎任何技术和非技术的交流。

目前lal正在收集新一轮需求中。

并且,lal也十分欢迎开源贡献者的加入。提PR前请先阅读:《yoko版本PR规范》

性能测试,测试过的第三方客户端

TEST.md

项目star趋势图

觉得项目还不错,就点个star支持一下吧 :)

Stargazers over time

lal's People

Contributors

q191201771 avatar lio19 avatar zloydyadka avatar bigbao9494 avatar joestarzxh avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.