swagger: '2.0' info: title: Mirakurun version: '1.4' description: DVR Tuner Server Service for Chinachu Air. contact: name: Yuki KAN url: https://github.com/kanreisa basePath: /api consumes: - application/json produces: - application/json paths: {} definitions: # common -------------------------------------------------------------------- Error: type: object properties: code: type: integer reason: type: string errors: type: array items: $ref: '#/definitions/ErrorOfOpenAPI' ErrorOfOpenAPI: type: object properties: errorCode: type: string message: type: string location: type: string ProgramId: type: integer maximum: 655356553565535 EventId: type: integer maximum: 65535 ServiceId: type: integer maximum: 65535 NetworkId: type: integer maximum: 65535 ServiceItemId: type: integer maximum: 6553565535 UnixtimeMS: type: integer # channel ------------------------------------------------------------------- Channel: type: object required: - type - channel properties: type: $ref: '#/definitions/ChannelType' channel: type: string name: type: string satelite: type: string services: type: array items: $ref: '#/definitions/Service' ChannelType: type: string enum: - GR - BS - CS - SKY # service ------------------------------------------------------------------- Service: type: object required: - id - serviceId - networkId - name properties: id: $ref: '#/definitions/ServiceItemId' serviceId: $ref: '#/definitions/ServiceId' networkId: $ref: '#/definitions/NetworkId' name: type: string logoId: type: number hasLogoData: type: boolean channel: $ref: '#/definitions/Channel' # program ------------------------------------------------------------------- Program: type: object required: - id - eventId - serviceId - networkId - startAt - duration - isFree properties: id: $ref: '#/definitions/ProgramId' eventId: $ref: '#/definitions/EventId' serviceId: $ref: '#/definitions/ServiceId' networkId: $ref: '#/definitions/NetworkId' startAt: $ref: '#/definitions/UnixtimeMS' duration: type: integer isFree: type: boolean name: type: string description: type: string genres: type: array items: $ref: '#/definitions/ProgramGenre' #attributes: # type: array # items: # type: string video: type: object properties: type: $ref: '#/definitions/ProgramVideoType' resolution: $ref: '#/definitions/ProgramVideoResolution' streamContent: type: integer componentType: type: integer audio: type: object properties: samplingRate: $ref: '#/definitions/ProgramAudioSamplingRate' componentType: type: integer #series: # type: object # properties: # id: # type: integer # repeatCount: # type: integer # minimum: 0 # pattern: # $ref: '#/definitions/ProgramPattern' # expiresAt: # $ref: '#/definitions/UnixtimeMS' # episode: # $ref: '#/definitions/ProgramEpisodeNumber' # lastEpisode: # $ref: '#/definitions/ProgramEpisodeNumber' # name: # type: string ProgramGenre: type: object properties: lv1: type: integer lv2: type: integer un1: type: integer un2: type: integer ProgramVideoType: type: string enum: - mpeg2 - h.264 - h.265 ProgramVideoResolution: type: string enum: - 240p - 480i - 480p - 720p - 1080i - 1080p - 2160p - 4320p ProgramAudioSamplingRate: type: integer enum: - 16000 # 001 - 22050 # 010 - 24000 # 011 - 32000 # 101 - 44100 # 110 - 48000 # 111 # ARIB STD-B10 Vol.2 #ProgramPattern: # type: integer # minimum: 0 # maximum: 7 # ARIB STD-B10 Vol.2 # 0x0 不定期(0x1 – 0x7で定義されるもの以外) # 0x1 帯番組(毎日、平日のみ毎日、土・日のみなど)、週に複数回の編成 # 0x2 週に1回程度の編成 # 0x3 月に1回程度の編成 # 0x4 同日内に複数話数の編成 # 0x5 長時間番組の分割 # 0x6 定期または不定期の蓄積用の編成 # 0x7 未定義 #ProgramEpisodeNumber: # type: integer # minimum: 1 # maximum: 4095 # tuner --------------------------------------------------------------------- TunerDevice: type: object required: - index - name - types - command - pid - users - isAvailable - isFree - isUsing properties: index: type: integer name: type: string types: type: array items: $ref: '#/definitions/ChannelType' command: type: string pid: type: integer users: type: array items: $ref: '#/definitions/TunerUser' isAvailable: type: boolean isFree: type: boolean isUsing: type: boolean TunerUser: type: object required: - id - priority properties: id: type: string priority: type: integer minimum: -1 agent: type: string # event --------------------------------------------------------------------- Event: type: object required: - resource - type - data - time properties: resource: $ref: '#/definitions/EventResource' type: $ref: '#/definitions/EventType' data: type: object time: $ref: '#/definitions/UnixtimeMS' EventResource: type: string enum: - program - service - tuner EventType: type: string enum: - create - update - redefine # config -------------------------------------------------------------------- ConfigServer: type: object properties: path: type: string port: type: integer minimum: 1 maximum: 65535 logLevel: type: integer minimum: -1 maximum: 3 ConfigTuners: type: array items: $ref: '#/definitions/ConfigTunersItem' ConfigTunersItem: type: object required: - name - types properties: name: type: string maxLength: 8 types: type: array items: $ref: '#/definitions/ChannelType' command: type: string dvbDevicePath: type: string decoder: type: string isDisabled: type: boolean isPT2: type: boolean ConfigChannels: type: array items: $ref: '#/definitions/ConfigChannelsItem' ConfigChannelsItem: type: object required: - name - type - channel properties: name: type: string type: $ref: '#/definitions/ChannelType' channel: type: string serviceId: $ref: '#/definitions/ServiceId' satelite: type: string isDisabled: type: boolean Version: type: object properties: current: type: string latest: type: string Status: type: object required: - epg properties: epg: type: object properties: gatheringNetworks: type: array items: $ref: '#/definitions/NetworkId'