Class: Conversant::V3::Services::VMS::Transcoding
- Inherits:
-
Object
- Object
- Conversant::V3::Services::VMS::Transcoding
- Defined in:
- lib/conversant/v3/services/vms/transcoding.rb
Overview
Video transcoding service for job and preset management
Provides comprehensive job and preset management functionality for video transcoding operations including:
- Transcoding job listing and filtering
- Preset configuration management
- Job status tracking
Instance Attribute Summary collapse
-
#parent ⇒ VMS
readonly
The parent VMS service instance.
Instance Method Summary collapse
-
#initialize(parent) ⇒ Transcoding
constructor
Initialize VOD transcoding service.
-
#jobs(payload = {}) ⇒ Array<Hash>
Get list of transcoding jobs.
-
#presets(payload = {}) ⇒ Array<Hash>
Get list of transcoding presets.
Constructor Details
#initialize(parent) ⇒ Transcoding
Initialize VOD transcoding service
36 37 38 |
# File 'lib/conversant/v3/services/vms/transcoding.rb', line 36 def initialize(parent) @parent = parent end |
Instance Attribute Details
#parent ⇒ VMS (readonly)
Returns the parent VMS service instance.
31 32 33 |
# File 'lib/conversant/v3/services/vms/transcoding.rb', line 31 def parent @parent end |
Instance Method Details
#jobs(payload = {}) ⇒ Array<Hash>
Get list of transcoding jobs
Retrieves a paginated list of video transcoding jobs with filtering options. Returns detailed information about each job including status, file name, transcoding configurations, and timestamps.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/conversant/v3/services/vms/transcoding.rb', line 67 def jobs(payload = {}) default_payload = { sEcho: 1, iColumns: 9, sColumns: nil, iDisplayStart: 0, iDisplayLength: 20, mDataProp_0: 'id', mDataProp_1: 'file_name', mDataProp_2: 'transcoding_configs', mDataProp_3: 'created', mDataProp_4: 'source_type', mDataProp_5: 'ended', mDataProp_6: 'transcoding_configs', mDataProp_7: 'status', mDataProp_8: 'id', iSortingCols: '0', bSortable_0: 'false', bSortable_1: 'true', bSortable_2: 'false', bSortable_3: 'true', bSortable_4: 'false', bSortable_5: 'true', bSortable_6: 'false', bSortable_7: 'false', bSortable_8: 'false', page_number: 1, page_size: 20, sort_field: nil, sort_type: nil, job_status: -1, source_type: -1, output_format: -1, protection_type: -1, file_name: nil, period: '0_30', job_type: 1, _: (Time.now.to_f * 1000).to_i } merged_payload = default_payload.merge(payload) response = @parent.send(:call, 'GET', "/v2/jobs?#{merged_payload.to_query}") return [] if response.nil? JSON.parse(response)&.[]("list") || [] rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" [] end |
#presets(payload = {}) ⇒ Array<Hash>
Get list of transcoding presets
Retrieves a paginated list of transcoding preset configurations. Presets define encoding parameters such as resolution, bitrate, codec settings, and output formats.
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# File 'lib/conversant/v3/services/vms/transcoding.rb', line 139 def presets(payload = {}) default_payload = { sEcho: 1, iColumns: 5, sColumns: nil, iDisplayStart: 0, iDisplayLength: 20, mDataProp_0: 'id', mDataProp_1: 'name', mDataProp_2: 'id', mDataProp_3: 'description', mDataProp_4: 'id', iSortingCols: '0', bSortable_0: 'false', bSortable_1: 'false', bSortable_2: 'false', bSortable_3: 'false', bSortable_4: 'false', page_number: 1, page_size: 20, _: (Time.now.to_f * 1000).to_i } merged_payload = default_payload.merge(payload) response = @parent.send(:call, 'GET', "/v2/osp/presets?#{merged_payload.to_query}") return [] if response.nil? JSON.parse(response)&.[]("list") || [] rescue StandardError => e logger.error "#{@parent.send(:identifier)}.METHOD:#{__method__}.EXCEPTION:#{e.}" [] end |