zlm

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Exception   = -400 // 代码抛异常
	InvalidArgs = -300 // 参数不合法
	SQLFailed   = -200 // sql执行失败
	AuthFailed  = -100 // 鉴权失败
	OtherFailed = -1   // 业务代码执行失败
	Success     = 0    // 执行成功
)

Variables

This section is empty.

Functions

func NewBool

func NewBool(b bool) *bool

func NewString

func NewString(s string) *string

Types

type AddStreamProxyRequest

type AddStreamProxyRequest struct {
	Vhost         string  `json:"vhost"`                     // 添加的流的虚拟主机,例如__defaultVhost__
	App           string  `json:"app"`                       // 添加的流的应用名,例如 live
	Stream        string  `json:"stream"`                    // 添加的流的 id 名,例如 test
	URL           string  `json:"url"`                       // 拉流地址,例如 rtmp://live.hkstv.hk.lxdns.com/live/hks2
	RetryCount    int     `json:"retry_count"`               // 拉流重试次数,默认为-1 无限重试
	RTPType       int     `json:"rtp_type"`                  // rtsp 拉流时,拉流方式,0:tcp,1:udp,2:组播
	TimeoutSec    float32 `json:"timeout_sec"`               // 拉流超时时间,单位秒,float 类型
	EnableHLS     *bool   `json:"enable_hls,omitempty"`      // 是否转换成 hls-mpegts 协议
	EnableHLSFMP4 *bool   `json:"enable_hls_fmp4,omitempty"` // 是否转换成 hls-fmp4 协议
	EnableMP4     *bool   `json:"enable_mp4,omitempty"`      // 是否允许 mp4 录制
	EnableRTSP    *bool   `json:"enable_rtsp,omitempty"`     // 是否转 rtsp 协议
	EnableRTMP    *bool   `json:"enable_rtmp,omitempty"`     // 是否转 rtmp/flv 协议
	EnableTS      *bool   `json:"enable_ts,omitempty"`       // 是否转 http-ts/ws-ts 协议
	EnableFMP4    *bool   `json:"enable_fmp4,omitempty"`     // 是否转 http-fmp4/ws-fmp4 协议
	HLSDemand     *bool   `json:"hls_demand,omitempty"`      // 该协议是否有人观看才生成
	RTSPDemand    *bool   `json:"rtsp_demand,omitempty"`     // 该协议是否有人观看才生成
	RTMPDemand    *bool   `json:"rtmp_demand,omitempty"`     // 该协议是否有人观看才生成
	TSDemand      *bool   `json:"ts_demand,omitempty"`       // 该协议是否有人观看才生成
	FMP4Demand    *bool   `json:"fmp4_demand,omitempty"`     // 该协议是否有人观看才生成
	EnableAudio   *bool   `json:"enable_audio,omitempty"`    // 转协议时是否开启音频
	AddMuteAudio  *bool   `json:"add_mute_audio,omitempty"`  // 转协议时,无音频是否添加静音 aac 音频
	MP4SavePath   *string `json:"mp4_save_path,omitempty"`   // mp4 录制文件保存根目录,置空使用默认
	MP4MaxSecond  *int    `json:"mp4_max_second,omitempty"`  // mp4 录制切片大小,单位秒
	MP4AsPlayer   *bool   `json:"mp4_as_player,omitempty"`   // MP4 录制是否当作观看者参与播放人数计数
	HLSSavePath   *string `json:"hls_save_path,omitempty"`   // hls 文件保存保存根目录,置空使用默认
	ModifyStamp   *int    `json:"modify_stamp,omitempty"`    // 该流是否开启时间戳覆盖(0:绝对时间戳/1:系统时间戳/2:相对时间戳)
	AutoClose     *bool   `json:"auto_close,omitempty"`      // 无人观看是否自动关闭流(不触发无人观看 hook)
}

type AddStreamProxyResponse

type AddStreamProxyResponse struct {
	FixedHeader
	Data struct {
		Key string `json:"key"`
	} `json:"data"`
}

type CloseRTPServerRequest

type CloseRTPServerRequest struct {
	StreamID string `json:"stream_id"` // 调用 openRtpServer 接口时提供的流 ID
}

type CloseRTPServerResponse

type CloseRTPServerResponse struct {
	Code int `json:"code"`
	Hit  int `json:"hit"` // 是否找到记录并关闭
}

