Class: WscSdk::Templates::LiveStream

Inherits:
ModelTemplate show all
Defined in:
lib/wsc_sdk/templates/live_stream.rb

Overview

Templates for generating Live Streams

Class Method Summary collapse

Methods inherited from ModelTemplate

merge

Class Method Details

.gocoder(name, width, height, modifiers = {}) ⇒ Object

A template to build a Wowza GoCoder Live Stream with multi-bitrate delivery

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



80
81
82
83
84
85
86
87
88
89
# File 'lib/wsc_sdk/templates/live_stream.rb', line 80

def self.gocoder(name, width, height, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::WOWZA_GOCODER,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PUSH
  }, modifiers)
end

.ip_camera(name, width, height, source_url, modifiers = {}) ⇒ Object

A template to build an IP Camera Live Stream with with RTSP/PULL delivery.

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • source_url (String)

    The source url of the IP camera.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



110
111
112
113
114
115
116
117
118
119
120
# File 'lib/wsc_sdk/templates/live_stream.rb', line 110

def self.ip_camera(name, width, height, source_url, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::IP_CAMERA,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height,
    source_url:                 source_url,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PULL
  }, modifiers)
end

.rtmp_pull(name, width, height, source_url, modifiers = {}) ⇒ Object

A template to build an Other RTMP/PULL Live Stream

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • source_url (String)

    The source url of the IP camera.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/wsc_sdk/templates/live_stream.rb', line 164

def self.rtmp_pull(name, width, height, source_url, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::OTHER_RTMP,
    protocol:                   WscSdk::Enums::Protocol::RTMP,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PULL,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height,
    source_url:                 source_url
  }, modifiers)
end

.rtmp_push(name, width, height, modifiers = {}) ⇒ Object

A template to build an Other RTMP/PUSH Live Stream

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



136
137
138
139
140
141
142
143
144
145
# File 'lib/wsc_sdk/templates/live_stream.rb', line 136

def self.rtmp_push(name, width, height, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::OTHER_RTMP,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PUSH,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height
  }, modifiers)
end

.rtsp_pull(name, width, height, source_url, modifiers = {}) ⇒ Object

A template to build an Other RTSP/PULL Live Stream

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • source_url (String)

    The source url of the IP camera.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



220
221
222
223
224
225
226
227
228
229
230
# File 'lib/wsc_sdk/templates/live_stream.rb', line 220

def self.rtsp_pull(name, width, height, source_url, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::OTHER_RTSP,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PULL,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height,
    source_url:                 source_url
  }, modifiers)
end

.rtsp_push(name, width, height, modifiers = {}) ⇒ Object

A template to build an Other RTSP/PUSH Live Stream

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



192
193
194
195
196
197
198
199
200
201
# File 'lib/wsc_sdk/templates/live_stream.rb', line 192

def self.rtsp_push(name, width, height, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::OTHER_RTSP,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PUSH,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height
  }, modifiers)
end

.wse_multi_bitrate(name, width, height, modifiers = {}) ⇒ Object

A template to build a Wowza Streaming Engine Live Stream with single-bitrate delivery

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/wsc_sdk/templates/live_stream.rb', line 53

def self.wse_multi_bitrate(name, width, height, modifiers={})
  self.merge({
    name:                       name,
    encoder:                    WscSdk::Enums::Encoder::WOWZA_STREAMING_ENGINE,
    broadcast_location:         WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:         width,
    aspect_ratio_height:        height,
    delivery_type:              WscSdk::Enums::DeliveryType::MULTI_BITRATE,
    delivery_method:            WscSdk::Enums::DeliveryMethod::PUSH
  }, modifiers)
end

.wse_single_bitrate(name, width, height, modifiers = {}) ⇒ Object

A template to build a Wowza Streaming Engine Live Stream with single-bitrate delivery

Parameters:

  • name (String)

    The name of the live stream.

  • width (Integer)

    The width of the largest rendition of the stream.

  • height (Integer)

    The height of the largest rendition of the stream.

  • modifiers (Hash) (defaults to: {})

    A hash of key/value modifiers to change data in the template.



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/wsc_sdk/templates/live_stream.rb', line 26

def self.wse_single_bitrate(name, width, height, modifiers={})
  self.merge({
    name:                   name,
    encoder:                WscSdk::Enums::Encoder::WOWZA_STREAMING_ENGINE,
    broadcast_location:     WscSdk::Enums::BroadcastLocation::US_WEST_CALIFORNIA,
    aspect_ratio_width:     width,
    aspect_ratio_height:    height,
    delivery_type:          WscSdk::Enums::DeliveryType::SINGLE_BITRATE,
    delivery_method:        WscSdk::Enums::DeliveryMethod::PUSH
  }, modifiers)
end