server:
  port: 8888
  http2:
    enabled: true
  ssl:
    key-alias: taoyao
    key-store: classpath:server.p12
    key-store-type: PKCS12
    key-store-password: 123456
    key-password: 123456
  tomcat:
    thread:
      max: 256
      min-spare: 8
    remoteip:
      host-header: X-Forwarded-Host
      port-header: X-Forwarded-Port
      protocol-header: X-Forwarded-Proto
      remote-ip-header: X-Forwarded-For
# 服务前缀
# servlet:
#   context-path: /taoyao
spring:
# 快速启动
# main:
#   lazy-initialization: true
  profiles:
    active: dev
  application:
    name: taoyao-signal-server
  servlet:
    multipart:
      max-file-size: 256MB
      max-request-size: 256MB
  task:
    execution:
      pool:
        core-size: 8
        max-size: 128
        keep-alive: 60s
        queue-capacity: 100000
        allow-core-thread-timeout: true
      shutdown:
        await-termination: true
        await-termination-period: 60s
      thread-name-prefix: ${spring.application.name}-
    scheduling:
      pool:
        size: 4
      shutdown:
        await-termination: true
        await-termination-period: 60s
      thread-name-prefix: ${spring.application.name}-scheduling-
taoyao:
  url: https://gitee.com/acgist/taoyao
  name: 桃夭信令服务
  version: 1.0.0
  description: 桃夭WebRTC信令服务
  # 全局超时时间
  timeout: 5000
  id:
    # 服务端
    max-index: 999999
    server-index: 0
    # 终端
    min-client-index: 10000
    max-client-index: 99999
  # 媒体配置
  media:
    # 宽度
    min-width: 720
    max-width: 4096
    # 高度
    min-height: 480
    max-height: 2160
    # 码率
    min-bitrate: 800
    max-bitrate: 1600
    # 帧率
    min-frame-rate: 15
    max-frame-rate: 45
    # 采样数
    min-sample-size: 8
    max-sample-size: 32
    # 采样率
    min-sample-rate: 8000
    max-sample-rate: 48000
    # ABR CBR VBR
    # 默认音频
    audio:
      format: OPUS
      sample-size: 32
      sample-rate: 44100
    # 默认视频
    video:
      format: H264
      bitrate: 1200
      frame-rate: 24
      resolution: 1920*1080
    audios:
      # 超清
      fd-audio:
        format: OPUS
        sample-size: 32
        sample-rate: 48000
      # 高清
      hd-audio:
        format: OPUS
        sample-size: 24
        sample-rate: 44100
      # 标清
      sd-audio:
        format: OPUS
        sample-size: 24
        sample-rate: 32000
    videos:
      # 4K：UD=UHD=4K
      ud-video:
        format: H264
        bitrate: 1600
        frame-rate: 45
        resolution: 4096*2160
      # 2K：QD=QHD=2K
      qd-video:
        format: H264
        bitrate: 1600
        frame-rate: 30
        resolution: 2560*1440
      # 超清视频：FD=FHD=1080P
      fd-video:
        format: H264
        bitrate: 1200
        frame-rate: 24
        resolution: 1920*1080
      # 高清视频：HD=720P
      hd-video:
        format: H264
        bitrate: 1000
        frame-rate: 18
        resolution: 1280*720
      # 标清视频：SD=480P
      sd-video:
        format: H264
        bitrate: 800
        frame-rate: 15
        resolution: 720*480
  # Socket信令
  socket:
    enabled: true
    host: 0.0.0.0
    port: 9999
    encrypt: DES
    encrypt-secret: 2SPWy+TF1zM=
    timeout: ${taoyao.timeout}
    queue-size: 100000
    min-thread: 4
    max-thread: 128
    thread-name-prefix: ${spring.application.name}-signal-
    keep-alive-time: 60000
    buffer-size: 2048
    max-buffer-size: 32768
  # WebRTC配置
  webrtc:
    # 是否加密：E2E
    encrypt: false
    # STUN服务
    stun:
      - host: 192.168.1.110
        port: 3478
      - host: 192.168.8.110
        port: 3478
    # TURN服务
    turn:
      - host: 192.168.1.110
        port: 3478
        username: taoyao
        password: taoyao
      - host: 192.168.8.110
        port: 3478
        username: taoyao
        password: taoyao
  # 摄像头配置
  camera:
    # 混音
    audio-mixer: false
    # 变声
    audio-changer: false
    # 降噪
    audio-denoise: true
    # 存储目录
    storage-path: /data/taoyao/storage
    # 图片存储目录
    storage-image-path: /data/taoyao/storage/image
    # 视频存储目录
    storage-video-path: /data/taoyao/storage/video
    # AI识别
    ai:
      enabled: false
      type: PERSON
    # 美颜
    beauty:
      enabled: false
      level: 10
    # 水印
    watermark:
      enabled: false
      text: taoyao
      posx: 10
      posy: 10
      opacity: 0.8
  # 安全配置
  security:
    enabled: true
    realm: taoyao
    permit:
      - /
      - /error
      - /index.html
      - /favicon.ico
    username: taoyao
    password: taoyao
  # 定时任务
  scheduled:
    # 清理房间无效资源
    room: 0 0/5 * * * ?
    # 清理无效终端连接
    client: 0 * * * * ?
  # 地址重写
  ip-rewrite:
    enabled: true
    prefix: 24
    rule:
      - prefix: 24
        network: 192.168.1.0
        target-host:
      - prefix: 24
        network: 192.168.8.0
        target-host:
  # 脚本配置
  script:
    enabled: true
    system-reboot: reboot
    system-shutdown: shutdown now
    platform-reboot: systemctl restart taoyao-signal-server
    platform-shutdown: systemctl stop taoyao-signal-server
