当前位置: 首页 > news >正文

支持JT1078和GB28181的流媒体服务器-LKM启动配置文件参数说明

流媒体服务器地址:https://github.com/lkmio/lkm
GB28181信令,模拟多个国标设备工具:https://github.com/lkmio/gb-cms

文章目录

    • gop_cache
    • gop_buffer_size
    • probe_timeout
    • write_timeout
    • mw_latency
    • listen_ip
    • public_ip
    • idle_timeout
    • receive_timeout
    • debug
    • hls
      • segment_duration
      • playlist_length
      • dir
    • rtsp
      • port
      • password
      • transport
    • webrtc.transport
    • gb28181
      • port
      • transport
    • 1078.port
    • record
      • format
      • dir
    • hook
      • timeout
      • on_started
      • on_publish
      • on_publish_done
      • on_play
      • on_play_done
      • on_record
      • on_idle_time
      • on_receive_timeout
    • log
      • file_logging
      • level
      • name
      • max_size
      • max_backup
      • max_age
      • compress

{"gop_cache": true,"gop_buffer_size": 8192000,"probe_timeout": 2000,"write_timeout": 5000,"mw_latency": 350,"listen_ip" : "0.0.0.0","public_ip": "192.168.2.148","idle_timeout": 60,"receive_timeout":60,"debug": false,"http": {"port": 8080},"rtmp": {"enable": true,"port": 1935},"hls": {"enable": true,"segment_duration": 2,"playlist_length": 10,"dir": "../tmp"},"rtsp": {"enable": true,"port": [554,20000,30000],"password": "123456","transport": "UDP|TCP"},"webrtc": {"enable": true,"port": 8000,"transport": "UDP"},"gb28181": {"enable": true,"port": [50000,60000],"transport": "UDP|TCP"},"jt1078": {"enable": true,"port": 1078},"record": {"enable": false,"format": "flv","dir": "../record"},"hooks": {"enable": false,"timeout": 10,"on_started": "http://localhost:9000/api/v1/hook/on_started","on_publish": "http://localhost:9000/api/v1/hook/on_publish","on_publish_done": "http://localhost:9000/api/v1/hook/on_publish_done","on_play" : "http://localhost:9000/api/v1/hook/on_play","on_play_done" : "http://localhost:9000/api/v1/hook/on_play_done","on_record": "http://localhost:9000/api/v1/hook/on_record","on_idle_timeout": "http://localhost:9000/api/v1/hook/on_idle_timeout","on_receive_timeout": "http://localhost:9000/api/v1/hook/on_receive_timeout"},"log": {"file_logging": false,"level": -1,"name": "./logs/lkm.log","max_size":   10,"max_backup": 100,"max_age":    7,"compress":  false}
}

gop_cache

GOP缓存开关,是实现拉流秒开的关键所在,目前代码里面强制开启。WebRtc和RTSP输出流中不使用GOP缓存。

gop_buffer_size

GOP缓存区大小初始值,单位Bytes,取值范围512KB-20MB(4Mb码率-160Mb码率区间)。 合理的初始值可以有效降低因内存不足,造成重新扩容的可能性。

probe_timeout

解析推流Track的超时时间,单位毫秒。如果该计时器触发,Track数量不为0,以当前Track数量为准, 后续解析出来的Track都将丢弃,否则(Track数量为0)关闭Source。

write_timeout

针对TCP拉流Sink的发包超时时间,超过该时间会强制关闭该连接。

mw_latency

合并写延迟大小,单位毫秒,目前强制开启。 针对RTMP/FLV输出流,将缓存指定时长的传输流,一次性发送给Sink。可有效降低用户态和内核态交互频率, 大幅提升服务器性能。

listen_ip

监听地址。

public_ip

公网IP。

idle_timeout

空闲超时,单位秒。如果Source没有一路拉流,将在该计时器触发时,决定是否关闭Source。

receive_timeout

收流超时, 单位秒。如果Source没有收到推流数据包,将在该计时器触发时,决定是否关闭Source。

debug

如果开启,将保存推流数据包。

hls

segment_duration

单个TS切片时长。

playlist_length

最大TS切片数量。