type Config

type Config struct {
	URL    string
	Secret string
}

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

func NewEngine

func NewEngine() Engine

func (*Engine) AddStreamProxy

func (e *Engine) AddStreamProxy(in AddStreamProxyRequest) (*AddStreamProxyResponse, error)

func (*Engine) ErrHandle

func (e *Engine) ErrHandle(code int, msg string) error

func (*Engine) GetServerConfig

func (e *Engine) GetServerConfig() (*GetServerConfigResponse, error)

func (*Engine) GetSnap

func (e *Engine) GetSnap(in GetSnapRequest) ([]byte, error)

GetSnap 获取截图或生成实时截图并返回 https://docs.zlmediakit.com/zh/guide/media_server/restful_api.html#_23%E3%80%81-index-api-getsnap

func (*Engine) OpenRTPServer

func (e *Engine) OpenRTPServer(in OpenRTPServerRequest) (*OpenRTPServerResponse, error)

OpenRTPServer 创建 GB28181 RTP 接收端口,如果该端口接收数据超时,则会自动被回收(不用调用 closeRtpServer 接口) https://docs.zlmediakit.com/zh/guide/media_server/restful_api.html#_24%E3%80%81-index-api-openrtpserver

func (Engine) SetConfig

func (e Engine) SetConfig(cfg Config) Engine

func (*Engine) SetServerConfig

func (e *Engine) SetServerConfig(in *SetServerConfigRequest) (*SetServerConfigReponse, error)

type FixedHeader

type FixedHeader struct {
	Code int    `json:"code"`
	Msg  string `json:"msg"` // 仅 code 发生错误时,此参数才有效
}

type GetServerConfigData

