Class: Kaltura::KalturaLiveStreamService

Inherits:
KalturaServiceBase show all
Defined in:
lib/kaltura_client.rb

Overview

Live Stream service lets you manage live stream entries

Instance Attribute Summary

Attributes inherited from KalturaServiceBase

#client

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ KalturaLiveStreamService

Returns a new instance of KalturaLiveStreamService.



2464
2465
2466
# File 'lib/kaltura_client.rb', line 2464

def initialize(client)
  super(client)
end

Instance Method Details

#add(live_stream_entry, source_type = KalturaNotImplemented) ⇒ KalturaLiveStreamEntry

Adds new live stream entry. The entry will be queued for provision.



2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
# File 'lib/kaltura_client.rb', line 2471

def add(live_stream_entry, source_type=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'liveStreamEntry', live_stream_entry)
  client.add_param(kparams, 'sourceType', source_type)
  client.queue_service_action_call('livestream', 'add', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#add_live_stream_push_publish_configuration(entry_id, protocol, url = KalturaNotImplemented, live_stream_configuration = KalturaNotImplemented) ⇒ KalturaLiveStreamEntry

Add new pushPublish configuration to entry



2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
# File 'lib/kaltura_client.rb', line 2484

def add_live_stream_push_publish_configuration(entry_id, protocol, url=KalturaNotImplemented, live_stream_configuration=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'protocol', protocol)
  client.add_param(kparams, 'url', url)
  client.add_param(kparams, 'liveStreamConfiguration', live_stream_configuration)
  client.queue_service_action_call('livestream', 'addLiveStreamPushPublishConfiguration', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#allocate_conference_room(entry_id, env = '') ⇒ KalturaRoomDetails

Allocates a conference room or returns ones that has already been allocated

Returns:



2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
# File 'lib/kaltura_client.rb', line 2499

def allocate_conference_room(entry_id, env='')
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'env', env)
  client.queue_service_action_call('livestream', 'allocateConferenceRoom', 'KalturaRoomDetails', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#append_recording(entry_id, asset_id, media_server_index, resource, duration, is_last_chunk = false) ⇒ KalturaLiveEntry

Append recorded video to live entry

Returns:



2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
# File 'lib/kaltura_client.rb', line 2512

def append_recording(entry_id, asset_id, media_server_index, resource, duration, is_last_chunk=false)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'assetId', asset_id)
  client.add_param(kparams, 'mediaServerIndex', media_server_index)
  client.add_param(kparams, 'resource', resource)
  client.add_param(kparams, 'duration', duration)
  client.add_param(kparams, 'isLastChunk', is_last_chunk)
  client.queue_service_action_call('livestream', 'appendRecording', 'KalturaLiveEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#archive(live_entry_id, vod_entry_id) ⇒ bool

Archive a live entry which was recorded

Returns:

  • (bool)


2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
# File 'lib/kaltura_client.rb', line 2529

def archive(live_entry_id, vod_entry_id)
  kparams = {}
  client.add_param(kparams, 'liveEntryId', live_entry_id)
  client.add_param(kparams, 'vodEntryId', vod_entry_id)
  client.queue_service_action_call('livestream', 'archive', 'bool', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#authenticate(entry_id, token, hostname = KalturaNotImplemented, media_server_index = KalturaNotImplemented, application_name = KalturaNotImplemented) ⇒ KalturaLiveStreamEntry

Authenticate live-stream entry against stream token and partner limitations



2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
# File 'lib/kaltura_client.rb', line 2542

def authenticate(entry_id, token, hostname=KalturaNotImplemented, media_server_index=KalturaNotImplemented, application_name=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'token', token)
  client.add_param(kparams, 'hostname', hostname)
  client.add_param(kparams, 'mediaServerIndex', media_server_index)
  client.add_param(kparams, 'applicationName', application_name)
  client.queue_service_action_call('livestream', 'authenticate', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#create_periodic_sync_points(entry_id, interval, duration) ⇒ Object

Creates periodic metadata sync-point events on a live stream

Returns:



2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
# File 'lib/kaltura_client.rb', line 2558

def create_periodic_sync_points(entry_id, interval, duration)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'interval', interval)
  client.add_param(kparams, 'duration', duration)
  client.queue_service_action_call('livestream', 'createPeriodicSyncPoints', '', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#create_recorded_entry(entry_id, media_server_index, live_entry_status) ⇒ KalturaLiveEntry

Create recorded entry id if it doesn’t exist and make sure it happens on the DC that the live entry was created on.

Returns:



2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
# File 'lib/kaltura_client.rb', line 2572

def create_recorded_entry(entry_id, media_server_index, live_entry_status)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'mediaServerIndex', media_server_index)
  client.add_param(kparams, 'liveEntryStatus', live_entry_status)
  client.queue_service_action_call('livestream', 'createRecordedEntry', 'KalturaLiveEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#delete(entry_id) ⇒ Object

Delete a live stream entry.

Returns:



2586
2587
2588
2589
2590
2591
2592
2593
2594
# File 'lib/kaltura_client.rb', line 2586

def delete(entry_id)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.queue_service_action_call('livestream', 'delete', '', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#finish_conf(entry_id, server_node_id = KalturaNotImplemented) ⇒ bool

When the conf is finished this API should be called.

Returns:

  • (bool)


2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
# File 'lib/kaltura_client.rb', line 2598

def finish_conf(entry_id, server_node_id=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'serverNodeId', server_node_id)
  client.queue_service_action_call('livestream', 'finishConf', 'bool', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#get(entry_id, version = -1)) ⇒ KalturaLiveStreamEntry

Get live stream entry by ID.



2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
# File 'lib/kaltura_client.rb', line 2611

def get(entry_id, version=-1)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'version', version)
  client.queue_service_action_call('livestream', 'get', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#get_details(id) ⇒ KalturaLiveStreamDetails

Delivering the status of a live stream (on-air/offline) if it is possible



2624
2625
2626
2627
2628
2629
2630
2631
2632
# File 'lib/kaltura_client.rb', line 2624

def get_details(id)
  kparams = {}
  client.add_param(kparams, 'id', id)
  client.queue_service_action_call('livestream', 'getDetails', 'KalturaLiveStreamDetails', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#is_live(id, protocol = KalturaNotImplemented) ⇒ bool

Delivering the status of a live stream (on-air/offline) if it is possible

Returns:

  • (bool)


2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
# File 'lib/kaltura_client.rb', line 2636

def is_live(id, protocol=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'id', id)
  client.add_param(kparams, 'protocol', protocol)
  client.queue_service_action_call('livestream', 'isLive', 'bool', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#list(filter = KalturaNotImplemented, pager = KalturaNotImplemented) ⇒ KalturaLiveStreamListResponse

List live stream entries by filter with paging support.



2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
# File 'lib/kaltura_client.rb', line 2649

def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'filter', filter)
  client.add_param(kparams, 'pager', pager)
  client.queue_service_action_call('livestream', 'list', 'KalturaLiveStreamListResponse', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#regenerate_stream_token(entry_id) ⇒ KalturaLiveEntry

Regenerate new secure token for liveStream

Returns:



2662
2663
2664
2665
2666
2667
2668
2669
2670
# File 'lib/kaltura_client.rb', line 2662

def regenerate_stream_token(entry_id)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.queue_service_action_call('livestream', 'regenerateStreamToken', 'KalturaLiveEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#register_conf(entry_id) ⇒ bool

Mark that the conference has actually started

Returns:

  • (bool)


2674
2675
2676
2677
2678
2679
2680
2681
2682
# File 'lib/kaltura_client.rb', line 2674

def register_conf(entry_id)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.queue_service_action_call('livestream', 'registerConf', 'bool', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#register_media_server(entry_id, hostname, media_server_index, application_name = KalturaNotImplemented, live_entry_status = 1, should_create_recorded_entry = true) ⇒ KalturaLiveEntry

Register media server to live entry

Returns:



2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
# File 'lib/kaltura_client.rb', line 2686

def register_media_server(entry_id, hostname, media_server_index, application_name=KalturaNotImplemented, live_entry_status=1, should_create_recorded_entry=true)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'hostname', hostname)
  client.add_param(kparams, 'mediaServerIndex', media_server_index)
  client.add_param(kparams, 'applicationName', application_name)
  client.add_param(kparams, 'liveEntryStatus', live_entry_status)
  client.add_param(kparams, 'shouldCreateRecordedEntry', should_create_recorded_entry)
  client.queue_service_action_call('livestream', 'registerMediaServer', 'KalturaLiveEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#remove_live_stream_push_publish_configuration(entry_id, protocol) ⇒ KalturaLiveStreamEntry

Remove push publish configuration from entry



2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
# File 'lib/kaltura_client.rb', line 2703

def remove_live_stream_push_publish_configuration(entry_id, protocol)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'protocol', protocol)
  client.queue_service_action_call('livestream', 'removeLiveStreamPushPublishConfiguration', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#set_recorded_content(entry_id, media_server_index, resource, duration, recorded_entry_id = KalturaNotImplemented, flavor_params_id = KalturaNotImplemented) ⇒ KalturaLiveEntry

Set recorded video to live entry

Returns:



2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
# File 'lib/kaltura_client.rb', line 2716

def set_recorded_content(entry_id, media_server_index, resource, duration, recorded_entry_id=KalturaNotImplemented, flavor_params_id=KalturaNotImplemented)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'mediaServerIndex', media_server_index)
  client.add_param(kparams, 'resource', resource)
  client.add_param(kparams, 'duration', duration)
  client.add_param(kparams, 'recordedEntryId', recorded_entry_id)
  client.add_param(kparams, 'flavorParamsId', flavor_params_id)
  client.queue_service_action_call('livestream', 'setRecordedContent', 'KalturaLiveEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#unregister_media_server(entry_id, hostname, media_server_index) ⇒ KalturaLiveEntry

Unregister media server from live entry

Returns:



2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
# File 'lib/kaltura_client.rb', line 2733

def unregister_media_server(entry_id, hostname, media_server_index)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'hostname', hostname)
  client.add_param(kparams, 'mediaServerIndex', media_server_index)
  client.queue_service_action_call('livestream', 'unregisterMediaServer', 'KalturaLiveEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#update(entry_id, live_stream_entry) ⇒ KalturaLiveStreamEntry

Update live stream entry. Only the properties that were set will be updated.



2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
# File 'lib/kaltura_client.rb', line 2747

def update(entry_id, live_stream_entry)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'liveStreamEntry', live_stream_entry)
  client.queue_service_action_call('livestream', 'update', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#update_offline_thumbnail_from_url(entry_id, url) ⇒ KalturaLiveStreamEntry

Update entry thumbnail using url



2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
# File 'lib/kaltura_client.rb', line 2760

def update_offline_thumbnail_from_url(entry_id, url)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kparams, 'url', url)
  client.queue_service_action_call('livestream', 'updateOfflineThumbnailFromUrl', 'KalturaLiveStreamEntry', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#update_offline_thumbnail_jpeg(entry_id, file_data) ⇒ KalturaLiveStreamEntry

Update live stream entry thumbnail using a raw jpeg file



2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
# File 'lib/kaltura_client.rb', line 2773

def update_offline_thumbnail_jpeg(entry_id, file_data)
  kparams = {}
  kfiles = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.add_param(kfiles, 'fileData', file_data)
  client.queue_service_action_call('livestream', 'updateOfflineThumbnailJpeg', 'KalturaLiveStreamEntry', kparams, kfiles)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end

#validate_registered_media_servers(entry_id) ⇒ Object

Validates all registered media servers

Returns:



2787
2788
2789
2790
2791
2792
2793
2794
2795
# File 'lib/kaltura_client.rb', line 2787

def validate_registered_media_servers(entry_id)
  kparams = {}
  client.add_param(kparams, 'entryId', entry_id)
  client.queue_service_action_call('livestream', 'validateRegisteredMediaServers', '', kparams)
  if (client.is_multirequest)
    return nil
  end
  return client.do_queue()
end