openapi: 3.2.0 info: title: TVU Networks — MediaHub MediaHub API/encoder-profile-api API description: MediaHub API operations of the TVU Networks public HTTP API, assembled verbatim from the per-endpoint OpenAPI 3.0.1 exports TVU publishes on its own Apifox documentation site (https://docs.tvunetworks.cn/). Each operation body is the provider's own export; only grouping, servers[] and operationId backfill were added by API Evangelist. version: 1.0.0 contact: name: TVU Networks url: https://www.tvunetworks.com/tvu-developer/ servers: - url: https://api.tvunetworks.com description: Prod Env default server - url: https://mediahub.tvunetworks.com description: Apifox server "MediaHub" tags: - name: MediaHub API/encoder-profile-api paths: /urcaller/api/v2/encodingProfile: post: summary: createEncodingProfile deprecated: false description: Creating an encodingProfile operationId: createEncodingProfile tags: - MediaHub API/encoder-profile-api parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/EncodingProfileDTO' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResponseResultProfileApiVo' headers: {} x-apifox-name: OK '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/Result' headers: {} x-apifox-name: Bad Request '405': description: Method Not Allowed content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: Unauthorized security: [] x-apifox-folder: MediaHub API/encoder-profile-api x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-243498618-run x-source-doc: https://docs.tvunetworks.cn/api-243498618.md get: summary: queryEncodingProfile deprecated: false description: Creating an encodingProfile operationId: queryEncodingProfile tags: - MediaHub API/encoder-profile-api parameters: - name: profileId in: query description: '' required: true schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResponseResultQueryEncodingProfileVO' headers: {} x-apifox-name: OK '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/Result' headers: {} x-apifox-name: Bad Request '405': description: Method Not Allowed content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: Unauthorized security: [] x-apifox-folder: MediaHub API/encoder-profile-api x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-243498619-run x-source-doc: https://docs.tvunetworks.cn/api-243498619.md delete: summary: deleteEncodingProfile deprecated: false description: delete encodingProfile operationId: deleteEncodingProfile tags: - MediaHub API/encoder-profile-api parameters: - name: profileId in: query description: '' required: true schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: OK '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/Result' headers: {} x-apifox-name: Bad Request '405': description: Method Not Allowed content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: Unauthorized security: [] x-apifox-folder: MediaHub API/encoder-profile-api x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-243498620-run x-source-doc: https://docs.tvunetworks.cn/api-243498620.md put: summary: encodingProfile deprecated: false description: Update an encodingProfile operationId: encodingProfile tags: - MediaHub API/encoder-profile-api parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/EditEncodingProfileDTO' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResponseResultProfileApiVo' headers: {} x-apifox-name: OK '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/Result' headers: {} x-apifox-name: Bad Request '405': description: Method Not Allowed content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: Unauthorized security: [] x-apifox-folder: MediaHub API/encoder-profile-api x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-243498621-run x-source-doc: https://docs.tvunetworks.cn/api-243498621.md /urcaller/api/v2/encodingProfile/dict: get: summary: queryEncodingProfileDict deprecated: false description: query encodingProfile dict operationId: queryEncodingProfileDict tags: - MediaHub API/encoder-profile-api parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResponseResultProfileTemplateVo' headers: {} x-apifox-name: OK '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/Result' headers: {} x-apifox-name: Bad Request '405': description: Method Not Allowed content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: Unauthorized security: [] x-apifox-folder: MediaHub API/encoder-profile-api x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-243498623-run x-source-doc: https://docs.tvunetworks.cn/api-243498623.md /urcaller/api/v2/encodingProfiles: get: summary: queryEncodingProfiles deprecated: false description: Query the encodingProfile list operationId: queryEncodingProfiles tags: - MediaHub API/encoder-profile-api parameters: - name: profileName in: query description: '' required: false schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ResponseResultListSingleTierEncodingProfileRes' headers: {} x-apifox-name: OK '401': description: Unauthorized content: '*/*': schema: $ref: '#/components/schemas/Result' headers: {} x-apifox-name: Bad Request '405': description: Method Not Allowed content: '*/*': schema: $ref: '#/components/schemas/ResponseResult' headers: {} x-apifox-name: Unauthorized security: [] x-apifox-folder: MediaHub API/encoder-profile-api x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-243498622-run x-source-doc: https://docs.tvunetworks.cn/api-243498622.md components: schemas: SingleTierEncodingProfileRes: type: object properties: id: type: string name: type: string encodingTier: $ref: '#/components/schemas/EncodingTier' status: type: integer format: int32 type: type: integer format: int32 templateType: type: integer format: int32 format: type: string streamProfile: $ref: '#/components/schemas/StreamProfile' x-apifox-orders: - id - name - encodingTier - status - type - templateType - format - streamProfile x--orders: - id - name - encodingTier - status - type - templateType - format - streamProfile x--ignore-properties: [] x-apifox-folder: '' EncodingTier: type: object properties: videoProfile: $ref: '#/components/schemas/VideoEncoderRes' audioProfiles: type: array items: $ref: '#/components/schemas/AudioEncoderRes' x-apifox-orders: - videoProfile - audioProfiles x--orders: - videoProfile - audioProfiles x--ignore-properties: [] x-apifox-folder: '' ProfileTemplateVo: type: object properties: audio: $ref: '#/components/schemas/Audio' video: $ref: '#/components/schemas/Video' x-apifox-orders: - audio - video x--orders: - audio - video x--ignore-properties: [] x-apifox-folder: '' UpdateVideoEncoderReq: required: - bitrate - resolution - codec - deinterlace - scale - profile - level - preset - tune type: object properties: bitrate: type: string examples: - 5M resolution: type: string examples: - 1920x1080 codec: type: string examples: - TVU264 cbr: type: boolean examples: - true deinterlace: type: string examples: - Auto frameRate: type: number format: double examples: - 0 gop: type: integer format: int32 examples: - 30 scale: type: string examples: - fast_bilinear profile: type: string enum: - baseline,main,high examples: - main level: type: string examples: - '3.0' preset: type: string enum: - ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow examples: - veryfast tune: type: string examples: - zerolatency hdrType: type: integer format: int32 bpp: type: integer format: int32 transpose: type: integer format: int32 id: type: string x-apifox-orders: - bitrate - resolution - codec - cbr - deinterlace - frameRate - gop - scale - profile - level - preset - tune - hdrType - bpp - transpose - id x--orders: - bitrate - resolution - codec - cbr - deinterlace - frameRate - gop - scale - profile - level - preset - tune - hdrType - bpp - transpose - id x--ignore-properties: [] x-apifox-folder: '' VideoEncoderParam: required: - bitrate - resolution - codec - deinterlace - scale - profile - level - preset - tune type: object properties: bitrate: type: string examples: - 5M resolution: type: string examples: - 1920x1080 codec: type: string examples: - TVU264 cbr: type: boolean examples: - true deinterlace: type: string examples: - Auto frameRate: type: number format: double examples: - 0 gop: type: integer format: int32 examples: - 30 scale: type: string examples: - fast_bilinear profile: type: string enum: - baseline,main,high examples: - main level: type: string examples: - '3.0' preset: type: string enum: - ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow examples: - veryfast tune: type: string examples: - zerolatency hdrType: type: integer format: int32 bpp: type: integer format: int32 transpose: type: integer format: int32 x-apifox-orders: - bitrate - resolution - codec - cbr - deinterlace - frameRate - gop - scale - profile - level - preset - tune - hdrType - bpp - transpose x-apifox-ignore-properties: [] x-apifox-folder: '' UpdateAudioEncoderReq: required: - bitrate - codec type: object properties: bitrate: type: string examples: - 128k codec: type: string examples: - AAC sampleRate: type: integer format: int32 examples: - 48000 audioPid: type: integer format: int32 id: type: string x-apifox-orders: - bitrate - codec - sampleRate - audioPid - id x--orders: - bitrate - codec - sampleRate - audioPid - id x--ignore-properties: [] x-apifox-folder: '' Audio: type: object properties: bitrates: type: array items: $ref: '#/components/schemas/LabelAndValue' codecs: type: array items: $ref: '#/components/schemas/LabelAndValue' sampleRates: type: array items: $ref: '#/components/schemas/LabelAndValue' x-apifox-orders: - bitrates - codecs - sampleRates x--orders: - bitrates - codecs - sampleRates x--ignore-properties: [] x-apifox-folder: '' LabelAndValue: type: object properties: label: type: string value: type: string x-apifox-orders: - label - value x--orders: - label - value x--ignore-properties: [] x-apifox-folder: '' QueryEncodingProfileVO: type: object properties: profileId: type: string profileName: type: string videoEncoder: $ref: '#/components/schemas/VideoEncoderRes' audioEncoder: type: array items: $ref: '#/components/schemas/AudioEncoderRes' audioEncoders: type: array items: $ref: '#/components/schemas/AudioEncoderRes' streamProfile: $ref: '#/components/schemas/StreamProfile' templateType: type: integer format: int32 x-apifox-orders: - profileId - profileName - videoEncoder - audioEncoder - audioEncoders - streamProfile - templateType x-apifox-ignore-properties: [] x-apifox-folder: '' StreamProfile: type: object properties: name: type: string metadata: type: object additionalProperties: type: string x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] mpegtsPmtStartPid: type: integer format: int32 mpegtsStartPid: type: integer format: int32 mpegtsSctePid: type: integer format: int32 mpegtsAudioPids: type: array items: type: integer format: int32 id: type: string x-apifox-orders: - name - metadata - mpegtsPmtStartPid - mpegtsStartPid - mpegtsSctePid - mpegtsAudioPids - id x--orders: - name - metadata - mpegtsPmtStartPid - mpegtsStartPid - mpegtsSctePid - mpegtsAudioPids - id x--ignore-properties: [] x-apifox-folder: '' EncodingProfileDTO: required: - profileName - videoEncoder - audioEncoders type: object properties: profileName: type: string videoEncoder: $ref: '#/components/schemas/VideoEncoderParam' audioEncoders: type: array items: $ref: '#/components/schemas/AudioEncoderParam' audioEncoder: $ref: '#/components/schemas/AudioEncoderParam' templateType: type: integer format: int32 streamProfile: $ref: '#/components/schemas/StreamProfileParam' x-apifox-orders: - profileName - videoEncoder - audioEncoders - audioEncoder - templateType - streamProfile x-apifox-ignore-properties: [] x-apifox-folder: '' ResponseResultProfileApiVo: type: object properties: errorCode: type: string examples: - '0x0' errorInfo: type: string examples: - success result: $ref: '#/components/schemas/ProfileApiVo' async: type: boolean errorBody: type: object x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] x-apifox-orders: - errorCode - errorInfo - result - async - errorBody x--orders: - errorCode - errorInfo - result - async - errorBody x--ignore-properties: [] x-apifox-folder: '' ResponseResultProfileTemplateVo: type: object properties: errorCode: type: string examples: - '0x0' errorInfo: type: string examples: - success result: $ref: '#/components/schemas/ProfileTemplateVo' async: type: boolean errorBody: type: object x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] x-apifox-orders: - errorCode - errorInfo - result - async - errorBody x--orders: - errorCode - errorInfo - result - async - errorBody x--ignore-properties: [] x-apifox-folder: '' AudioEncoderParam: required: - bitrate - codec type: object properties: bitrate: type: string examples: - 128k codec: type: string examples: - AAC sampleRate: type: integer format: int32 examples: - 48000 audioPid: type: integer format: int32 x-apifox-orders: - bitrate - codec - sampleRate - audioPid x-apifox-ignore-properties: [] x-apifox-folder: '' ProfileApiVo: type: object properties: profileId: type: string x-apifox-orders: - profileId x--orders: - profileId x--ignore-properties: [] x-apifox-folder: '' Result: type: object properties: errorCode: type: string errorInfo: type: string result: type: object x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' AudioEncoderRes: required: - bitrate - codec type: object properties: bitrate: type: string examples: - 128k codec: type: string examples: - AAC sampleRate: type: integer format: int32 examples: - 48000 audioPid: type: integer format: int32 id: type: string x-apifox-orders: - bitrate - codec - sampleRate - audioPid - id x--orders: - bitrate - codec - sampleRate - audioPid - id x--ignore-properties: [] x-apifox-folder: '' ResponseResult: type: object properties: errorCode: type: string examples: - '0x0' errorInfo: type: string examples: - success result: type: object x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] async: type: boolean errorBody: type: object x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] x-apifox-orders: - errorCode - errorInfo - result - async - errorBody x-apifox-ignore-properties: [] x-apifox-folder: '' EditEncodingProfileDTO: required: - profileId - profileName type: object properties: profileId: type: string profileName: type: string videoEncoder: $ref: '#/components/schemas/UpdateVideoEncoderReq' audioEncoder: $ref: '#/components/schemas/UpdateAudioEncoderReq' audioEncoders: type: array items: $ref: '#/components/schemas/UpdateAudioEncoderReq' streamProfile: $ref: '#/components/schemas/StreamProfile' templateType: type: integer format: int32 x-apifox-orders: - profileId - profileName - videoEncoder - audioEncoder - audioEncoders - streamProfile - templateType x--orders: - profileId - profileName - videoEncoder - audioEncoder - audioEncoders - streamProfile - templateType x--ignore-properties: [] x-apifox-folder: '' Video: type: object properties: bitrates: type: array items: $ref: '#/components/schemas/LabelAndValue' presets: type: array items: $ref: '#/components/schemas/LabelAndValue' codecs: type: array items: $ref: '#/components/schemas/LabelAndValue' scales: type: array items: $ref: '#/components/schemas/LabelAndValue' profiles: type: array items: $ref: '#/components/schemas/LabelAndValue' resolutions: type: array items: $ref: '#/components/schemas/LabelAndValue' levels: type: array items: $ref: '#/components/schemas/LabelAndValue' x-apifox-orders: - bitrates - presets - codecs - scales - profiles - resolutions - levels x--orders: - bitrates - presets - codecs - scales - profiles - resolutions - levels x--ignore-properties: [] x-apifox-folder: '' ResponseResultQueryEncodingProfileVO: type: object properties: errorCode: type: string examples: - '0x0' errorInfo: type: string examples: - success result: $ref: '#/components/schemas/QueryEncodingProfileVO' async: type: boolean errorBody: type: object x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] x-apifox-orders: - errorCode - errorInfo - result - async - errorBody x-apifox-ignore-properties: [] x-apifox-folder: '' VideoEncoderRes: required: - bitrate - resolution - codec - deinterlace - scale - profile - level - preset - tune type: object properties: bitrate: type: string examples: - 5M resolution: type: string examples: - 1920x1080 codec: type: string examples: - TVU264 cbr: type: boolean examples: - true deinterlace: type: string examples: - Auto frameRate: type: number format: double examples: - 0 gop: type: integer format: int32 examples: - 30 scale: type: string examples: - fast_bilinear profile: type: string enum: - baseline,main,high examples: - main level: type: string examples: - '3.0' preset: type: string enum: - ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow examples: - veryfast tune: type: string examples: - zerolatency hdrType: type: integer format: int32 bpp: type: integer format: int32 transpose: type: integer format: int32 id: type: string x-apifox-orders: - bitrate - resolution - codec - cbr - deinterlace - frameRate - gop - scale - profile - level - preset - tune - hdrType - bpp - transpose - id x--orders: - bitrate - resolution - codec - cbr - deinterlace - frameRate - gop - scale - profile - level - preset - tune - hdrType - bpp - transpose - id x--ignore-properties: [] x-apifox-folder: '' StreamProfileParam: type: object properties: name: type: string metadata: type: object additionalProperties: type: string x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] mpegtsPmtStartPid: type: integer format: int32 mpegtsStartPid: type: integer format: int32 mpegtsSctePid: type: integer format: int32 mpegtsAudioPids: type: array items: type: integer format: int32 x-apifox-orders: - name - metadata - mpegtsPmtStartPid - mpegtsStartPid - mpegtsSctePid - mpegtsAudioPids x-apifox-ignore-properties: [] x-apifox-folder: '' ResponseResultListSingleTierEncodingProfileRes: type: object properties: errorCode: type: string examples: - '0x0' errorInfo: type: string examples: - success result: type: array items: $ref: '#/components/schemas/SingleTierEncodingProfileRes' async: type: boolean errorBody: type: object x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] x-apifox-orders: - errorCode - errorInfo - result - async - errorBody x--orders: - errorCode - errorInfo - result - async - errorBody x--ignore-properties: [] x-apifox-folder: '' securitySchemes: bearer: type: bearer scheme: bearer apikey-header-Authorization: type: apikey in: header name: Authorization apikey-header-SID: type: apikey in: header name: SID tvu: type: bearer scheme: bearer