Class: ActiveEncode::EngineAdapters::MatterhornRtmpUrl

Inherits:
Struct
  • Object
show all
Defined in:
lib/active_encode/engine_adapters/matterhorn_adapter.rb

Constant Summary collapse

REGEX =
%r{^
	/(?<application>.+)        # application (avalon)
	/(?:(?<prefix>.+):)?       # prefix      (mp4:)
	(?<media_id>[^\/]+)        # media_id    (98285a5b-603a-4a14-acc0-20e37a3514bb)
	/(?<stream_id>[^\/]+)      # stream_id   (b3d5663d-53f1-4f7d-b7be-b52fd5ca50a3)
	/(?<filename>.+?)          # filename    (MVI_0057)
	(?:\.(?<extension>.+))?$   # extension   (mp4)
}x

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ MatterhornRtmpUrl

Returns a new instance of MatterhornRtmpUrl.



268
269
270
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 268

def initialize(hash)
	super(*members.map {|member| hash[member]})
end

Instance Attribute Details

#applicationObject

Returns the value of attribute application

Returns:

  • (Object)

    the current value of application



257
258
259
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 257

def application
  @application
end

#extensionObject

Returns the value of attribute extension

Returns:

  • (Object)

    the current value of extension



257
258
259
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 257

def extension
  @extension
end

#filenameObject

Returns the value of attribute filename

Returns:

  • (Object)

    the current value of filename



257
258
259
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 257

def filename
  @filename
end

#media_idObject

Returns the value of attribute media_id

Returns:

  • (Object)

    the current value of media_id



257
258
259
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 257

def media_id
  @media_id
end

#prefixObject

Returns the value of attribute prefix

Returns:

  • (Object)

    the current value of prefix



257
258
259
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 257

def prefix
  @prefix
end

#stream_idObject

Returns the value of attribute stream_id

Returns:

  • (Object)

    the current value of stream_id



257
258
259
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 257

def stream_id
  @stream_id
end

Class Method Details

.parse(url_string) ⇒ Object



272
273
274
275
276
277
278
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 272

def self.parse(url_string)
	# Example input: /avalon/mp4:98285a5b-603a-4a14-acc0-20e37a3514bb/b3d5663d-53f1-4f7d-b7be-b52fd5ca50a3/MVI_0057.mp4

	uri = URI.parse(url_string)
	match_data = REGEX.match(uri.path)
	MatterhornRtmpUrl.new match_data
end

Instance Method Details

#_bindingObject



280
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 280

alias_method :'_binding', :'binding'

#bindingObject



281
282
283
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 281

def binding
	_binding
end

#to_pathObject



285
286
287
# File 'lib/active_encode/engine_adapters/matterhorn_adapter.rb', line 285

def to_path
	File.join(media_id, stream_id, "#{filename}.#{extension||prefix}")
end