golang 流媒体(直播音视频网络传输)服务
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.
 
 
 
Go to file
q191201771 209c32d0cb * 优化http-flv gop存储方式。
* 优化http-flv拉流时buffer拷贝。
* 写了一部分rtmp客户端拉流功能。
* 简单的压力测试,在腾讯云两核云主机上,拉300路http-flv流,带宽360Mb,占单核CPU 55%左右。
* 添加日志不初始化时,默认输出控制台。
6 years ago
bele * 优化http-flv gop存储方式。 6 years ago
conf * PullSession和SubSession的主动关闭、被动关闭 6 years ago
httpflv * 优化http-flv gop存储方式。 6 years ago
log * 优化http-flv gop存储方式。 6 years ago
rtmp * 优化http-flv gop存储方式。 6 years ago
util * PullSession和SubSession的主动关闭、被动关闭 6 years ago
.gitignore * 优化http-flv gop存储方式。 6 years ago
LICENSE 1st 6 years ago
README.md * PullSession和SubSession的主动关闭、被动关闭 6 years ago
config.go * PullSession和SubSession的主动关闭、被动关闭 6 years ago
main.go * 优化http-flv gop存储方式。 6 years ago

README.md

lal - Go语言流媒体服务器

编译和运行

$go get -u github.com/q191201771/lal
# cd into lal
$go build

# ./lal -c <配置文件> -l <日志配置文件>,比如:
$./lal -c conf/lal.conf.json -l conf/log.dev.xml

配置文件说明

{
  "httpflv": {
    "sub_listen_addr": ":8080", // http-flv拉流地址
    "pull_addr": "pull.xxx.com", // 如果设置则当客户端连接lal拉流且流不存在时lal会使用http-flv去该域名回
                                 // 源拉流至本地再转发
    "pull_connect_timeout": 2, // 回源连接超时时间
    "pull_read_timeout": 20, // 回源读取数据超时时间
    "sub_idle_timeout": 10, // 往客户端发送数据时的超时时间
    "stop_pull_while_no_sub_timeout": 5, // 回源的流超过多长时间没有客户端播放,则关闭回源的流
    "gop_cache_num": 2 // gop缓存个数如果设置为0则只缓存seq header不缓存gop数据
  }
}

TODO 日志配置文件说明

依赖

  • cihub/seelog