type GetServerConfigData struct {
	APIAPIDebug                        string `json:"api.apiDebug"`
	APIDefaultSnap                     string `json:"api.defaultSnap"`
	APIDownloadRoot                    string `json:"api.downloadRoot"`
	APISecret                          string `json:"api.secret"`
	APISnapRoot                        string `json:"api.snapRoot"`
	ClusterOriginURL                   string `json:"cluster.origin_url"`
	ClusterRetryCount                  string `json:"cluster.retry_count"`
	ClusterTimeoutSec                  string `json:"cluster.timeout_sec"`
	FfmpegBin                          string `json:"ffmpeg.bin"`
	FfmpegCmd                          string `json:"ffmpeg.cmd"`
	FfmpegLog                          string `json:"ffmpeg.log"`
	FfmpegRestartSec                   string `json:"ffmpeg.restart_sec"`
	FfmpegSnap                         string `json:"ffmpeg.snap"`
	GeneralBroadcastPlayerCountChanged string `json:"general.broadcast_player_count_changed"`
	GeneralCheckNvidiaDev              string `json:"general.check_nvidia_dev"`
	GeneralEnableVhost                 string `json:"general.enableVhost"`
	GeneralEnableFfmpegLog             string `json:"general.enable_ffmpeg_log"`
	GeneralFlowThreshold               string `json:"general.flowThreshold"`
	GeneralListenIP                    string `json:"general.listen_ip"`
	GeneralMaxStreamWaitMS             string `json:"general.maxStreamWaitMS"`
	GeneralMediaServerID               string `json:"general.mediaServerId"`
	GeneralMergeWriteMS                string `json:"general.mergeWriteMS"`
	GeneralResetWhenRePlay             string `json:"general.resetWhenRePlay"`
	GeneralStreamNoneReaderDelayMS     string `json:"general.streamNoneReaderDelayMS"`
	GeneralUnreadyFrameCache           string `json:"general.unready_frame_cache"`
	GeneralWaitAddTrackMs              string `json:"general.wait_add_track_ms"`
	GeneralWaitAudioTrackDataMs        string `json:"general.wait_audio_track_data_ms"`
	GeneralWaitTrackReadyMs            string `json:"general.wait_track_ready_ms"`
	HlsBroadcastRecordTs               string `json:"hls.broadcastRecordTs"`
	HlsDeleteDelaySec                  string `json:"hls.deleteDelaySec"`
	HlsFastRegister                    string `json:"hls.fastRegister"`
	HlsFileBufSize                     string `json:"hls.fileBufSize"`
	HlsSegDelay                        string `json:"hls.segDelay"`
	HlsSegDur                          string `json:"hls.segDur"`
	HlsSegKeep                         string `json:"hls.segKeep"`
	HlsSegNum                          string `json:"hls.segNum"`
	HlsSegRetain                       string `json:"hls.segRetain"`
	HookAliveInterval                  string `json:"hook.alive_interval"`
	HookEnable                         string `json:"hook.enable"`
	HookOnFlowReport                   string `json:"hook.on_flow_report"`
	HookOnHTTPAccess                   string `json:"hook.on_http_access"`
	HookOnPlay                         string `json:"hook.on_play"`
	HookOnPublish                      string `json:"hook.on_publish"`
	HookOnRecordMp4                    string `json:"hook.on_record_mp4"`
	HookOnRecordTs                     string `json:"hook.on_record_ts"`
	HookOnRtpServerTimeout             string `json:"hook.on_rtp_server_timeout"`
	HookOnRtspAuth                     string `json:"hook.on_rtsp_auth"`
	HookOnRtspRealm                    string `json:"hook.on_rtsp_realm"`
	HookOnSendRtpStopped               string `json:"hook.on_send_rtp_stopped"`
	HookOnServerExited                 string `json:"hook.on_server_exited"`
	HookOnServerKeepalive              string `json:"hook.on_server_keepalive"`
	HookOnServerStarted                string `json:"hook.on_server_started"`
	HookOnShellLogin                   string `json:"hook.on_shell_login"`
	HookOnStreamChanged                string `json:"hook.on_stream_changed"`
	HookOnStreamNoneReader             string `json:"hook.on_stream_none_reader"`
	HookOnStreamNotFound               string `json:"hook.on_stream_not_found"`
	HookRetry                          string `json:"hook.retry"`
	HookRetryDelay                     string `json:"hook.retry_delay"`
	HookStreamChangedSchemas           string `json:"hook.stream_changed_schemas"`
	HookTimeoutSec                     string `json:"hook.timeoutSec"`
	HTTPAllowCrossDomains              string `json:"http.allow_cross_domains"`
	HTTPAllowIPRange                   string `json:"http.allow_ip_range"`
	HTTPCharSet                        string `json:"http.charSet"`
	HTTPDirMenu                        string `json:"http.dirMenu"`
	HTTPForbidCacheSuffix              string `json:"http.forbidCacheSuffix"`
	HTTPForwardedIPHeader              string `json:"http.forwarded_ip_header"`
	HTTPKeepAliveSecond                string `json:"http.keepAliveSecond"`
	HTTPMaxReqSize                     string `json:"http.maxReqSize"`
	HTTPNotFound                       string `json:"http.notFound"`
	HTTPPort                           int    `json:"http.port,string"`
	HTTPRootPath                       string `json:"http.rootPath"`
	HTTPSendBufSize                    string `json:"http.sendBufSize"`
	HTTPSslport                        int    `json:"http.sslport,string"`
	HTTPVirtualPath                    string `json:"http.virtualPath"`
	MulticastAddrMax                   string `json:"multicast.addrMax"`
	MulticastAddrMin                   string `json:"multicast.addrMin"`
	MulticastUDPTTL                    string `json:"multicast.udpTTL"`
	ProtocolAddMuteAudio               string `json:"protocol.add_mute_audio"`
	ProtocolAutoClose                  string `json:"protocol.auto_close"`
	ProtocolContinuePushMs             string `json:"protocol.continue_push_ms"`
	ProtocolEnableAudio                string `json:"protocol.enable_audio"`
	ProtocolEnableFmp4                 string `json:"protocol.enable_fmp4"`
	ProtocolEnableHls                  string `json:"protocol.enable_hls"`
	ProtocolEnableHlsFmp4              string `json:"protocol.enable_hls_fmp4"`
	ProtocolEnableMp4                  string `json:"protocol.enable_mp4"`
	ProtocolEnableRtmp                 string `json:"protocol.enable_rtmp"`
	ProtocolEnableRtsp                 string `json:"protocol.enable_rtsp"`
	ProtocolEnableTs                   string `json:"protocol.enable_ts"`
	ProtocolFmp4Demand                 string `json:"protocol.fmp4_demand"`
	ProtocolHlsDemand                  string `json:"protocol.hls_demand"`
	ProtocolHlsSavePath                string `json:"protocol.hls_save_path"`
	ProtocolModifyStamp                string `json:"protocol.modify_stamp"`
	ProtocolMp4AsPlayer                string `json:"protocol.mp4_as_player"`
	ProtocolMp4MaxSecond               string `json:"protocol.mp4_max_second"`
	ProtocolMp4SavePath                string `json:"protocol.mp4_save_path"`
	ProtocolPacedSenderMs              string `json:"protocol.paced_sender_ms"`
	ProtocolRtmpDemand                 string `json:"protocol.rtmp_demand"`
	ProtocolRtspDemand                 string `json:"protocol.rtsp_demand"`
	ProtocolTsDemand                   string `json:"protocol.ts_demand"`
	RecordAppName                      string `json:"record.appName"`
	RecordEnableFmp4                   string `json:"record.enableFmp4"`
	RecordFastStart                    string `json:"record.fastStart"`
	RecordFileBufSize                  string `json:"record.fileBufSize"`
	RecordFileRepeat                   string `json:"record.fileRepeat"`
	RecordSampleMS                     string `json:"record.sampleMS"`
	RtcDatachannelEcho                 string `json:"rtc.datachannel_echo"`
	RtcExternIP                        string `json:"rtc.externIP"`
	RtcMaxRtpCacheMS                   string `json:"rtc.maxRtpCacheMS"`
	RtcMaxRtpCacheSize                 string `json:"rtc.maxRtpCacheSize"`
	RtcMaxBitrate                      string `json:"rtc.max_bitrate"`
	RtcMinBitrate                      string `json:"rtc.min_bitrate"`
	RtcNackIntervalRatio               string `json:"rtc.nackIntervalRatio"`
	RtcNackMaxCount                    string `json:"rtc.nackMaxCount"`
	RtcNackMaxMS                       string `json:"rtc.nackMaxMS"`
	RtcNackMaxSize                     string `json:"rtc.nackMaxSize"`
	RtcNackRtpSize                     string `json:"rtc.nackRtpSize"`
	RtcPort                            string `json:"rtc.port"`
	RtcPreferredCodecA                 string `json:"rtc.preferredCodecA"`
	RtcPreferredCodecV                 string `json:"rtc.preferredCodecV"`
	RtcRembBitRate                     string `json:"rtc.rembBitRate"`
	RtcStartBitrate                    string `json:"rtc.start_bitrate"`
	RtcTCPPort                         string `json:"rtc.tcpPort"`
	RtcTimeoutSec                      string `json:"rtc.timeoutSec"`
	RtmpDirectProxy                    string `json:"rtmp.directProxy"`
	RtmpEnhanced                       string `json:"rtmp.enhanced"`
	RtmpHandshakeSecond                string `json:"rtmp.handshakeSecond"`
	RtmpKeepAliveSecond                string `json:"rtmp.keepAliveSecond"`
	RtmpPort                           int    `json:"rtmp.port,string"`
	RtmpSslport                        int    `json:"rtmp.sslport,string"`
	RtpAudioMtuSize                    string `json:"rtp.audioMtuSize"`
	RtpH264StapA                       string `json:"rtp.h264_stap_a"`
	RtpLowLatency                      string `json:"rtp.lowLatency"`
	RtpRtpMaxSize                      string `json:"rtp.rtpMaxSize"`
	RtpVideoMtuSize                    string `json:"rtp.videoMtuSize"`
	RtpProxyDumpDir                    string `json:"rtp_proxy.dumpDir"`
	RtpProxyGopCache                   string `json:"rtp_proxy.gop_cache"`
	RtpProxyH264Pt                     string `json:"rtp_proxy.h264_pt"`
	RtpProxyH265Pt                     string `json:"rtp_proxy.h265_pt"`
	RtpProxyOpusPt                     string `json:"rtp_proxy.opus_pt"`
	RtpProxyPort                       int    `json:"rtp_proxy.port,string"`
	RtpProxyPortRange                  string `json:"rtp_proxy.port_range"`
	RtpProxyPsPt                       string `json:"rtp_proxy.ps_pt"`
	RtpProxyRtpG711DurMs               string `json:"rtp_proxy.rtp_g711_dur_ms"`
	RtpProxyTimeoutSec                 string `json:"rtp_proxy.timeoutSec"`
	RtpProxyUDPRecvSocketBuffer        string `json:"rtp_proxy.udp_recv_socket_buffer"`
	RtspAuthBasic                      string `json:"rtsp.authBasic"`
	RtspDirectProxy                    string `json:"rtsp.directProxy"`
	RtspHandshakeSecond                string `json:"rtsp.handshakeSecond"`
	RtspKeepAliveSecond                string `json:"rtsp.keepAliveSecond"`
	RtspLowLatency                     string `json:"rtsp.lowLatency"`
	RtspPort                           int    `json:"rtsp.port,string"`
	RtspRtpTransportType               string `json:"rtsp.rtpTransportType"`
	RtspSslport                        int    `json:"rtsp.sslport,string"`
	ShellMaxReqSize                    string `json:"shell.maxReqSize"`
	ShellPort                          string `json:"shell.port"`
	SrtLatencyMul                      string `json:"srt.latencyMul"`
	SrtPktBufSize                      string `json:"srt.pktBufSize"`
	SrtPort                            string `json:"srt.port"`
	SrtTimeoutSec                      string `json:"srt.timeoutSec"`
}

