Documentation
¶
Index ¶
- Constants
- type AddStreamProxyRequest
- type AddStreamProxyResponse
- type CloseRTPServerRequest
- type CloseRTPServerResponse
- type Config
- type Engine
- func (e *Engine) AddStreamProxy(in AddStreamProxyRequest) (*AddStreamProxyResponse, error)
- func (e *Engine) CloseRTPServer(in CloseRTPServerRequest) (*CloseRTPServerResponse, error)
- func (e *Engine) ErrHandle(code int, msg string) error
- func (e *Engine) GetServerConfig() (*GetServerConfigResponse, error)
- func (e Engine) GetSnap(in GetSnapRequest) ([]byte, error)
- func (e *Engine) OpenRTPServer(in OpenRTPServerRequest) (*OpenRTPServerResponse, error)
- func (e Engine) SetConfig(cfg Config) Engine
- func (e *Engine) SetServerConfig(in *SetServerConfigRequest) (*SetServerConfigReponse, error)
- type FixedHeader
- type GetServerConfigData
- type GetServerConfigResponse
- type GetSnapRequest
- type OpenRTPServerRequest
- type OpenRTPServerResponse
- type SetServerConfigReponse
- type SetServerConfigRequest
Constants ¶
const ( Exception = -400 // 代码抛异常 InvalidArgs = -300 // 参数不合法 SQLFailed = -200 // sql执行失败 AuthFailed = -100 // 鉴权失败 OtherFailed = -1 // 业务代码执行失败 Success = 0 // 执行成功 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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 Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
func (*Engine) AddStreamProxy ¶
func (e *Engine) AddStreamProxy(in AddStreamProxyRequest) (*AddStreamProxyResponse, error)
AddStreamProxy 添加流代理 https://docs.zlmediakit.com/zh/guide/media_server/restful_api.html#_12%E3%80%81-index-api-addstreamproxy
func (*Engine) CloseRTPServer ¶
func (e *Engine) CloseRTPServer(in CloseRTPServerRequest) (*CloseRTPServerResponse, error)
CloseRTPServer 关闭 GB28181 RTP 接收端口 https://docs.zlmediakit.com/zh/guide/media_server/restful_api.html#_25%E3%80%81-index-api-closertpserver
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) SetServerConfig ¶
func (e *Engine) SetServerConfig(in *SetServerConfigRequest) (*SetServerConfigReponse, error)
type FixedHeader ¶
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 OpenRTPServerRequest ¶
type OpenRTPServerResponse ¶
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"`
// RTCEnableTurn *string `json:"rtc.enableTurn,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