}
}
+ // 直播流仅类型
+ if v, ok := t.common.K_v.LoadV("直播流仅类型").(bool); ok && v {
+ // 期望类型
+ if vt, ok := t.common.K_v.LoadV(`直播流类型`).(string); ok {
+ var (
+ pass bool
+ cuType string
+ cuCode string
+ )
+
+ if strings.Contains(t.common.Live[0].Codec, `hevc`) {
+ cuCode = `hevc`
+ } else if strings.Contains(t.common.Live[0].Codec, `avc`) {
+ cuCode = `avc`
+ } else {
+ cuCode = `unknow`
+ }
+
+ if strings.Contains(t.common.Live[0].Url, `m3u8`) {
+ cuType = `m3u8`
+ } else if strings.Contains(t.common.Live[0].Url, `flv`) {
+ cuType = `flv`
+ } else {
+ cuType = `unknow`
+ }
+
+ switch vt {
+ case `fmp4H`:
+ pass = cuType == `m3u8` && cuCode == `hevc`
+ case `fmp4`:
+ pass = cuType == `m3u8` && cuCode == `avc`
+ case `flvH`:
+ pass = cuType == `flv` && cuCode == `hevc`
+ case `flv`:
+ pass = cuType == `flv` && cuCode == `avc`
+ }
+
+ if !pass {
+ _log.L(`W: `, `仅类型true,当前类型`, cuType, cuCode)
+ return false
+ }
+ }
+ }
+
// 保存流类型
if strings.Contains(t.common.Live[0].Url, `m3u8`) {
t.stream_type = "mp4"
"直播流仅清晰度": false,
"直播流类型-help": "flv,fmp4,flvH,fmp4H,带H后缀的为Hevc格式编码",
"直播流类型": "fmp4",
+ "直播流仅类型-help": "为true时,限制仅录制指定类型,避免类型不可用时自动切换类型。当类型不符时,将等候5s重试。默认为false",
+ "直播流仅类型": false,
"直播流不使用mcdn": false,
"直播流停用服务器-help": "正则字符串数组",
"直播流停用服务器": [],