gcore 0.13.0__py3-none-any.whl → 0.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/__init__.py +3 -1
- gcore/_base_client.py +9 -9
- gcore/_client.py +25 -10
- gcore/_models.py +10 -4
- gcore/_qs.py +7 -7
- gcore/_types.py +18 -11
- gcore/_utils/_transform.py +2 -2
- gcore/_utils/_utils.py +4 -4
- gcore/_version.py +1 -1
- gcore/pagination.py +137 -0
- gcore/resources/__init__.py +14 -0
- gcore/resources/cdn/__init__.py +201 -0
- gcore/resources/cdn/audit_log.py +406 -0
- gcore/resources/cdn/cdn.py +957 -0
- gcore/resources/cdn/certificates.py +1062 -0
- gcore/resources/cdn/ip_ranges.py +224 -0
- gcore/resources/cdn/logs/__init__.py +33 -0
- gcore/resources/cdn/logs/logs.py +1424 -0
- gcore/resources/cdn/logs/settings.py +1081 -0
- gcore/resources/cdn/logs_uploader/__init__.py +61 -0
- gcore/resources/cdn/logs_uploader/configs.py +868 -0
- gcore/resources/cdn/logs_uploader/logs_uploader.py +166 -0
- gcore/resources/cdn/logs_uploader/policies.py +1060 -0
- gcore/resources/cdn/logs_uploader/targets.py +811 -0
- gcore/resources/cdn/metrics.py +419 -0
- gcore/resources/cdn/network_capacity.py +139 -0
- gcore/resources/cdn/origin_groups.py +1496 -0
- gcore/resources/cdn/resources/__init__.py +47 -0
- gcore/resources/cdn/resources/resources.py +2060 -0
- gcore/resources/cdn/resources/rules.py +1027 -0
- gcore/resources/cdn/resources/shield.py +259 -0
- gcore/resources/cdn/rule_templates.py +883 -0
- gcore/resources/cdn/shields.py +139 -0
- gcore/resources/cdn/statistics.py +1408 -0
- gcore/resources/cdn/trusted_ca_certificates.py +592 -0
- gcore/resources/cloud/audit_logs.py +33 -29
- gcore/resources/cloud/baremetal/flavors.py +21 -17
- gcore/resources/cloud/baremetal/images.py +19 -15
- gcore/resources/cloud/baremetal/servers.py +141 -119
- gcore/resources/cloud/billing_reservations.py +41 -33
- gcore/resources/cloud/cloud.py +24 -0
- gcore/resources/cloud/cost_reports.py +149 -119
- gcore/resources/cloud/file_shares/access_rules.py +25 -13
- gcore/resources/cloud/file_shares/file_shares.py +107 -71
- gcore/resources/cloud/floating_ips.py +101 -59
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +13 -9
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +275 -65
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +69 -53
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +9 -5
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +151 -127
- gcore/resources/cloud/inference/api_keys.py +51 -31
- gcore/resources/cloud/inference/applications/deployments.py +49 -31
- gcore/resources/cloud/inference/applications/templates.py +17 -9
- gcore/resources/cloud/inference/deployments/deployments.py +171 -139
- gcore/resources/cloud/inference/deployments/logs.py +17 -13
- gcore/resources/cloud/inference/flavors.py +21 -13
- gcore/resources/cloud/inference/inference.py +9 -5
- gcore/resources/cloud/inference/registry_credentials.py +45 -25
- gcore/resources/cloud/inference/secrets.py +45 -25
- gcore/resources/cloud/instances/flavors.py +17 -13
- gcore/resources/cloud/instances/images.py +153 -129
- gcore/resources/cloud/instances/instances.py +287 -213
- gcore/resources/cloud/instances/interfaces.py +165 -161
- gcore/resources/cloud/instances/metrics.py +9 -5
- gcore/resources/cloud/ip_ranges.py +25 -15
- gcore/resources/cloud/k8s/clusters/clusters.py +151 -87
- gcore/resources/cloud/k8s/clusters/nodes.py +19 -11
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +19 -11
- gcore/resources/cloud/k8s/clusters/pools/pools.py +83 -59
- gcore/resources/cloud/k8s/flavors.py +13 -9
- gcore/resources/cloud/k8s/k8s.py +9 -5
- gcore/resources/cloud/load_balancers/flavors.py +11 -7
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +103 -83
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +77 -57
- gcore/resources/cloud/load_balancers/listeners.py +125 -105
- gcore/resources/cloud/load_balancers/load_balancers.py +155 -123
- gcore/resources/cloud/load_balancers/metrics.py +9 -5
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +25 -17
- gcore/resources/cloud/load_balancers/pools/members.py +31 -23
- gcore/resources/cloud/load_balancers/pools/pools.py +155 -129
- gcore/resources/cloud/load_balancers/statuses.py +17 -9
- gcore/resources/cloud/networks/networks.py +79 -55
- gcore/resources/cloud/networks/routers.py +75 -47
- gcore/resources/cloud/networks/subnets.py +109 -87
- gcore/resources/cloud/placement_groups.py +33 -17
- gcore/resources/cloud/projects.py +53 -41
- gcore/resources/cloud/quotas/quotas.py +25 -13
- gcore/resources/cloud/quotas/requests.py +41 -25
- gcore/resources/cloud/regions.py +25 -23
- gcore/resources/cloud/registries/artifacts.py +17 -9
- gcore/resources/cloud/registries/registries.py +55 -29
- gcore/resources/cloud/registries/repositories.py +17 -9
- gcore/resources/cloud/registries/tags.py +9 -5
- gcore/resources/cloud/registries/users.py +65 -35
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +233 -108
- gcore/resources/cloud/reserved_fixed_ips/vip.py +45 -25
- gcore/resources/cloud/secrets.py +43 -27
- gcore/resources/cloud/security_groups/rules.py +55 -43
- gcore/resources/cloud/security_groups/security_groups.py +79 -47
- gcore/resources/cloud/ssh_keys.py +51 -31
- gcore/resources/cloud/tasks.py +57 -45
- gcore/resources/cloud/usage_reports.py +27 -23
- gcore/resources/cloud/users/role_assignments.py +49 -33
- gcore/resources/cloud/volumes.py +237 -201
- gcore/resources/dns/dns.py +17 -13
- gcore/resources/dns/locations.py +29 -17
- gcore/resources/dns/metrics.py +13 -9
- gcore/resources/dns/pickers/pickers.py +5 -5
- gcore/resources/dns/pickers/presets.py +9 -5
- gcore/resources/dns/zones/dnssec.py +19 -11
- gcore/resources/dns/zones/rrsets.py +149 -91
- gcore/resources/dns/zones/zones.py +245 -187
- gcore/resources/fastedge/apps/apps.py +105 -89
- gcore/resources/fastedge/apps/logs.py +25 -21
- gcore/resources/fastedge/binaries.py +33 -17
- gcore/resources/fastedge/fastedge.py +5 -5
- gcore/resources/fastedge/kv_stores.py +43 -31
- gcore/resources/fastedge/secrets.py +69 -45
- gcore/resources/fastedge/statistics.py +25 -17
- gcore/resources/fastedge/templates.py +59 -39
- gcore/resources/iam/api_tokens.py +47 -29
- gcore/resources/iam/iam.py +5 -5
- gcore/resources/iam/users.py +97 -65
- gcore/resources/security/bgp_announces.py +27 -19
- gcore/resources/security/events.py +23 -19
- gcore/resources/security/profile_templates.py +9 -5
- gcore/resources/security/profiles.py +69 -45
- gcore/resources/storage/buckets/buckets.py +37 -25
- gcore/resources/storage/buckets/cors.py +19 -11
- gcore/resources/storage/buckets/lifecycle.py +19 -11
- gcore/resources/storage/buckets/policy.py +25 -13
- gcore/resources/storage/credentials.py +19 -15
- gcore/resources/storage/locations.py +13 -9
- gcore/resources/storage/statistics.py +39 -31
- gcore/resources/storage/storage.py +105 -69
- gcore/resources/streaming/ai_tasks.py +307 -197
- gcore/resources/streaming/broadcasts.py +63 -35
- gcore/resources/streaming/directories.py +65 -39
- gcore/resources/streaming/players.py +47 -31
- gcore/resources/streaming/playlists.py +189 -123
- gcore/resources/streaming/quality_sets.py +69 -39
- gcore/resources/streaming/restreams.py +47 -27
- gcore/resources/streaming/statistics.py +613 -407
- gcore/resources/streaming/streams/overlays.py +107 -67
- gcore/resources/streaming/streams/streams.py +403 -263
- gcore/resources/streaming/videos/subtitles.py +131 -75
- gcore/resources/streaming/videos/videos.py +429 -279
- gcore/resources/waap/advanced_rules.py +9 -5
- gcore/resources/waap/custom_page_sets.py +99 -75
- gcore/resources/waap/domains/advanced_rules.py +157 -99
- gcore/resources/waap/domains/api_discovery.py +71 -47
- gcore/resources/waap/domains/api_path_groups.py +9 -5
- gcore/resources/waap/domains/api_paths.py +79 -83
- gcore/resources/waap/domains/custom_rules.py +89 -59
- gcore/resources/waap/domains/domains.py +59 -41
- gcore/resources/waap/domains/firewall_rules.py +83 -55
- gcore/resources/waap/domains/insight_silences.py +59 -39
- gcore/resources/waap/domains/insights.py +39 -27
- gcore/resources/waap/domains/settings.py +21 -13
- gcore/resources/waap/domains/statistics.py +99 -75
- gcore/resources/waap/insights.py +23 -21
- gcore/resources/waap/ip_info/ip_info.py +65 -33
- gcore/resources/waap/ip_info/metrics.py +11 -7
- gcore/resources/waap/organizations.py +17 -13
- gcore/resources/waap/statistics.py +9 -5
- gcore/resources/waap/tags.py +17 -17
- gcore/resources/waap/waap.py +5 -5
- gcore/types/cdn/__init__.py +80 -0
- gcore/types/cdn/audit_log_list_params.py +73 -0
- gcore/types/cdn/ca_certificate.py +53 -0
- gcore/types/cdn/ca_certificate_list.py +10 -0
- gcore/types/cdn/cdn_account.py +86 -0
- gcore/types/cdn/cdn_account_limits.py +27 -0
- gcore/types/cdn/cdn_audit_log_entry.py +66 -0
- gcore/types/cdn/cdn_available_features.py +46 -0
- gcore/types/cdn/cdn_list_purge_statuses_params.py +67 -0
- gcore/types/cdn/cdn_log_entry.py +70 -0
- gcore/types/cdn/cdn_metrics.py +22 -0
- gcore/types/cdn/cdn_metrics_groups.py +13 -0
- gcore/types/cdn/cdn_metrics_values.py +19 -0
- gcore/types/cdn/cdn_resource.py +1997 -0
- gcore/types/cdn/cdn_resource_list.py +10 -0
- gcore/types/cdn/cdn_update_account_params.py +15 -0
- gcore/types/cdn/certificate_create_params.py +51 -0
- gcore/types/cdn/certificate_get_status_params.py +14 -0
- gcore/types/cdn/certificate_list_params.py +29 -0
- gcore/types/cdn/certificate_replace_params.py +39 -0
- gcore/types/cdn/log_download_params.py +279 -0
- gcore/types/cdn/log_list_params.py +273 -0
- gcore/types/cdn/logs/__init__.py +7 -0
- gcore/types/cdn/logs/log_settings.py +172 -0
- gcore/types/cdn/logs/setting_create_params.py +200 -0
- gcore/types/cdn/logs/setting_update_params.py +200 -0
- gcore/types/cdn/logs_aggregated_stats.py +23 -0
- gcore/types/cdn/logs_uploader/__init__.py +23 -0
- gcore/types/cdn/logs_uploader/config_create_params.py +32 -0
- gcore/types/cdn/logs_uploader/config_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/config_replace_params.py +32 -0
- gcore/types/cdn/logs_uploader/config_update_params.py +32 -0
- gcore/types/cdn/logs_uploader/logs_uploader_config.py +51 -0
- gcore/types/cdn/logs_uploader/logs_uploader_config_list.py +10 -0
- gcore/types/cdn/logs_uploader/logs_uploader_policy.py +73 -0
- gcore/types/cdn/logs_uploader/logs_uploader_policy_list.py +10 -0
- gcore/types/cdn/logs_uploader/logs_uploader_target.py +236 -0
- gcore/types/cdn/logs_uploader/logs_uploader_target_list.py +10 -0
- gcore/types/cdn/logs_uploader/policy_create_params.py +61 -0
- gcore/types/cdn/logs_uploader/policy_list_fields_response.py +8 -0
- gcore/types/cdn/logs_uploader/policy_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/policy_replace_params.py +61 -0
- gcore/types/cdn/logs_uploader/policy_update_params.py +61 -0
- gcore/types/cdn/logs_uploader/target_create_params.py +249 -0
- gcore/types/cdn/logs_uploader/target_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/target_replace_params.py +249 -0
- gcore/types/cdn/logs_uploader/target_update_params.py +249 -0
- gcore/types/cdn/logs_uploader_validation.py +23 -0
- gcore/types/cdn/metric_list_params.py +168 -0
- gcore/types/cdn/network_capacity.py +22 -0
- gcore/types/cdn/origin_group_create_params.py +184 -0
- gcore/types/cdn/origin_group_list_params.py +24 -0
- gcore/types/cdn/origin_group_replace_params.py +190 -0
- gcore/types/cdn/origin_group_update_params.py +190 -0
- gcore/types/cdn/origin_groups.py +212 -0
- gcore/types/cdn/origin_groups_list.py +10 -0
- gcore/types/cdn/public_ip_list.py +15 -0
- gcore/types/cdn/public_network_list.py +15 -0
- gcore/types/cdn/purge_status.py +55 -0
- gcore/types/cdn/resource_aggregated_stats.py +80 -0
- gcore/types/cdn/resource_create_params.py +1845 -0
- gcore/types/cdn/resource_list_params.py +107 -0
- gcore/types/cdn/resource_prefetch_params.py +17 -0
- gcore/types/cdn/resource_purge_params.py +71 -0
- gcore/types/cdn/resource_replace_params.py +1823 -0
- gcore/types/cdn/resource_update_params.py +1814 -0
- gcore/types/cdn/resource_usage_stats.py +111 -0
- gcore/types/cdn/resources/__init__.py +11 -0
- gcore/types/cdn/resources/cdn_resource_rule.py +1715 -0
- gcore/types/cdn/resources/origin_shielding.py +15 -0
- gcore/types/cdn/resources/rule_create_params.py +1672 -0
- gcore/types/cdn/resources/rule_list_response.py +10 -0
- gcore/types/cdn/resources/rule_replace_params.py +1674 -0
- gcore/types/cdn/resources/rule_update_params.py +1674 -0
- gcore/types/cdn/resources/shield_replace_params.py +16 -0
- gcore/types/cdn/rule_template.py +1686 -0
- gcore/types/cdn/rule_template_create_params.py +1656 -0
- gcore/types/cdn/rule_template_list.py +10 -0
- gcore/types/cdn/rule_template_replace_params.py +1656 -0
- gcore/types/cdn/rule_template_update_params.py +1656 -0
- gcore/types/cdn/shield_aggregated_stats.py +23 -0
- gcore/types/cdn/shield_list_response.py +25 -0
- gcore/types/cdn/ssl_detail.py +62 -0
- gcore/types/cdn/ssl_detail_list.py +10 -0
- gcore/types/cdn/ssl_request_status.py +135 -0
- gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +42 -0
- gcore/types/cdn/statistic_get_logs_usage_series_params.py +35 -0
- gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +151 -0
- gcore/types/cdn/statistic_get_resource_usage_series_params.py +131 -0
- gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +42 -0
- gcore/types/cdn/statistic_get_shield_usage_series_params.py +25 -0
- gcore/types/cdn/trusted_ca_certificate_create_params.py +23 -0
- gcore/types/cdn/trusted_ca_certificate_list_params.py +29 -0
- gcore/types/cdn/trusted_ca_certificate_replace_params.py +15 -0
- gcore/types/cdn/usage_series_stats.py +31 -0
- gcore/types/cloud/__init__.py +2 -0
- gcore/types/cloud/file_share.py +4 -0
- gcore/types/cloud/file_share_create_params.py +20 -0
- gcore/types/cloud/file_share_update_params.py +40 -3
- gcore/types/cloud/floating_ip_update_params.py +3 -1
- gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_flavor.py +12 -0
- gcore/types/cloud/inference/inference_deployment.py +3 -1
- gcore/types/cloud/instance_create_params.py +3 -1
- gcore/types/cloud/k8s/cluster_create_params.py +46 -4
- gcore/types/cloud/k8s/cluster_update_params.py +60 -6
- gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
- gcore/types/cloud/k8s/k8s_cluster.py +40 -3
- gcore/types/cloud/load_balancer_update_params.py +3 -1
- gcore/types/cloud/network_update_params.py +3 -1
- gcore/types/cloud/networks/subnet_update_params.py +3 -1
- gcore/types/cloud/quota_get_all_response.py +8 -8
- gcore/types/cloud/quota_get_by_region_response.py +8 -8
- gcore/types/cloud/quotas/request_create_params.py +4 -4
- gcore/types/cloud/quotas/request_get_response.py +4 -4
- gcore/types/cloud/quotas/request_list_response.py +4 -4
- gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
- gcore/types/cloud/registries/user_create_params.py +5 -3
- gcore/types/cloud/registry_create_params.py +5 -3
- gcore/types/cloud/reserved_fixed_ip_update_params.py +16 -0
- gcore/types/cloud/security_group_update_params.py +3 -1
- gcore/types/cloud/ssh_key_created.py +6 -3
- gcore/types/cloud/volume_update_params.py +3 -1
- gcore/types/dns/zone_get_statistics_params.py +12 -9
- gcore/types/dns/zone_get_statistics_response.py +3 -1
- gcore/types/dns/zone_import_params.py +21 -15
- gcore/types/dns/zones/dns_output_rrset.py +7 -3
- gcore/types/iam/account_overview.py +31 -28
- gcore/types/iam/api_token.py +24 -24
- gcore/types/iam/api_token_create_params.py +2 -1
- gcore/types/iam/api_token_list.py +24 -24
- gcore/types/iam/user.py +7 -2
- gcore/types/iam/user_detailed.py +22 -17
- gcore/types/iam/user_invite.py +2 -4
- gcore/types/iam/user_invite_params.py +4 -1
- gcore/types/iam/user_update.py +22 -17
- gcore/types/iam/user_update_params.py +7 -2
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
- gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
- gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
- gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
- gcore/types/streaming/ai_task.py +20 -11
- gcore/types/streaming/ai_task_create_params.py +20 -11
- gcore/types/streaming/ai_task_get_response.py +5 -4
- gcore/types/streaming/ai_task_list_params.py +11 -5
- gcore/types/streaming/clip.py +33 -22
- gcore/types/streaming/create_video_param.py +75 -43
- gcore/types/streaming/playlist.py +7 -5
- gcore/types/streaming/playlist_create_params.py +7 -5
- gcore/types/streaming/playlist_update_params.py +7 -5
- gcore/types/streaming/playlist_video.py +75 -43
- gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
- gcore/types/streaming/stream.py +207 -136
- gcore/types/streaming/stream_create_clip_params.py +33 -22
- gcore/types/streaming/stream_create_params.py +41 -24
- gcore/types/streaming/stream_update_params.py +41 -24
- gcore/types/streaming/video.py +138 -76
- gcore/types/streaming/video_list_params.py +4 -2
- gcore/types/streaming/video_update_params.py +75 -43
- gcore/types/waap/domain_update_params.py +2 -2
- gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
- gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
- gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
- gcore/types/waap/domains/api_path_create_params.py +0 -3
- gcore/types/waap/domains/api_path_update_params.py +1 -3
- gcore/types/waap/domains/custom_rule_create_params.py +36 -35
- gcore/types/waap/domains/custom_rule_update_params.py +31 -33
- gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
- gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
- gcore/types/waap/domains/waap_advanced_rule.py +17 -9
- gcore/types/waap/domains/waap_custom_rule.py +5 -2
- gcore/types/waap/domains/waap_firewall_rule.py +1 -1
- gcore/types/waap/domains/waap_insight.py +1 -1
- gcore/types/waap/insight_list_types_params.py +1 -1
- {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/METADATA +1 -1
- {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/RECORD +345 -224
- {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/WHEEL +0 -0
- {gcore-0.13.0.dist-info → gcore-0.15.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -10,9 +10,12 @@ __all__ = ["StreamCreateParams"]
|
|
|
10
10
|
|
|
11
11
|
class StreamCreateParams(TypedDict, total=False):
|
|
12
12
|
name: Required[str]
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
"""Stream name.
|
|
14
|
+
|
|
15
|
+
Often used as a human-readable name for the stream, but can contain any text you
|
|
16
|
+
wish. The values are not unique and may be repeated.
|
|
17
|
+
|
|
18
|
+
Examples:
|
|
16
19
|
|
|
17
20
|
- Conference in July
|
|
18
21
|
- Stream #10003
|
|
@@ -24,8 +27,10 @@ class StreamCreateParams(TypedDict, total=False):
|
|
|
24
27
|
"""Stream switch between on and off.
|
|
25
28
|
|
|
26
29
|
This is not an indicator of the status "stream is receiving and it is LIVE", but
|
|
27
|
-
rather an on/off switch.
|
|
28
|
-
|
|
30
|
+
rather an on/off switch.
|
|
31
|
+
|
|
32
|
+
When stream is switched off, there is no way to process it: PULL is deactivated
|
|
33
|
+
and PUSH will return an error.
|
|
29
34
|
|
|
30
35
|
- true – stream can be processed
|
|
31
36
|
- false – stream is off, and cannot be processed
|
|
@@ -34,9 +39,12 @@ class StreamCreateParams(TypedDict, total=False):
|
|
|
34
39
|
auto_record: bool
|
|
35
40
|
"""Enables autotomatic recording of the stream when it started.
|
|
36
41
|
|
|
37
|
-
So you don't need to call recording manually.
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
So you don't need to call recording manually.
|
|
43
|
+
|
|
44
|
+
Result of recording is automatically added to video hosting. For details see the
|
|
45
|
+
/streams/`start_recording` method and in knowledge base
|
|
46
|
+
|
|
47
|
+
Values:
|
|
40
48
|
|
|
41
49
|
- true – auto recording is enabled
|
|
42
50
|
- false – auto recording is disabled
|
|
@@ -71,8 +79,11 @@ class StreamCreateParams(TypedDict, total=False):
|
|
|
71
79
|
"""DVR duration in seconds if DVR feature is enabled for the stream.
|
|
72
80
|
|
|
73
81
|
So this is duration of how far the user can rewind the live stream.
|
|
74
|
-
|
|
75
|
-
|
|
82
|
+
|
|
83
|
+
`dvr_duration` range is [30...14400].
|
|
84
|
+
|
|
85
|
+
Maximum value is 4 hours = 14400 seconds. If you need more, ask the Support Team
|
|
86
|
+
please.
|
|
76
87
|
"""
|
|
77
88
|
|
|
78
89
|
dvr_enabled: bool
|
|
@@ -98,7 +109,9 @@ class StreamCreateParams(TypedDict, total=False):
|
|
|
98
109
|
"""
|
|
99
110
|
Visualization mode for 360° streams, how the stream is rendered in our web
|
|
100
111
|
player ONLY. If you would like to show video 360° in an external video player,
|
|
101
|
-
then use parameters of that video player.
|
|
112
|
+
then use parameters of that video player.
|
|
113
|
+
|
|
114
|
+
Modes:
|
|
102
115
|
|
|
103
116
|
- regular – regular “flat” stream
|
|
104
117
|
- vr360 – display stream in 360° mode
|
|
@@ -128,7 +141,9 @@ class StreamCreateParams(TypedDict, total=False):
|
|
|
128
141
|
"""Method of recording a stream.
|
|
129
142
|
|
|
130
143
|
Specifies the source from which the stream will be recorded: original or
|
|
131
|
-
transcoded.
|
|
144
|
+
transcoded.
|
|
145
|
+
|
|
146
|
+
Types:
|
|
132
147
|
|
|
133
148
|
- "origin" – To record RMTP/SRT/etc original clean media source.
|
|
134
149
|
- "transcoded" – To record the output transcoded version of the stream,
|
|
@@ -136,16 +151,18 @@ class StreamCreateParams(TypedDict, total=False):
|
|
|
136
151
|
"""
|
|
137
152
|
|
|
138
153
|
uri: str
|
|
139
|
-
"""
|
|
140
|
-
|
|
141
|
-
multiple addresses separated by a space (" "), so you can
|
|
142
|
-
plan. In this case, the specified addresses will be selected
|
|
143
|
-
round robin scheduling. If the first address does not respond,
|
|
144
|
-
in the list will be automatically requested, returning to the
|
|
145
|
-
a circle. Also, if the sucessfully working stream stops
|
|
146
|
-
next one will be selected according to the same scheme.
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
154
|
+
"""When using PULL method, this is the URL to pull a stream from.
|
|
155
|
+
|
|
156
|
+
You can specify multiple addresses separated by a space (" "), so you can
|
|
157
|
+
organize a backup plan. In this case, the specified addresses will be selected
|
|
158
|
+
one by one using round robin scheduling. If the first address does not respond,
|
|
159
|
+
then the next one in the list will be automatically requested, returning to the
|
|
160
|
+
first and so on in a circle. Also, if the sucessfully working stream stops
|
|
161
|
+
sending data, then the next one will be selected according to the same scheme.
|
|
162
|
+
|
|
163
|
+
After 2 hours of inactivity of your original stream, the system stops PULL
|
|
164
|
+
requests and the stream is deactivated (the "active" field switches to "false").
|
|
165
|
+
|
|
166
|
+
Please, note that this field is for PULL only, so is not suitable for PUSH. Look
|
|
167
|
+
at fields "`push_url`" and "`push_url_srt`" from GET method.
|
|
151
168
|
"""
|
|
@@ -14,9 +14,12 @@ class StreamUpdateParams(TypedDict, total=False):
|
|
|
14
14
|
|
|
15
15
|
class Stream(TypedDict, total=False):
|
|
16
16
|
name: Required[str]
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
"""Stream name.
|
|
18
|
+
|
|
19
|
+
Often used as a human-readable name for the stream, but can contain any text you
|
|
20
|
+
wish. The values are not unique and may be repeated.
|
|
21
|
+
|
|
22
|
+
Examples:
|
|
20
23
|
|
|
21
24
|
- Conference in July
|
|
22
25
|
- Stream #10003
|
|
@@ -28,8 +31,10 @@ class Stream(TypedDict, total=False):
|
|
|
28
31
|
"""Stream switch between on and off.
|
|
29
32
|
|
|
30
33
|
This is not an indicator of the status "stream is receiving and it is LIVE", but
|
|
31
|
-
rather an on/off switch.
|
|
32
|
-
|
|
34
|
+
rather an on/off switch.
|
|
35
|
+
|
|
36
|
+
When stream is switched off, there is no way to process it: PULL is deactivated
|
|
37
|
+
and PUSH will return an error.
|
|
33
38
|
|
|
34
39
|
- true – stream can be processed
|
|
35
40
|
- false – stream is off, and cannot be processed
|
|
@@ -38,9 +43,12 @@ class Stream(TypedDict, total=False):
|
|
|
38
43
|
auto_record: bool
|
|
39
44
|
"""Enables autotomatic recording of the stream when it started.
|
|
40
45
|
|
|
41
|
-
So you don't need to call recording manually.
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
So you don't need to call recording manually.
|
|
47
|
+
|
|
48
|
+
Result of recording is automatically added to video hosting. For details see the
|
|
49
|
+
/streams/`start_recording` method and in knowledge base
|
|
50
|
+
|
|
51
|
+
Values:
|
|
44
52
|
|
|
45
53
|
- true – auto recording is enabled
|
|
46
54
|
- false – auto recording is disabled
|
|
@@ -75,8 +83,11 @@ class Stream(TypedDict, total=False):
|
|
|
75
83
|
"""DVR duration in seconds if DVR feature is enabled for the stream.
|
|
76
84
|
|
|
77
85
|
So this is duration of how far the user can rewind the live stream.
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
|
|
87
|
+
`dvr_duration` range is [30...14400].
|
|
88
|
+
|
|
89
|
+
Maximum value is 4 hours = 14400 seconds. If you need more, ask the Support Team
|
|
90
|
+
please.
|
|
80
91
|
"""
|
|
81
92
|
|
|
82
93
|
dvr_enabled: bool
|
|
@@ -102,7 +113,9 @@ class Stream(TypedDict, total=False):
|
|
|
102
113
|
"""
|
|
103
114
|
Visualization mode for 360° streams, how the stream is rendered in our web
|
|
104
115
|
player ONLY. If you would like to show video 360° in an external video player,
|
|
105
|
-
then use parameters of that video player.
|
|
116
|
+
then use parameters of that video player.
|
|
117
|
+
|
|
118
|
+
Modes:
|
|
106
119
|
|
|
107
120
|
- regular – regular “flat” stream
|
|
108
121
|
- vr360 – display stream in 360° mode
|
|
@@ -132,7 +145,9 @@ class Stream(TypedDict, total=False):
|
|
|
132
145
|
"""Method of recording a stream.
|
|
133
146
|
|
|
134
147
|
Specifies the source from which the stream will be recorded: original or
|
|
135
|
-
transcoded.
|
|
148
|
+
transcoded.
|
|
149
|
+
|
|
150
|
+
Types:
|
|
136
151
|
|
|
137
152
|
- "origin" – To record RMTP/SRT/etc original clean media source.
|
|
138
153
|
- "transcoded" – To record the output transcoded version of the stream,
|
|
@@ -140,16 +155,18 @@ class Stream(TypedDict, total=False):
|
|
|
140
155
|
"""
|
|
141
156
|
|
|
142
157
|
uri: str
|
|
143
|
-
"""
|
|
144
|
-
|
|
145
|
-
multiple addresses separated by a space (" "), so you can
|
|
146
|
-
plan. In this case, the specified addresses will be selected
|
|
147
|
-
round robin scheduling. If the first address does not respond,
|
|
148
|
-
in the list will be automatically requested, returning to the
|
|
149
|
-
a circle. Also, if the sucessfully working stream stops
|
|
150
|
-
next one will be selected according to the same scheme.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
"""When using PULL method, this is the URL to pull a stream from.
|
|
159
|
+
|
|
160
|
+
You can specify multiple addresses separated by a space (" "), so you can
|
|
161
|
+
organize a backup plan. In this case, the specified addresses will be selected
|
|
162
|
+
one by one using round robin scheduling. If the first address does not respond,
|
|
163
|
+
then the next one in the list will be automatically requested, returning to the
|
|
164
|
+
first and so on in a circle. Also, if the sucessfully working stream stops
|
|
165
|
+
sending data, then the next one will be selected according to the same scheme.
|
|
166
|
+
|
|
167
|
+
After 2 hours of inactivity of your original stream, the system stops PULL
|
|
168
|
+
requests and the stream is deactivated (the "active" field switches to "false").
|
|
169
|
+
|
|
170
|
+
Please, note that this field is for PULL only, so is not suitable for PUSH. Look
|
|
171
|
+
at fields "`push_url`" and "`push_url_srt`" from GET method.
|
|
155
172
|
"""
|
gcore/types/streaming/video.py
CHANGED
|
@@ -26,13 +26,16 @@ class ConvertedVideo(BaseModel):
|
|
|
26
26
|
A URL to a rendition file of the specified quality in MP4 format for
|
|
27
27
|
downloading.
|
|
28
28
|
|
|
29
|
-
**Download methods**
|
|
30
|
-
|
|
29
|
+
**Download methods**
|
|
30
|
+
|
|
31
|
+
For each converted video, additional download endpoints are available under
|
|
32
|
+
`converted_videos`/`mp4_urls`. An MP4 download enpoints:
|
|
31
33
|
|
|
32
34
|
- /videos/{`client_id`}\\__{slug}/{filename}.mp4
|
|
33
35
|
- /videos/{`client_id`}\\__{slug}/{filename}.mp4/download
|
|
34
|
-
- /videos/{`client_id`}\\__{slug}/{filename}.mp4/download={`custom_filename`}
|
|
35
|
-
|
|
36
|
+
- /videos/{`client_id`}\\__{slug}/{filename}.mp4/download={`custom_filename`}
|
|
37
|
+
|
|
38
|
+
The first option returns the file as is. Response will be:
|
|
36
39
|
|
|
37
40
|
```
|
|
38
41
|
GET .mp4
|
|
@@ -54,7 +57,9 @@ class ConvertedVideo(BaseModel):
|
|
|
54
57
|
|
|
55
58
|
The third option allows you to set a custom name for the file being downloaded.
|
|
56
59
|
You can optionally specify a custom filename (just name excluding the .mp4
|
|
57
|
-
extension) using the download= query.
|
|
60
|
+
extension) using the download= query.
|
|
61
|
+
|
|
62
|
+
Filename constraints:
|
|
58
63
|
|
|
59
64
|
- Length: 1-255 characters
|
|
60
65
|
- Must NOT include the .mp4 extension (it is added automatically)
|
|
@@ -77,40 +82,55 @@ class ConvertedVideo(BaseModel):
|
|
|
77
82
|
- Video with custom download filename:
|
|
78
83
|
`https://demo-public.gvideo.io/videos/2675_1OFgHZ1FWZNNvx1A/qid3567v1_h264_4050_1080.mp4/download=highlights_v1.1_2025-05-30`
|
|
79
84
|
|
|
80
|
-
**Default MP4 file name structure**
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
**Default MP4 file name structure**
|
|
86
|
+
|
|
87
|
+
Link to the file {filename} contains information about the encoding method using
|
|
88
|
+
format: `<quality_version>_<codec>_<bitrate>_<height>.mp4`
|
|
83
89
|
|
|
84
90
|
- `<quality_version>` – Internal quality identifier and file version. Please do
|
|
85
91
|
not use it, can be changed at any time without any notice.
|
|
86
92
|
- `<codec>` – Codec name that was used to encode the video, or audio codec if it
|
|
87
93
|
is an audio-only file.
|
|
88
94
|
- `<bitrate>` – Encoding bitrate in Kbps.
|
|
89
|
-
- `<height>` – Video height, or word "audio" if it is an audio-only file.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
95
|
+
- `<height>` – Video height, or word "audio" if it is an audio-only file.
|
|
96
|
+
|
|
97
|
+
Note that this link format has been applied since 14.08.2024. If the video
|
|
98
|
+
entity was uploaded earlier, links may have old simplified format.
|
|
99
|
+
|
|
100
|
+
Example: `/videos/{client_id}_{slug}/qid3567v1_h264_4050_1080.mp4`
|
|
93
101
|
|
|
94
102
|
**Dynamic speed limiting** This mode sets different limits for different users
|
|
95
103
|
or for different types of content. The speed is adjusted based on requests with
|
|
96
|
-
the “speed” and “buffer” arguments.
|
|
97
|
-
|
|
104
|
+
the “speed” and “buffer” arguments.
|
|
105
|
+
|
|
106
|
+
Example: `?speed=50k&buffer=500k`
|
|
107
|
+
|
|
108
|
+
Read more in Product Documentation in CDN section "Network limits".
|
|
109
|
+
|
|
110
|
+
**Secure token authentication (updated)**
|
|
111
|
+
|
|
112
|
+
Access to MP4 download links can be protected using secure tokens passed as
|
|
113
|
+
query parameters. The token generation logic has been updated to allow
|
|
114
|
+
fine-grained protection per file and bitrate.
|
|
98
115
|
|
|
99
|
-
**Secure token authentication (updated)** Access to MP4 download links can be
|
|
100
|
-
protected using secure tokens passed as query parameters. The token generation
|
|
101
|
-
logic has been updated to allow fine-grained protection per file and bitrate.
|
|
102
116
|
Token generation uses the entire MP4 path, which ensures the token only grants
|
|
103
117
|
access to a specific quality/version of the video. This prevents unintended
|
|
104
|
-
access to other bitrate versions of an ABR stream.
|
|
118
|
+
access to other bitrate versions of an ABR stream.
|
|
119
|
+
|
|
120
|
+
Token Query Parameters:
|
|
105
121
|
|
|
106
122
|
- token: The generated hash
|
|
107
123
|
- expires: Expiration timestamp
|
|
108
124
|
- speed: (optional) Speed limit in bytes/sec, or empty string
|
|
109
|
-
- buffer: (optional) Buffer size in bytes, or empty string
|
|
110
|
-
|
|
125
|
+
- buffer: (optional) Buffer size in bytes, or empty string
|
|
126
|
+
|
|
127
|
+
Optional (for IP-bound tokens):
|
|
128
|
+
|
|
111
129
|
- ip: The user’s IP address Example:
|
|
112
|
-
`?md5=QX39c77lbQKvYgMMAvpyMQ&expires=1743167062`
|
|
113
|
-
|
|
130
|
+
`?md5=QX39c77lbQKvYgMMAvpyMQ&expires=1743167062`
|
|
131
|
+
|
|
132
|
+
Read more in Product Documentation in Streaming section "Protected temporarily
|
|
133
|
+
link".
|
|
114
134
|
"""
|
|
115
135
|
|
|
116
136
|
name: Optional[str] = None
|
|
@@ -178,22 +198,27 @@ class Video(BaseModel):
|
|
|
178
198
|
dash_url: Optional[str] = None
|
|
179
199
|
"""
|
|
180
200
|
A URL to a master playlist MPEG-DASH (master.mpd) with CMAF or WebM based
|
|
181
|
-
chunks.
|
|
201
|
+
chunks.
|
|
202
|
+
|
|
203
|
+
Chunk type will be selected automatically for each quality:
|
|
182
204
|
|
|
183
205
|
- CMAF for H264 and H265 codecs.
|
|
184
206
|
- WebM for AV1 codec.
|
|
185
207
|
|
|
186
208
|
This URL is a link to the main manifest. But you can also manually specify
|
|
187
209
|
suffix-options that will allow you to change the manifest to your request:
|
|
188
|
-
`/videos/{client_id}_{slug}/master[-min-N][-max-N][-(h264|hevc|av1)].mpd`
|
|
189
|
-
|
|
210
|
+
`/videos/{client_id}_{slug}/master[-min-N][-max-N][-(h264|hevc|av1)].mpd`
|
|
211
|
+
|
|
212
|
+
List of suffix-options:
|
|
190
213
|
|
|
191
214
|
- [-min-N] – ABR soft limitation of qualities from below.
|
|
192
215
|
- [-max-N] – ABR soft limitation of qualities from above.
|
|
193
216
|
- [-(h264|hevc|av1) – Video codec soft limitation. Applicable if the video was
|
|
194
217
|
transcoded into multiple codecs H264, H265 and AV1 at once, but you want to
|
|
195
218
|
return just 1 video codec in a manifest. Read the Product Documentation for
|
|
196
|
-
details.
|
|
219
|
+
details.
|
|
220
|
+
|
|
221
|
+
Read more what is ABR soft-limiting in the "`hls_url`" field above.
|
|
197
222
|
|
|
198
223
|
Caution. Solely master.mpd is officially documented and intended for your use.
|
|
199
224
|
Any additional internal manifests, sub-manifests, parameters, chunk names, file
|
|
@@ -234,9 +259,9 @@ class Video(BaseModel):
|
|
|
234
259
|
"""
|
|
235
260
|
|
|
236
261
|
hls_url: Optional[str] = None
|
|
237
|
-
"""
|
|
238
|
-
|
|
239
|
-
automatically:
|
|
262
|
+
"""A URL to a master playlist HLS (master.m3u8).
|
|
263
|
+
|
|
264
|
+
Chunk type will be selected automatically:
|
|
240
265
|
|
|
241
266
|
- TS if your video was encoded to H264 only.
|
|
242
267
|
- CMAF if your video was encoded additionally to H265 and/or AV1 codecs (as
|
|
@@ -246,6 +271,7 @@ class Video(BaseModel):
|
|
|
246
271
|
You can also manually specify suffix-options that will allow you to change the
|
|
247
272
|
manifest to your request:
|
|
248
273
|
`/videos/{client_id}_{video_slug}/master[-cmaf][-min-N][-max-N][-img][-(h264|hevc|av1)].m3u8`
|
|
274
|
+
|
|
249
275
|
List of suffix-options:
|
|
250
276
|
|
|
251
277
|
- [-cmaf] – getting HLS CMAF version of the manifest. Look at the `hls_cmaf_url`
|
|
@@ -257,12 +283,15 @@ class Video(BaseModel):
|
|
|
257
283
|
- [-(h264|hevc|av1) – Video codec soft limitation. Applicable if the video was
|
|
258
284
|
transcoded into multiple codecs H264, H265 and AV1 at once, but you want to
|
|
259
285
|
return just 1 video codec in a manifest. Read the Product Documentation for
|
|
260
|
-
details.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
286
|
+
details.
|
|
287
|
+
|
|
288
|
+
ABR soft-limiting: Soft limitation of the list of qualities allows you to return
|
|
289
|
+
not the entire list of transcoded qualities for a video, but only those you
|
|
290
|
+
need. For more details look at the Product Documentation. For example, the video
|
|
291
|
+
is available in 7 qualities from 360p to 4K, but you want to return not more
|
|
292
|
+
than 480p only due to the conditions of distribution of content to a specific
|
|
293
|
+
end-user (i.e. free account):
|
|
294
|
+
|
|
266
295
|
- To a generic `.../master.m3u8` manifest
|
|
267
296
|
- Add a suffix-option to limit quality `.../master-max-480.m3u8`
|
|
268
297
|
- Add a suffix-option to limit quality and codec
|
|
@@ -280,24 +309,32 @@ class Video(BaseModel):
|
|
|
280
309
|
"""A URL to a built-in HTML video player with the video inside.
|
|
281
310
|
|
|
282
311
|
It can be inserted into an iframe on your website and the video will
|
|
283
|
-
automatically play in all browsers.
|
|
284
|
-
|
|
285
|
-
|
|
312
|
+
automatically play in all browsers.
|
|
313
|
+
|
|
314
|
+
The player can be opened or shared via this direct link. Also the video player
|
|
315
|
+
can be integrated into your web pages using the Iframe tag.
|
|
316
|
+
|
|
317
|
+
Example of usage on a web page:
|
|
286
318
|
|
|
287
319
|
<iframe width="100%" height="100%" src="https://player.gvideo.co/videos/2675_FnlHXwA16ZMxmUr" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
|
288
320
|
|
|
321
|
+
|
|
289
322
|
There are some link modificators you can specify and add manually:
|
|
290
|
-
|
|
291
|
-
-
|
|
292
|
-
|
|
323
|
+
|
|
324
|
+
- ?`no_low_latency` – player is forced to use non-low-latency streams HLS
|
|
325
|
+
MPEG-TS, instead of MPEG-DASH CMAF or HLS/LL-HLS CMAF.
|
|
326
|
+
- ?t=(integer) – time to start playback from specified point in the video.
|
|
327
|
+
Applicable for VOD only.
|
|
328
|
+
- ?`sub_lang`=(language) – force subtitles to specific language (2 letters ISO
|
|
329
|
+
639 code of a language).
|
|
293
330
|
- Read more in the Product Documentation.
|
|
294
331
|
"""
|
|
295
332
|
|
|
296
333
|
name: Optional[str] = None
|
|
297
|
-
"""
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
Examples:
|
|
334
|
+
"""Title of the video.
|
|
335
|
+
|
|
336
|
+
Often used as a human-readable name of the video, but can contain any text you
|
|
337
|
+
wish. The values are not unique and may be repeated. Examples:
|
|
301
338
|
|
|
302
339
|
- Educational training 2024-03-29
|
|
303
340
|
- Series X S3E14, The empire strikes back
|
|
@@ -308,28 +345,42 @@ class Video(BaseModel):
|
|
|
308
345
|
"""Size of original file"""
|
|
309
346
|
|
|
310
347
|
origin_url: Optional[str] = None
|
|
311
|
-
"""
|
|
312
|
-
|
|
348
|
+
"""URL to an original file from which the information for transcoding was taken.
|
|
349
|
+
|
|
313
350
|
May contain a link for scenarios:
|
|
314
351
|
|
|
315
352
|
- If the video was downloaded from another origin
|
|
316
353
|
- If the video is a recording of a live stream
|
|
317
|
-
- Otherwise it is "null"
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
354
|
+
- Otherwise it is "null"
|
|
355
|
+
|
|
356
|
+
**Copy from another server**
|
|
357
|
+
|
|
358
|
+
URL to an original file that was downloaded. Look at method "Copy from another
|
|
359
|
+
server" in POST /videos.
|
|
360
|
+
|
|
361
|
+
**Recording of an original live stream**
|
|
362
|
+
|
|
363
|
+
URL to the original non-transcoded stream recording with original quality, saved
|
|
364
|
+
in MP4 format. File is created immediately after the completion of the stream
|
|
365
|
+
recording. The stream from which the recording was made is reflected in
|
|
366
|
+
"`stream_id`" field.
|
|
367
|
+
|
|
368
|
+
Can be used for internal operations when a recording needs to be received faster
|
|
369
|
+
than the transcoded versions are ready. But this version is not intended for
|
|
370
|
+
public distribution. Views and downloads occur in the usual way, like viewing an
|
|
371
|
+
MP4 rendition.
|
|
372
|
+
|
|
373
|
+
The MP4 file becomes available for downloading when the video entity "status"
|
|
374
|
+
changes from "new" to "pending". The file is stored for 7 days, after which it
|
|
375
|
+
will be automatically deleted.
|
|
376
|
+
|
|
377
|
+
Format of URL is `/videos/<cid>_<slug>/origin_<bitrate>_<height>.mp4` Where:
|
|
378
|
+
|
|
330
379
|
- `<bitrate>` – Encoding bitrate in Kbps.
|
|
331
|
-
- `<height>` – Video height.
|
|
332
|
-
|
|
380
|
+
- `<height>` – Video height.
|
|
381
|
+
|
|
382
|
+
This is a premium feature, available only upon request through your manager or
|
|
383
|
+
support team.
|
|
333
384
|
"""
|
|
334
385
|
|
|
335
386
|
origin_video_duration: Optional[int] = None
|
|
@@ -338,8 +389,11 @@ class Video(BaseModel):
|
|
|
338
389
|
poster: Optional[str] = None
|
|
339
390
|
"""
|
|
340
391
|
Poster is your own static image which can be displayed before the video begins
|
|
341
|
-
playing. This is often a frame of the video or a custom title screen.
|
|
342
|
-
|
|
392
|
+
playing. This is often a frame of the video or a custom title screen.
|
|
393
|
+
|
|
394
|
+
Field contains a link to your own uploaded image.
|
|
395
|
+
|
|
396
|
+
Also look at "screenshot" attribute.
|
|
343
397
|
"""
|
|
344
398
|
|
|
345
399
|
poster_thumb: Optional[str] = None
|
|
@@ -371,29 +425,34 @@ class Video(BaseModel):
|
|
|
371
425
|
|
|
372
426
|
The image is selected from an array of all screenshots based on the
|
|
373
427
|
“`screenshot_id`” attribute. If you use your own "poster", the link to it will
|
|
374
|
-
be here too.
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
428
|
+
be here too.
|
|
429
|
+
|
|
430
|
+
Our video player uses this field to display the static image before the video
|
|
431
|
+
starts playing. As soon as the user hits "play" the image will go away. If you
|
|
432
|
+
use your own external video player, then you can use the value of this field to
|
|
433
|
+
set the poster/thumbnail in your player.
|
|
434
|
+
|
|
435
|
+
Example:
|
|
378
436
|
|
|
379
437
|
- `video_js`.poster: `api.screenshot`
|
|
380
438
|
- clappr.poster: `api.screenshot`
|
|
381
439
|
"""
|
|
382
440
|
|
|
383
441
|
screenshot_id: Optional[int] = None
|
|
384
|
-
"""
|
|
385
|
-
|
|
386
|
-
from 0. A value of -1 sets the "screenshot" attribute to the URL of
|
|
387
|
-
image from the "poster" attribute.
|
|
442
|
+
"""ID of auto generated screenshots to be used for default screenshot.
|
|
443
|
+
|
|
444
|
+
Counting from 0. A value of -1 sets the "screenshot" attribute to the URL of
|
|
445
|
+
your own image from the "poster" attribute.
|
|
388
446
|
"""
|
|
389
447
|
|
|
390
448
|
screenshots: Optional[List[str]] = None
|
|
391
449
|
"""Array of auto generated screenshots from the video.
|
|
392
450
|
|
|
393
451
|
By default 5 static screenshots are taken from different places in the video. If
|
|
394
|
-
the video is short, there may be fewer screenshots.
|
|
395
|
-
|
|
396
|
-
|
|
452
|
+
the video is short, there may be fewer screenshots.
|
|
453
|
+
|
|
454
|
+
Screenshots are created automatically, so they may contain not very good frames
|
|
455
|
+
from the video. To use your own image look at "poster" attribute.
|
|
397
456
|
"""
|
|
398
457
|
|
|
399
458
|
share_url: Optional[str] = None
|
|
@@ -407,7 +466,10 @@ class Video(BaseModel):
|
|
|
407
466
|
"""
|
|
408
467
|
A unique alphanumeric identifier used in public URLs to retrieve and view the
|
|
409
468
|
video. It is unique for each video, generated randomly and set automatically by
|
|
410
|
-
the system.
|
|
469
|
+
the system.
|
|
470
|
+
|
|
471
|
+
Format of usage in URL is \\**.../videos/{`client_id`}\\__{slug}/...\\**
|
|
472
|
+
|
|
411
473
|
Example:
|
|
412
474
|
|
|
413
475
|
- Player: /videos/`12345_neAq1bYZ2`
|
|
@@ -38,8 +38,10 @@ class VideoListParams(TypedDict, total=False):
|
|
|
38
38
|
|
|
39
39
|
If set, the video list is filtered by one combined SQL criterion:
|
|
40
40
|
|
|
41
|
-
- id={s} OR slug={s} OR name like {s}
|
|
42
|
-
|
|
41
|
+
- id={s} OR slug={s} OR name like {s}
|
|
42
|
+
|
|
43
|
+
i.e. "/videos?search=1000" returns list of videos where id=1000 or slug=1000 or
|
|
44
|
+
name contains "1000".
|
|
43
45
|
"""
|
|
44
46
|
|
|
45
47
|
status: str
|