dir

TS切片存放目录。

rtsp

port

[554,20000,30000] 第一个RTSP Server监听端口, 第二个和第三个指定UDP拉流的端口范围。如果只开启TCP拉流,只需要配置一个554端口。

password

鉴权密码。

transport

UDP|TCP同时开启TCP和UDP拉流,可以只配置一项。

webrtc.transport

目前仅支持UDP拉流。

gb28181

port

[50000,60000] GB28181收流端口范围, 如果只有一个元素则表示单端口收流。

transport

UDP|TCP同时开启TCP和UDP推流,可以只配置一项。

1078.port

目前仅支持TCP单端口推流。

record

format

录制格式,目前仅支持FLV录制。

dir

录制文件存放的目录。

hook

timeout

发送http请求的超时时间,单位秒。

on_started

lkm启动通知。

on_publish

推流通知。

on_publish_done

推流结束通知。

on_play

拉流通知。

on_play_done

拉流结束通知。

on_record

推流的录制文件通知。

on_idle_time

空闲超时通知。

on_receive_timeout

收流超时通知。

log

file_logging

日志是否保存到文件,默认不保存。

level

日志级别,-1-5级别,详情如下:

const (// DebugLevel logs are typically voluminous, and are usually disabled in// production.DebugLevel Level = iota - 1// InfoLevel is the default logging priority.InfoLevel// WarnLevel logs are more important than Info, but don't need individual// human review.WarnLevel// ErrorLevel logs are high-priority. If an application is running smoothly,// it shouldn't generate any error-level logs.ErrorLevel// DPanicLevel logs are particularly important errors. In development the// logger panics after writing the message.DPanicLevel// PanicLevel logs a message, then panics.PanicLevel// FatalLevel logs a message, then calls os.Exit(1).FatalLevel_minLevel = DebugLevel_maxLevel = FatalLevel// InvalidLevel is an invalid value for Level.//// Core implementations may panic if they see messages of this level.InvalidLevel = _maxLevel + 1
)

name

日志文件名称,同时可指明存放的目录。

max_size

单个日志文件最大大小,单位MB。

max_backup

最多允许保留多少个日志文件。

max_age

最多允许保留多少天的日志文件。

compress

是否压缩日志文件,默认不压缩。

http://www.lryc.cn/news/495896.html

相关文章:

  • 什么是隐式类型转换?隐式类型转换可能带来哪些问题? 显式类型转换(如强制类型转换)有哪些风险?
  • 量化交易新利器:阿布量化(AbuQuant)——金融研究者的得力助手
  • UI设计从入门到进阶,全能实战课
  • Uniapp自动调整元素高度
  • 软考高项经验分享:我的备考之路与实战心得
  • 安全关系型数据库查询新选择:Rust 语言的 rust-query 库深度解析
  • 《C++ 模型训练之早停法:有效预防过拟合的关键策略》
  • 5.11【数据库】第一次实验
  • 【CSS in Depth 2 精译_062】第 10 章 CSS 中的容器查询(@container)概述 + 10.1 容器查询的一个简单示例
  • 蓝桥杯每日真题 - 第23天
  • # Vue 入门级教程三
  • hint: Updates were rejected because the tip of your current branch is behind!
  • PHP 方头像转为圆图
  • centos 7 离线安装postgis插件
  • pyinstaller打包的时候将ffmpeg也加进包中(包括打包文件夹的方法)
  • JVM面试知识点1
  • wordpress
  • Day33 动态规划part02
  • 渗透测试之Web基础之Linux病毒编写——泷羽sec
  • jmeter基础07_组件的层级
  • Nginx反向代理和负载均衡配置
  • 【379】基于springboot的防疫物资管理信息系统
  • Linux 各个目录作用
  • 【Linux】文件操作的艺术——从基础到精通
  • java中的运算符
  • 全面解析 C++ STL 中的 set 和 map
  • css:怎么设置div背景图的透明度为0.6不影响内部元素
  • Kubernetes ConfigMaps
  • 前端热门面试题目[一](HTML、CSS、Javascript、Node、Vue、React)
  • Swift 宏(Macro)入门趣谈(五)