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



2449
2450
2451
# File 'lib/kaltura_client.rb', line 2449

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.



2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
# File 'lib/kaltura_client.rb', line 2456

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



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

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

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

Append recorded video to live entry



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

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) ⇒ bool

Archive a live entry which was recorded



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

def archive(live_entry_id)
  kparams = {}
  client.add_param(kparams, 'liveEntryId', live_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



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

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



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

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.



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

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.



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

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

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

Get live stream entry by ID.



2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
# File 'lib/kaltura_client.rb', line 2569

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



2582
2583
2584
2585
2586
2587
2588
2589
2590
# File 'lib/kaltura_client.rb', line 2582

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) ⇒ bool

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



2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
# File 'lib/kaltura_client.rb', line 2594

def is_live(id, protocol)
  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.



2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
# File 'lib/kaltura_client.rb', line 2607

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



2620
2621
2622
2623
2624
2625
2626
2627
2628
# File 'lib/kaltura_client.rb', line 2620

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_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



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

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



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

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



2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
# File 'lib/kaltura_client.rb', line 2662

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



2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
# File 'lib/kaltura_client.rb', line 2679

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.



2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
# File 'lib/kaltura_client.rb', line 2693

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



2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
# File 'lib/kaltura_client.rb', line 2706

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



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

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



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

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