@@ -224,6 +224,21 @@ res = s.stream.create(request=components.NewStreamPayload(
224
224
),
225
225
],
226
226
record = False ,
227
+ recording_spec = components.RecordingSpec(
228
+ profiles = [
229
+ components.FfmpegProfile(
230
+ width = 1280 ,
231
+ name = ' 720p' ,
232
+ height = 489382 ,
233
+ bitrate = 3000000 ,
234
+ fps = 30 ,
235
+ fps_den = 1 ,
236
+ quality = 23 ,
237
+ gop = ' 2' ,
238
+ profile = components.Profile.H264_BASELINE ,
239
+ ),
240
+ ],
241
+ ),
227
242
multistream = components.Multistream(
228
243
targets = [
229
244
components.Target(
@@ -293,6 +308,21 @@ res = s.stream.create(request=components.NewStreamPayload(
293
308
),
294
309
],
295
310
record = False ,
311
+ recording_spec = components.RecordingSpec(
312
+ profiles = [
313
+ components.FfmpegProfile(
314
+ width = 1280 ,
315
+ name = ' 720p' ,
316
+ height = 489382 ,
317
+ bitrate = 3000000 ,
318
+ fps = 30 ,
319
+ fps_den = 1 ,
320
+ quality = 23 ,
321
+ gop = ' 2' ,
322
+ profile = components.Profile.H264_BASELINE ,
323
+ ),
324
+ ],
325
+ ),
296
326
multistream = components.Multistream(
297
327
targets = [
298
328
components.Target(
@@ -386,6 +416,21 @@ res = s.stream.create(request=components.NewStreamPayload(
386
416
),
387
417
],
388
418
record = False ,
419
+ recording_spec = components.RecordingSpec(
420
+ profiles = [
421
+ components.FfmpegProfile(
422
+ width = 1280 ,
423
+ name = ' 720p' ,
424
+ height = 489382 ,
425
+ bitrate = 3000000 ,
426
+ fps = 30 ,
427
+ fps_den = 1 ,
428
+ quality = 23 ,
429
+ gop = ' 2' ,
430
+ profile = components.Profile.H264_BASELINE ,
431
+ ),
432
+ ],
433
+ ),
389
434
multistream = components.Multistream(
390
435
targets = [
391
436
components.Target(
@@ -408,6 +453,192 @@ if res.stream is not None:
408
453
```
409
454
<!-- End Authentication [security] -->
410
455
456
+ <!-- Start SDK Installation [installation] -->
457
+ ## SDK Installation
458
+
459
+ ``` bash
460
+ pip install git+https://github.com/livepeer/livepeer-python.git
461
+ ```
462
+ <!-- End SDK Installation [installation] -->
463
+
464
+ <!-- Start SDK Example Usage [usage] -->
465
+ ## SDK Example Usage
466
+
467
+ ### Example
468
+
469
+ ``` python
470
+ import livepeer
471
+ from livepeer.models import components
472
+
473
+ s = livepeer.Livepeer(
474
+ api_key = " <YOUR_BEARER_TOKEN_HERE>" ,
475
+ )
476
+
477
+
478
+ res = s.stream.create(request = components.NewStreamPayload(
479
+ name = ' test_stream' ,
480
+ pull = components.Pull(
481
+ source = ' https://myservice.com/live/stream.flv' ,
482
+ headers = {
483
+ ' Authorization' : ' Bearer 123' ,
484
+ },
485
+ location = components.Location(
486
+ lat = 39.739 ,
487
+ lon = - 104.988 ,
488
+ ),
489
+ ),
490
+ playback_policy = components.PlaybackPolicy(
491
+ type = components.Type.WEBHOOK ,
492
+ webhook_id = ' 1bde4o2i6xycudoy' ,
493
+ webhook_context = {
494
+ ' streamerId' : ' my-custom-id' ,
495
+ },
496
+ refresh_interval = 600 ,
497
+ ),
498
+ profiles = [
499
+ components.FfmpegProfile(
500
+ width = 1280 ,
501
+ name = ' 720p' ,
502
+ height = 486589 ,
503
+ bitrate = 3000000 ,
504
+ fps = 30 ,
505
+ fps_den = 1 ,
506
+ quality = 23 ,
507
+ gop = ' 2' ,
508
+ profile = components.Profile.H264_BASELINE ,
509
+ ),
510
+ ],
511
+ record = False ,
512
+ recording_spec = components.RecordingSpec(
513
+ profiles = [
514
+ components.FfmpegProfile(
515
+ width = 1280 ,
516
+ name = ' 720p' ,
517
+ height = 489382 ,
518
+ bitrate = 3000000 ,
519
+ fps = 30 ,
520
+ fps_den = 1 ,
521
+ quality = 23 ,
522
+ gop = ' 2' ,
523
+ profile = components.Profile.H264_BASELINE ,
524
+ ),
525
+ ],
526
+ ),
527
+ multistream = components.Multistream(
528
+ targets = [
529
+ components.Target(
530
+ profile = ' 720p' ,
531
+ video_only = False ,
532
+ id = ' PUSH123' ,
533
+ spec = components.TargetSpec(
534
+ url = ' rtmps://live.my-service.tv/channel/secretKey' ,
535
+ name = ' My target' ,
536
+ ),
537
+ ),
538
+ ],
539
+ ),
540
+ ))
541
+
542
+ if res.stream is not None :
543
+ # handle response
544
+ pass
545
+
546
+ ```
547
+ <!-- End SDK Example Usage [usage] -->
548
+
549
+ <!-- Start Available Resources and Operations [operations] -->
550
+ ## Available Resources and Operations
551
+
552
+ ### [ stream] ( docs/sdks/stream/README.md )
553
+
554
+ * [ create] ( docs/sdks/stream/README.md#create ) - Create a stream
555
+ * [ get_all] ( docs/sdks/stream/README.md#get_all ) - Retrieve streams
556
+ * [ get] ( docs/sdks/stream/README.md#get ) - Retrieve a stream
557
+ * [ update] ( docs/sdks/stream/README.md#update ) - Update a stream
558
+ * [ delete] ( docs/sdks/stream/README.md#delete ) - Delete a stream
559
+ * [ terminate] ( docs/sdks/stream/README.md#terminate ) - Terminates a live stream
560
+ * [ start_pull] ( docs/sdks/stream/README.md#start_pull ) - Start ingest for a pull stream
561
+ * [ create_clip] ( docs/sdks/stream/README.md#create_clip ) - Create a clip
562
+ * [ get_clips] ( docs/sdks/stream/README.md#get_clips ) - Retrieve clips of a livestream
563
+ * [ add_multistream_target] ( docs/sdks/stream/README.md#add_multistream_target ) - Add a multistream target
564
+ * [ remove_multistream_target] ( docs/sdks/stream/README.md#remove_multistream_target ) - Remove a multistream target
565
+
566
+ ### [ multistream] ( docs/sdks/multistream/README.md )
567
+
568
+ * [ get_all] ( docs/sdks/multistream/README.md#get_all ) - Retrieve Multistream Targets
569
+ * [ create] ( docs/sdks/multistream/README.md#create ) - Create a multistream target
570
+ * [ get] ( docs/sdks/multistream/README.md#get ) - Retrieve a multistream target
571
+ * [ update] ( docs/sdks/multistream/README.md#update ) - Update Multistream Target
572
+ * [ delete] ( docs/sdks/multistream/README.md#delete ) - Delete a multistream target
573
+
574
+ ### [ webhook] ( docs/sdks/webhook/README.md )
575
+
576
+ * [ get_all] ( docs/sdks/webhook/README.md#get_all ) - Retrieve a Webhook
577
+ * [ create] ( docs/sdks/webhook/README.md#create ) - Create a webhook
578
+ * [ get] ( docs/sdks/webhook/README.md#get ) - Retrieve a webhook
579
+ * [ update] ( docs/sdks/webhook/README.md#update ) - Update a webhook
580
+ * [ delete] ( docs/sdks/webhook/README.md#delete ) - Delete a webhook
581
+ * [ get_logs] ( docs/sdks/webhook/README.md#get_logs ) - Retrieve webhook logs
582
+ * [ get_log] ( docs/sdks/webhook/README.md#get_log ) - Retrieve a webhook log
583
+ * [ resend_log] ( docs/sdks/webhook/README.md#resend_log ) - Resend a webhook
584
+
585
+ ### [ asset] ( docs/sdks/asset/README.md )
586
+
587
+ * [ get_all] ( docs/sdks/asset/README.md#get_all ) - Retrieve assets
588
+ * [ create] ( docs/sdks/asset/README.md#create ) - Upload an asset
589
+ * [ create_via_url] ( docs/sdks/asset/README.md#create_via_url ) - Upload asset via URL
590
+ * [ get] ( docs/sdks/asset/README.md#get ) - Retrieves an asset
591
+ * [ update] ( docs/sdks/asset/README.md#update ) - Patch an asset
592
+ * [ delete] ( docs/sdks/asset/README.md#delete ) - Delete an asset
593
+
594
+ ### [ session] ( docs/sdks/session/README.md )
595
+
596
+ * [ get_clips] ( docs/sdks/session/README.md#get_clips ) - Retrieve clips of a session
597
+ * [ get_all] ( docs/sdks/session/README.md#get_all ) - Retrieve sessions
598
+ * [ get] ( docs/sdks/session/README.md#get ) - Retrieve a session
599
+ * [ get_recorded] ( docs/sdks/session/README.md#get_recorded ) - Retrieve Recorded Sessions
600
+
601
+ ### [ room] ( docs/sdks/room/README.md )
602
+
603
+ * [ ~~ create~~ ] ( docs/sdks/room/README.md#create ) - Create a room :warning : ** Deprecated**
604
+ * [ ~~ get~~ ] ( docs/sdks/room/README.md#get ) - Retrieve a room :warning : ** Deprecated**
605
+ * [ ~~ delete~~ ] ( docs/sdks/room/README.md#delete ) - Delete a room :warning : ** Deprecated**
606
+ * [ ~~ start_egress~~ ] ( docs/sdks/room/README.md#start_egress ) - Start room RTMP egress :warning : ** Deprecated**
607
+ * [ ~~ stop_egress~~ ] ( docs/sdks/room/README.md#stop_egress ) - Stop room RTMP egress :warning : ** Deprecated**
608
+ * [ ~~ create_user~~ ] ( docs/sdks/room/README.md#create_user ) - Create a room user :warning : ** Deprecated**
609
+ * [ ~~ get_user~~ ] ( docs/sdks/room/README.md#get_user ) - Get user details :warning : ** Deprecated**
610
+ * [ ~~ update_user~~ ] ( docs/sdks/room/README.md#update_user ) - Update a room user :warning : ** Deprecated**
611
+ * [ ~~ delete_user~~ ] ( docs/sdks/room/README.md#delete_user ) - Remove a user from the room :warning : ** Deprecated**
612
+
613
+ ### [ metrics] ( docs/sdks/metrics/README.md )
614
+
615
+ * [ get_viewership] ( docs/sdks/metrics/README.md#get_viewership ) - Query viewership metrics
616
+ * [ get_creator_viewership] ( docs/sdks/metrics/README.md#get_creator_viewership ) - Query creator viewership metrics
617
+ * [ get_public_viewership] ( docs/sdks/metrics/README.md#get_public_viewership ) - Query public total views metrics
618
+ * [ get_usage] ( docs/sdks/metrics/README.md#get_usage ) - Query usage metrics
619
+
620
+ ### [ access_control] ( docs/sdks/accesscontrol/README.md )
621
+
622
+ * [ create] ( docs/sdks/accesscontrol/README.md#create ) - Create a signing key
623
+ * [ get_all] ( docs/sdks/accesscontrol/README.md#get_all ) - Retrieves signing keys
624
+ * [ delete] ( docs/sdks/accesscontrol/README.md#delete ) - Delete Signing Key
625
+ * [ get] ( docs/sdks/accesscontrol/README.md#get ) - Retrieves a signing key
626
+ * [ update] ( docs/sdks/accesscontrol/README.md#update ) - Update a signing key
627
+
628
+ ### [ task] ( docs/sdks/task/README.md )
629
+
630
+ * [ get_all] ( docs/sdks/task/README.md#get_all ) - Retrieve Tasks
631
+ * [ get] ( docs/sdks/task/README.md#get ) - Retrieve a Task
632
+
633
+ ### [ transcode] ( docs/sdks/transcode/README.md )
634
+
635
+ * [ create] ( docs/sdks/transcode/README.md#create ) - Transcode a video
636
+
637
+ ### [ playback] ( docs/sdks/playback/README.md )
638
+
639
+ * [ get] ( docs/sdks/playback/README.md#get ) - Retrieve Playback Info
640
+ <!-- End Available Resources and Operations [operations] -->
641
+
411
642
<!-- Placeholder for Future Speakeasy SDK Sections -->
412
643
413
644
0 commit comments