type GetServerConfigResponse

type GetServerConfigResponse struct {
	FixedHeader
	Data []GetServerConfigData `json:"data"`
}

type GetSnapRequest

type GetSnapRequest struct {
	URL        string
	TimeoutSec int // 截图失败超时时间
	ExpireSec  int // 截图过期时间
}

type OpenRTPServerRequest

type OpenRTPServerRequest struct {
	Port     int    `json:"port"`      // 接收端口,0 则为随机端口
	TCPMode  int8   `json:"tcp_mode"`  // 0 udp 模式,1 tcp 被动模式, 2 tcp 主动模式。 (兼容 enable_tcp 为 0/1)
	StreamID string `json:"stream_id"` // 该端口绑定的流 ID,该端口只能创建这一个流(而不是根据 ssrc 创建多个)
}

type OpenRTPServerResponse

type OpenRTPServerResponse struct {
	Code int    `json:"code"`
	Msg  string `json:"msg"`
	Port int    `json:"port"` // 接收端口,方便获取随机端口号
}

type SetServerConfigReponse

type SetServerConfigReponse struct {
	FixedHeader
	Changed int `json:"changed"`
}

type SetServerConfigRequest

type SetServerConfigRequest struct {
	APIAPIDebug                        *string `json:"api.apiDebug,omitempty"`
	APIDefaultSnap                     *string `json:"api.defaultSnap,omitempty"`
	APIDownloadRoot                    *string `json:"api.downloadRoot,omitempty"`
	APISecret                          *string `json:"api.secret,omitempty"`
	APISnapRoot                        *string `json:"api.snapRoot,omitempty"`
	ClusterOriginURL                   *string `json:"cluster.origin_url,omitempty"`
	ClusterRetryCount                  *string `json:"cluster.retry_count,omitempty"`
	ClusterTimeoutSec                  *string `json:"cluster.timeout_sec,omitempty"`
	FfmpegBin                          *string `json:"ffmpeg.bin,omitempty"`
	FfmpegCmd                          *string `json:"ffmpeg.cmd,omitempty"`
	FfmpegLog                          *string `json:"ffmpeg.log,omitempty"`
	FfmpegRestartSec                   *string `json:"ffmpeg.restart_sec,omitempty"`
	FfmpegSnap                         *string `json:"ffmpeg.snap,omitempty"`
	GeneralBroadcastPlayerCountChanged *string `json:"general.broadcast_player_count_changed,omitempty"`
	GeneralCheckNvidiaDev              *string `json:"general.check_nvidia_dev,omitempty"`
	GeneralEnableVhost                 *string `json:"general.enableVhost,omitempty"`
	GeneralEnableFfmpegLog             *string `json:"general.enable_ffmpeg_log,omitempty"`
	GeneralFlowThreshold               *string `json:"general.flowThreshold,omitempty"`
	GeneralListenIP                    *string `json:"general.listen_ip,omitempty"`
	GeneralMaxStreamWaitMS             *string `json:"general.maxStreamWaitMS,omitempty"`
	GeneralMediaServerID               *string `json:"general.mediaServerId,omitempty"`
	GeneralMergeWriteMS                *string `json:"general.mergeWriteMS,omitempty"`
	GeneralResetWhenRePlay             *string `json:"general.resetWhenRePlay,omitempty"`
	GeneralStreamNoneReaderDelayMS     *string `json:"general.streamNoneReaderDelayMS,omitempty"`
	GeneralUnreadyFrameCache           *string `json:"general.unready_frame_cache,omitempty"`
	GeneralWaitAddTrackMs              *string `json:"general.wait_add_track_ms,omitempty"`
	GeneralWaitAudioTrackDataMs        *string `json:"general.wait_audio_track_data_ms,omitempty"`
	GeneralWaitTrackReadyMs            *string `json:"general.wait_track_ready_ms,omitempty"`
	HlsBroadcastRecordTs               *string `json:"hls.broadcastRecordTs,omitempty"`
	HlsDeleteDelaySec                  *string `json:"hls.deleteDelaySec,omitempty"`
	HlsFastRegister                    *string `json:"hls.fastRegister,omitempty"`
	HlsFileBufSize                     *string `json:"hls.fileBufSize,omitempty"`
	HlsSegDelay                        *string `json:"hls.segDelay,omitempty"`
	HlsSegDur                          *string `json:"hls.segDur,omitempty"`
	HlsSegKeep                         *string `json:"hls.segKeep,omitempty"`
	HlsSegNum                          *string `json:"hls.segNum,omitempty"`
	HlsSegRetain                       *string `json:"hls.segRetain,omitempty"`
	HookAliveInterval                  *string `json:"hook.alive_interval,omitempty"`
	HookEnable                         *string `json:"hook.enable,omitempty"`
	HookOnFlowReport                   *string `json:"hook.on_flow_report,omitempty"`
	HookOnHTTPAccess                   *string `json:"hook.on_http_access,omitempty"`
	HookOnPlay                         *string `json:"hook.on_play,omitempty"`
	HookOnPublish                      *string `json:"hook.on_publish,omitempty"`
	HookOnRecordMp4                    *string `json:"hook.on_record_mp4,omitempty"`
	HookOnRecordTs                     *string `json:"hook.on_record_ts,omitempty"`
	HookOnRtpServerTimeout             *string `json:"hook.on_rtp_server_timeout,omitempty"`
	HookOnRtspAuth                     *string `json:"hook.on_rtsp_auth,omitempty"`
	HookOnRtspRealm                    *string `json:"hook.on_rtsp_realm,omitempty"`
	HookOnSendRtpStopped               *string `json:"hook.on_send_rtp_stopped,omitempty"`
	HookOnServerExited                 *string `json:"hook.on_server_exited,omitempty"`
	HookOnServerKeepalive              *string `json:"hook.on_server_keepalive,omitempty"`
	HookOnServerStarted                *string `json:"hook.on_server_started,omitempty"`
	HookOnShellLogin                   *string `json:"hook.on_shell_login,omitempty"`
	HookOnStreamChanged                *string `json:"hook.on_stream_changed,omitempty"`
	HookOnStreamNoneReader             *string `json:"hook.on_stream_none_reader,omitempty"`
	HookOnStreamNotFound               *string `json:"hook.on_stream_not_found,omitempty"`
	HookRetry                          *string `json:"hook.retry,omitempty"`
	HookRetryDelay                     *string `json:"hook.retry_delay,omitempty"`
	HookStreamChangedSchemas           *string `json:"hook.stream_changed_schemas,omitempty"`
	HookTimeoutSec                     *string `json:"hook.timeoutSec,omitempty"` // 事件触发 http post 超时时间。
	HTTPAllowCrossDomains              *string `json:"http.allow_cross_domains,omitempty"`
	HTTPAllowIPRange                   *string `json:"http.allow_ip_range,omitempty"`
	HTTPCharSet                        *string `json:"http.charSet,omitempty"`
	HTTPDirMenu                        *string `json:"http.dirMenu,omitempty"`
	HTTPForbidCacheSuffix              *string `json:"http.forbidCacheSuffix,omitempty"`
	HTTPForwardedIPHeader              *string `json:"http.forwarded_ip_header,omitempty"`
	HTTPKeepAliveSecond                *string `json:"http.keepAliveSecond,omitempty"`
	HTTPMaxReqSize                     *string `json:"http.maxReqSize,omitempty"`
	HTTPNotFound                       *string `json:"http.notFound,omitempty"`
	HTTPPort                           *string `json:"http.port,omitempty"`
	HTTPRootPath                       *string `json:"http.rootPath,omitempty"`
	HTTPSendBufSize                    *string `json:"http.sendBufSize,omitempty"`
	HTTPSslport                        *string `json:"http.sslport,omitempty"`
	HTTPVirtualPath                    *string `json:"http.virtualPath,omitempty"`
	MulticastAddrMax                   *string `json:"multicast.addrMax,omitempty"`
	MulticastAddrMin                   *string `json:"multicast.addrMin,omitempty"`
	MulticastUDPTTL                    *string `json:"multicast.udpTTL,omitempty"`
	ProtocolAddMuteAudio               *string `json:"protocol.add_mute_audio,omitempty"`
	ProtocolAutoClose                  *string `json:"protocol.auto_close,omitempty"`
	ProtocolContinuePushMs             *string `json:"protocol.continue_push_ms,omitempty"`
	ProtocolEnableAudio                *string `json:"protocol.enable_audio,omitempty"`
	ProtocolEnableFmp4                 *string `json:"protocol.enable_fmp4,omitempty"`
	ProtocolEnableHls                  *string `json:"protocol.enable_hls,omitempty"`
	ProtocolEnableHlsFmp4              *string `json:"protocol.enable_hls_fmp4,omitempty"`
	ProtocolEnableMp4                  *string `json:"protocol.enable_mp4,omitempty"`
	ProtocolEnableRtmp                 *string `json:"protocol.enable_rtmp,omitempty"`
	ProtocolEnableRtsp                 *string `json:"protocol.enable_rtsp,omitempty"`
	ProtocolEnableTs                   *string `json:"protocol.enable_ts,omitempty"`
	ProtocolFmp4Demand                 *string `json:"protocol.fmp4_demand,omitempty"`
	ProtocolHlsDemand                  *string `json:"protocol.hls_demand,omitempty"`
	ProtocolHlsSavePath                *string `json:"protocol.hls_save_path,omitempty"`
	ProtocolModifyStamp                *string `json:"protocol.modify_stamp,omitempty"`
	ProtocolMp4AsPlayer                *string `json:"protocol.mp4_as_player,omitempty"`
	ProtocolMp4MaxSecond               *string `json:"protocol.mp4_max_second,omitempty"`
	ProtocolMp4SavePath                *string `json:"protocol.mp4_save_path,omitempty"`
	ProtocolPacedSenderMs              *string `json:"protocol.paced_sender_ms,omitempty"`
	ProtocolRtmpDemand                 *string `json:"protocol.rtmp_demand,omitempty"`
	ProtocolRtspDemand                 *string `json:"protocol.rtsp_demand,omitempty"`
	ProtocolTsDemand                   *string `json:"protocol.ts_demand,omitempty"`
	RecordAppName                      *string `json:"record.appName,omitempty"`
	RecordEnableFmp4                   *string `json:"record.enableFmp4,omitempty"`
	RecordFastStart                    *string `json:"record.fastStart,omitempty"`
	RecordFileBufSize                  *string `json:"record.fileBufSize,omitempty"`
	RecordFileRepeat                   *string `json:"record.fileRepeat,omitempty"`
	RecordSampleMS                     *string `json:"record.sampleMS,omitempty"`
	RtcDatachannelEcho                 *string `json:"rtc.datachannel_echo,omitempty"`
	RtcExternIP                        *string `json:"rtc.externIP,omitempty"`
	RtcMaxRtpCacheMS                   *string `json:"rtc.maxRtpCacheMS,omitempty"`
	RtcMaxRtpCacheSize                 *string `json:"rtc.maxRtpCacheSize,omitempty"`
	RtcMaxBitrate                      *string `json:"rtc.max_bitrate,omitempty"`
	RtcMinBitrate                      *string `json:"rtc.min_bitrate,omitempty"`
	RtcNackIntervalRatio               *string `json:"rtc.nackIntervalRatio,omitempty"`
	RtcNackMaxCount                    *string `json:"rtc.nackMaxCount,omitempty"`
	RtcNackMaxMS                       *string `json:"rtc.nackMaxMS,omitempty"`
	RtcNackMaxSize                     *string `json:"rtc.nackMaxSize,omitempty"`
	RtcNackRtpSize                     *string `json:"rtc.nackRtpSize,omitempty"`
	RtcPort                            *string `json:"rtc.port,omitempty"`
	RtcPreferredCodecA                 *string `json:"rtc.preferredCodecA,omitempty"`
	RtcPreferredCodecV                 *string `json:"rtc.preferredCodecV,omitempty"`
	RtcRembBitRate                     *string `json:"rtc.rembBitRate,omitempty"`
	RtcStartBitrate                    *string `json:"rtc.start_bitrate,omitempty"`
	RtcTCPPort                         *string `json:"rtc.tcpPort,omitempty"`
	RtcTimeoutSec                      *string `json:"rtc.timeoutSec,omitempty"`
	RtmpDirectProxy                    *string `json:"rtmp.directProxy,omitempty"`
	RtmpEnhanced                       *string `json:"rtmp.enhanced,omitempty"`
	RtmpHandshakeSecond                *string `json:"rtmp.handshakeSecond,omitempty"`
	RtmpKeepAliveSecond                *string `json:"rtmp.keepAliveSecond,omitempty"`
	RtmpPort                           *string `json:"rtmp.port,omitempty"`
	RtmpSslport                        *string `json:"rtmp.sslport,omitempty"`
	RtpAudioMtuSize                    *string `json:"rtp.audioMtuSize,omitempty"`
	RtpH264StapA                       *string `json:"rtp.h264_stap_a,omitempty"`
	RtpLowLatency                      *string `json:"rtp.lowLatency,omitempty"`
	RtpRtpMaxSize                      *string `json:"rtp.rtpMaxSize,omitempty"`
	RtpVideoMtuSize                    *string `json:"rtp.videoMtuSize,omitempty"`
	RtpProxyDumpDir                    *string `json:"rtp_proxy.dumpDir,omitempty"`
	RtpProxyGopCache                   *string `json:"rtp_proxy.gop_cache,omitempty"`
	RtpProxyH264Pt                     *string `json:"rtp_proxy.h264_pt,omitempty"`
	RtpProxyH265Pt                     *string `json:"rtp_proxy.h265_pt,omitempty"`
	RtpProxyOpusPt                     *string `json:"rtp_proxy.opus_pt,omitempty"`
	RtpProxyPort                       *string `json:"rtp_proxy.port,omitempty"`
	RtpProxyPortRange                  *string `json:"rtp_proxy.port_range,omitempty"`
	RtpProxyPsPt                       *string `json:"rtp_proxy.ps_pt,omitempty"`
	RtpProxyRtpG711DurMs               *string `json:"rtp_proxy.rtp_g711_dur_ms,omitempty"`
	RtpProxyTimeoutSec                 *string `json:"rtp_proxy.timeoutSec,omitempty"`
	RtpProxyUDPRecvSocketBuffer        *string `json:"rtp_proxy.udp_recv_socket_buffer,omitempty"`
	RtspAuthBasic                      *string `json:"rtsp.authBasic,omitempty"`
	RtspDirectProxy                    *string `json:"rtsp.directProxy,omitempty"`
	RtspHandshakeSecond                *string `json:"rtsp.handshakeSecond,omitempty"`
	RtspKeepAliveSecond                *string `json:"rtsp.keepAliveSecond,omitempty"`
	RtspLowLatency                     *string `json:"rtsp.lowLatency,omitempty"`
	RtspPort                           *string `json:"rtsp.port,omitempty"`
	RtspRtpTransportType               *string `json:"rtsp.rtpTransportType,omitempty"`
	RtspSslport                        *string `json:"rtsp.sslport,omitempty"`
	ShellMaxReqSize                    *string `json:"shell.maxReqSize,omitempty"`
	ShellPort                          *string `json:"shell.port,omitempty"`
	SrtLatencyMul                      *string `json:"srt.latencyMul,omitempty"`
	SrtPktBufSize                      *string `json:"srt.pktBufSize,omitempty"`
	SrtPort                            *string `json:"srt.port,omitempty"`
	SrtTimeoutSec                      *string `json:"srt.timeoutSec,omitempty"`
}

SetServerConfigRequest https://github.com/zlmediakit/ZLMediaKit/wiki/MediaServer%E6%94%AF%E6%8C%81%E7%9A%84HTTP-HOOK-API

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL