Download OpenAPI specification:Download
This is an admin API for Watcher VMS subsystem.
Use this API for managing Watcher and its infrastructure. For example, you can add streamers and manage user permissions.
Please note that content such as video from cameras cannot be accessed using this admin API. However, you can check the cameras status for troubleshooting. Use Watcher Client API for accessing content.
The method allows you to get the domain settings
{- "mail": {
- "sending_method": "SMTP",
- "sender": {
- "title": "Flussonic Watcher",
- "email": "watcher@someserver.com"
}, - "host": "string",
- "port": 0,
- "login": "string",
- "password": "string",
- "security": "tls"
}, - "appearance": {
- "title": "My video site",
- "logo": "data:image/png;base64,<base64string>",
- "logo_auth": "data:image/jpg;base64,<base64string>",
- "favicon": "data:image/png;base64,<base64string>",
- "colors": {
- "primary": "#444951",
- "secondary": "#2469f2",
- "background": "#f3f5f7"
}
}
}
The method allows you to save the domain settings
mail_smtp (object) or mail_sendgrid (object) (mail_spec) | |
object Appearance settings allow you to edit the colors, logos, favicon and other brand UI settings of your service. |
{- "mail": {
- "sending_method": "SMTP",
- "sender": {
- "title": "Flussonic Watcher",
- "email": "watcher@someserver.com"
}, - "host": "string",
- "port": 0,
- "login": "string",
- "password": "string",
- "security": "tls"
}, - "appearance": {
- "title": "My video site",
- "logo": "data:image/png;base64,<base64string>",
- "logo_auth": "data:image/jpg;base64,<base64string>",
- "favicon": "data:image/png;base64,<base64string>",
- "colors": {
- "primary": "#444951",
- "secondary": "#2469f2",
- "background": "#f3f5f7"
}
}
}
{- "mail": {
- "sending_method": "SMTP",
- "sender": {
- "title": "Flussonic Watcher",
- "email": "watcher@someserver.com"
}, - "host": "string",
- "port": 0,
- "login": "string",
- "password": "string",
- "security": "tls"
}, - "appearance": {
- "title": "My video site",
- "logo": "data:image/png;base64,<base64string>",
- "logo_auth": "data:image/jpg;base64,<base64string>",
- "favicon": "data:image/png;base64,<base64string>",
- "colors": {
- "primary": "#444951",
- "secondary": "#2469f2",
- "background": "#f3f5f7"
}
}
}
The method allows you to get the system settings
{- "license_key": "string",
- "database": {
- "url": "postgres://central:pass@localhost:5432/central_dev"
}, - "watcher_brute_force_timeout": 1800,
- "loglevel": "INFO",
- "api_url": "auth@localhost:9015",
- "listeners": {
- "http": [
- {
- "port": 80,
- "address": "10.0.35.1"
}
]
},
}
Returns the list of all streamers with main parameters and current metric values.
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "streamers": [
- {
- "role": "streamer",
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "dvrs": [
- {
- "name": "string",
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "path": "volume1",
- "mode": "keep",
- "stats": {
- "mounted": true,
- "mode": "keep",
- "io_usage": 0,
- "migration_speed": 0,
- "migration_eta": 1000000000,
- "migration_updated": 1000000000,
- "errors": {
- "eacces": 1,
- "eagain": 1,
- "ebusy": 1,
- "edquot": 1,
- "emfile": 1,
- "enoent": 1,
- "enodev": 1,
- "enospc": 1,
- "erofs": 1,
- "connection_timeout": 1,
- "ssl_error": 1,
- "nxdomain": 1,
- "econnrefused": 1,
- "other": 1
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}
}
], - "stats": {
- "errors": {
- "read_errors": 0,
- "write_errors": 0,
- "delete_errors": 0,
- "collapsed_write_count": 0,
- "drop_write_count": 0
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}, - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "config": {
- "listeners": {
- "http": [
- {
- "port": 80,
- "address": "10.0.35.1"
}
]
}, - "srt": 65535,
- "srt_play": {
- "port": 9050,
- "timeout": 10
}, - "srt2_play": {
- "port": 9050,
- "timeout": 10
}, - "srt_publish": {
- "port": 9050,
- "timeout": 10
}, - "srt2_publish": {
- "port": 9050,
- "timeout": 10
}, - "geoip": "/usr/share/GeoIP/GeoLite2-City.mmdb",
- "meta": "{\"role\": \"transcoder\"}",
- "loglevel": "error",
- "nvidia_monitor": true,
- "total_bandwidth": 1000000000,
- "log_requests": true,
- "pulsedb": "/var/run/flussonic/pulsedb",
- "session_log": "/var/run/flussonic/session_log",
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "url_prefix": false,
- "view_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "edit_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "api_allowed_from": [
- "string"
], - "auth_token": "token",
- "chassis": {
- "product_name": "coder_transcoder",
- "api_port": 65535,
- "auto_reboot": false,
- "dhcpd_iface": "string",
- "dhcpd_port": 65535,
- "dhcpd_port_dest": 65535,
- "lcd": false,
- "ntpd_iface": "string",
- "ntpd_port": 65535,
- "tftp_port": 65535,
- "tftp_root": "string",
- "update_channel": "string",
- "firmware_host": "string",
- "firmware_version": "string",
- "firmware_boot_dir": "string",
- "stats": {
- "model": "chassis_model",
- "version": "21.09.1-234",
- "next_version": "string",
- "serial_number": "2174220024",
- "hardware_id": "string",
- "hostname": "coder1.example.com",
- "ntp_clock_synchronized": true,
- "system_time": 1000000000000
}, - "restart_coder_timeout": 0,
- "hostname": "coder1.example.com",
- "default_gateway_interface": "streaming",
- "ntp_servers": [
- "string"
]
}, - "event_sinks": [
- {
- "name": "my_json_sink",
- "url": "jsonlog:///var/log/events-json.log",
- "only": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "except": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "throttle_delay": 1,
- "max_size": 10000,
- "max_depth": 100,
- "resend_limit": 1000,
- "resend_timeout": 10,
- "level": "debug",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "auth_backends": [
- {
- "name": "string",
- "allow_tokens": [
- "test_token1",
- "test_token2"
], - "deny_tokens": [
- "test_token3",
- "test_token4"
], - "allow_ips": [
- "127.0.0.1",
- "10.10.0.0/24"
], - "deny_ips": [
- "8.8.8.8",
- "10.10.0.0/24"
], - "allow_countries": [
- "RU",
- "US"
], - "deny_countries": [
- "RU",
- "GB"
], - "allow_uas": [
- "AppleWebKit/533.3 (KHTML, like Gecko)",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "deny_uas": [
- "Mobile Safari/533.3",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "allow_default": false
}
], - "vods": [
- {
- "prefix": "movies",
- "auto_mbr": false,
- "position": 1,
- "disabled": false,
- "storages": [
- {
- "url": "/storage",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "on_play": {
- "domains": [
- "mycompany.com"
], - "max_sessions": 5000,
- "allowed_countries": [
- "US",
- "DE",
- "GB"
], - "disallowed_countries": [
- "US",
- "DE",
- "GB"
], - "soft_limitation": false,
- "session_keys": [
- "name",
- "token",
- "proto",
- "ip"
], - "extra": {
- "property1": "string",
- "property2": "string"
}
}, - "cache": {
- "reference": "cache1",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 3600
}, - "read_queue": 100,
- "download": false,
- "protocols": {
- "whitelist": false,
- "hls": true,
- "cmaf": true,
- "dash": true,
- "player": true,
- "mss": true,
- "rtmp": true,
- "rtsp": true,
- "m4f": true,
- "m4s": true,
- "mseld": true,
- "tshttp": true,
- "webrtc": true,
- "srt": true,
- "shoutcast": true,
- "mp4": true,
- "jpeg": true,
- "api": true
}, - "url_prefix": false,
- "segment_duration": 1000,
- "logo": {
- "height": 100,
- "width": 200,
- "left": 15,
- "top": 15,
- "right": 0,
- "bottom": 0
}, - "timeout": 3,
- "drm": {
- "vendor": "string",
- "hls_ext_x_key_iv": true,
- "resource_id": "L2sItm6",
- "expires": 0,
- "encryption": "full"
}, - "add_audio_only": false,
- "provider": "string"
}
], - "dvrs": [
- {
- "name": "string",
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "path": "volume1",
- "mode": "keep",
- "stats": {
- "mounted": true,
- "mode": "keep",
- "io_usage": 0,
- "migration_speed": 0,
- "migration_eta": 1000000000,
- "migration_updated": 1000000000,
- "errors": {
- "eacces": null,
- "eagain": null,
- "ebusy": null,
- "edquot": null,
- "emfile": null,
- "enoent": null,
- "enodev": null,
- "enospc": null,
- "erofs": null,
- "connection_timeout": null,
- "ssl_error": null,
- "nxdomain": null,
- "econnrefused": null,
- "other": null
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}
}
], - "stats": {
- "errors": {
- "read_errors": 0,
- "write_errors": 0,
- "delete_errors": 0,
- "collapsed_write_count": 0,
- "drop_write_count": 0
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}, - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "peers": [
- {
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu"
}
], - "sources": [
- {
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- null
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": null,
- "external": null,
- "vstd": null,
- "vstd_detected": null
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- null,
- null,
- null
]
}
]
}
}
], - "transponders": [
- {
- "name": "multiplexer",
- "pushes": [
- {
- "url": "string",
- "multicast_loop": true,
- "tos": 0,
- "standby": true,
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- null
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": null,
- "external": null,
- "vstd": null,
- "vstd_detected": null
}
}
}
], - "bitrate": 0,
- "provider": "Example Provider",
- "network_name": "Example Network",
- "ts_stream_id": 0,
- "network_id": 0,
- "original_network_id": 0,
- "ts_descriptors": [ ],
- "timeouts": {
- "service_type": 0,
- "media_info": 0
}, - "programs": [
- {
- "program_id": 1,
- "source": "hockey1",
- "lcn": 5,
- "service_type": "digital_tv",
- "title": "ProgramTitle",
- "pids": {
- "pmt": 8191,
- "pcr": 8191,
- "sdt": 8191,
- "media": [
- null
], - "default": "auto"
}, - "eit_title": "EIT_Title"
}
], - "time_offsets": [ ],
- "versions": {
- "psi": 31,
- "pat": 31,
- "pmt": 31,
- "nit": 31,
- "sdt": 31,
- "cat": 31
}, - "others": [ ],
- "eit": {
- "max_bitrate": 0,
- "xmltv_url": "xmltv_dir",
- "keep_epg": 0,
- "intervals_pf": {
- "actual": 0,
- "other": 0
}, - "intervals_schedule": {
- "actual": 0,
- "other": 0
}
}, - "video_buffer": 0,
- "prebuffer": 800,
- "stats": {
- "payload": 0,
- "encoded": 0,
- "fillers": 0,
- "stuffing": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0,
- "ts_overflow": true
}
}
], - "templates": [
- {
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "stats": {
- "ip": "172.16.25.73",
- "proto": "dash",
- "opened_at": 1637094994000,
- "media_info": {
- "flow_type": null,
- "tracks": [ ],
- "duration": null,
- "provider": null,
- "title": null,
- "stream_id": null,
- "program_id": null
}, - "ts_delay": 1284,
- "ts_delay_per_tracks": [
- 1284
], - "url": "udp://239.0.0.1:1234",
- "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "active": true,
- "dvr_info": {
- "from": null,
- "depth": null,
- "ranges": [ ],
- "bytes": null,
- "disk_size": null,
- "duration": null
}, - "bytes": 0,
- "frames": 0,
- "retries": 0,
- "media_info_changes": 0,
- "valid_secondary_inputs": 2,
- "invalid_secondary_inputs": 0,
- "resync_count_normal": 0,
- "resync_count_jump": 0,
- "resync_count_drift": 0,
- "reorder_count": 0,
- "ad_splices_ingested": 0,
- "ad_splices_inserted": 0,
- "srt": {
- "rtt": null,
- "latency": null,
- "packets": null,
- "retransmitted_packets": null,
- "error_lost_packets": null,
- "error_dropped_packets": null
}, - "onvif": {
- "motion_detected_count": null,
- "errors_not_authorized_count": null,
- "errors_url_unreachable_count": null,
- "errors_no_service_count": null,
- "errors_incorrect_time_values_count": null
}, - "errors": 0,
- "errors_lost_packets": 0,
- "errors_decoder_reset": 0,
- "errors_broken_payload": 0,
- "errors_dropped_frames": 0,
- "errors_desync": 0,
- "errors_ts_pat": 0,
- "pids": [
- null
], - "rtp_channels": [
- null
], - "errors_ts_service_lost": 0,
- "errors_ts_stuck_restarts": 0,
- "errors_404": 0,
- "errors_403": 0,
- "errors_500": 0,
- "errors_crashed": 0,
- "sdi": {
- "errors_no_signal": null,
- "errors_duplicate": null,
- "errors_ts_duplicate": null,
- "errors_cpu_stall": null,
- "peak_duration_deviation": null,
- "avg_recv_duration": null
}
}, - "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- null
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": null,
- "external": null,
- "vstd": null,
- "vstd_detected": null
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- null,
- null,
- null
]
}
]
}
}
], - "streams": [ ],
- "caches": [
- {
- "name": "cache1",
- "path": "/storage/cache",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 604800
}
], - "dvb_cards": [
- {
- "name": "a16",
- "hw": "dvb",
- "system": "dvbs",
- "adapter": 16,
- "device": 0,
- "frontend": 0,
- "frequency": 11606,
- "symbol_rate": 27500,
- "int_freq": 0,
- "high_band": true,
- "polarization": "v",
- "hierarchy": "1",
- "transmission_mode": "1k",
- "guard_interval": "1_16",
- "pilot": "auto",
- "rolloff": "35",
- "bandwidth": 6000000,
- "code_rate_lp": "1_2",
- "code_rate_hp": "1_2",
- "modulation": "auto",
- "disabled": false,
- "comment": "string",
- "stats": {
- "ber": 5,
- "strength_raw": 62446,
- "strength": 95,
- "snr_raw": 894,
- "snr": 1,
- "has_signal": true,
- "has_carrier": true,
- "has_viterbi": true,
- "has_sync": true,
- "has_lock": true,
- "has_timedout": false,
- "has_reinit": false,
- "has_rate": true
}, - "serial": 0,
- "port": 0,
- "compensate_time_drift_ppm": 0,
- "plp_stream_id": 0,
- "attenuator": 0,
- "interleave": 15,
- "gain": 0,
- "input_bitrate": 0,
- "video_device": "/dev/video0"
}
], - "balancers": [
- {
- "name": "string",
- "servers": [
- {
- "name": "string",
- "max_bitrate": 0,
- "countries": [
- "string"
], - "countries_default": false
}
], - "peers": [
- {
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": null,
- "reason": null,
- "while": null,
- "code": null,
- "error": null,
- "path": [ ],
- "detail": null
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- null
], - "transcoder_devices": [
- null
], - "text_alerts": {
- "property1": null,
- "property2": null
}, - "config_error": {
- "error": null,
- "config": { },
- "line": null,
- "first_error_line": null,
- "col": null,
- "first_error_col": null,
- "path": [ ],
- "detail": null
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": null
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu"
}
], - "mode": "bitrate"
}
], - "camera_alarm": {
- "listen": 65535,
- "catch": [
- "string"
]
}, - "rproxy": {
- "streampoint_key": "string",
- "forward_ports": {
- "property1": {
- "handler": "string",
- "options": { }
}, - "property2": {
- "handler": "string",
- "options": { }
}
}, - "endpoint_auth": "string"
}, - "vsaas": {
- "watcher_url": "string",
- "central_url": "string"
}, - "file_processor": {
- "path": "string"
}, - "iptv": {
- "database": "string"
}, - "decklinks": [
- {
- "name": 0,
- "profile": "one_full"
}
], - "http_proxies": [
- {
- "prefix": "string",
- "url": "string",
- "mainpage": false,
- "stats": {
- "requests": 1000,
- "protocol_upgrades": 1000,
- "proxy_error": 10,
- "proxy_error_connection": 10,
- "http_100": 1000,
- "http_200": 1000,
- "http_300": 10,
- "http_400": 10,
- "http_500": 10,
- "time_100ms": 10,
- "time_500ms": 5,
- "time_1000ms": 2,
- "time_5000ms": 2,
- "time_longms": 1
}
}
]
}, - "total_bandwidth": 1024,
- "labels": {
- "key1": "value1",
- "key2": "value2"
}
}
]
}
This method allows you to fetch the main parameters and current metrics of a single streamer
{- "role": "streamer",
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "dvrs": [
- {
- "name": "string",
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "path": "volume1",
- "mode": "keep",
- "stats": {
- "mounted": true,
- "mode": "keep",
- "io_usage": 0,
- "migration_speed": 0,
- "migration_eta": 1000000000,
- "migration_updated": 1000000000,
- "errors": {
- "eacces": 1,
- "eagain": 1,
- "ebusy": 1,
- "edquot": 1,
- "emfile": 1,
- "enoent": 1,
- "enodev": 1,
- "enospc": 1,
- "erofs": 1,
- "connection_timeout": 1,
- "ssl_error": 1,
- "nxdomain": 1,
- "econnrefused": 1,
- "other": 1
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}
}
], - "stats": {
- "errors": {
- "read_errors": 0,
- "write_errors": 0,
- "delete_errors": 0,
- "collapsed_write_count": 0,
- "drop_write_count": 0
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}, - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "config": {
- "listeners": {
- "http": [
- {
- "port": 80,
- "address": "10.0.35.1"
}
]
}, - "srt": 65535,
- "srt_play": {
- "port": 9050,
- "timeout": 10
}, - "srt2_play": {
- "port": 9050,
- "timeout": 10
}, - "srt_publish": {
- "port": 9050,
- "timeout": 10
}, - "srt2_publish": {
- "port": 9050,
- "timeout": 10
}, - "geoip": "/usr/share/GeoIP/GeoLite2-City.mmdb",
- "meta": "{\"role\": \"transcoder\"}",
- "loglevel": "error",
- "nvidia_monitor": true,
- "total_bandwidth": 1000000000,
- "log_requests": true,
- "pulsedb": "/var/run/flussonic/pulsedb",
- "session_log": "/var/run/flussonic/session_log",
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "url_prefix": false,
- "view_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "edit_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "api_allowed_from": [
- "string"
], - "auth_token": "token",
- "chassis": {
- "product_name": "coder_transcoder",
- "api_port": 65535,
- "auto_reboot": false,
- "dhcpd_iface": "string",
- "dhcpd_port": 65535,
- "dhcpd_port_dest": 65535,
- "lcd": false,
- "ntpd_iface": "string",
- "ntpd_port": 65535,
- "tftp_port": 65535,
- "tftp_root": "string",
- "update_channel": "string",
- "firmware_host": "string",
- "firmware_version": "string",
- "firmware_boot_dir": "string",
- "stats": {
- "model": "chassis_model",
- "version": "21.09.1-234",
- "next_version": "string",
- "serial_number": "2174220024",
- "hardware_id": "string",
- "hostname": "coder1.example.com",
- "ntp_clock_synchronized": true,
- "system_time": 1000000000000
}, - "restart_coder_timeout": 0,
- "hostname": "coder1.example.com",
- "default_gateway_interface": "streaming",
- "ntp_servers": [
- "string"
]
}, - "event_sinks": [
- {
- "name": "my_json_sink",
- "url": "jsonlog:///var/log/events-json.log",
- "only": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "except": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "throttle_delay": 1,
- "max_size": 10000,
- "max_depth": 100,
- "resend_limit": 1000,
- "resend_timeout": 10,
- "level": "debug",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "auth_backends": [
- {
- "name": "string",
- "allow_tokens": [
- "test_token1",
- "test_token2"
], - "deny_tokens": [
- "test_token3",
- "test_token4"
], - "allow_ips": [
- "127.0.0.1",
- "10.10.0.0/24"
], - "deny_ips": [
- "8.8.8.8",
- "10.10.0.0/24"
], - "allow_countries": [
- "RU",
- "US"
], - "deny_countries": [
- "RU",
- "GB"
], - "allow_uas": [
- "AppleWebKit/533.3 (KHTML, like Gecko)",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "deny_uas": [
- "Mobile Safari/533.3",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "allow_default": false
}
], - "vods": [
- {
- "prefix": "movies",
- "auto_mbr": false,
- "position": 1,
- "disabled": false,
- "storages": [
- {
- "url": "/storage",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "on_play": {
- "domains": [
- "mycompany.com"
], - "max_sessions": 5000,
- "allowed_countries": [
- "US",
- "DE",
- "GB"
], - "disallowed_countries": [
- "US",
- "DE",
- "GB"
], - "soft_limitation": false,
- "session_keys": [
- "name",
- "token",
- "proto",
- "ip"
], - "extra": {
- "property1": "string",
- "property2": "string"
}
}, - "cache": {
- "reference": "cache1",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 3600
}, - "read_queue": 100,
- "download": false,
- "protocols": {
- "whitelist": false,
- "hls": true,
- "cmaf": true,
- "dash": true,
- "player": true,
- "mss": true,
- "rtmp": true,
- "rtsp": true,
- "m4f": true,
- "m4s": true,
- "mseld": true,
- "tshttp": true,
- "webrtc": true,
- "srt": true,
- "shoutcast": true,
- "mp4": true,
- "jpeg": true,
- "api": true
}, - "url_prefix": false,
- "segment_duration": 1000,
- "logo": {
- "height": 100,
- "width": 200,
- "left": 15,
- "top": 15,
- "right": 0,
- "bottom": 0
}, - "timeout": 3,
- "drm": {
- "vendor": "string",
- "hls_ext_x_key_iv": true,
- "resource_id": "L2sItm6",
- "expires": 0,
- "encryption": "full"
}, - "add_audio_only": false,
- "provider": "string"
}
], - "dvrs": [
- {
- "name": "string",
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "path": "volume1",
- "mode": "keep",
- "stats": {
- "mounted": true,
- "mode": "keep",
- "io_usage": 0,
- "migration_speed": 0,
- "migration_eta": 1000000000,
- "migration_updated": 1000000000,
- "errors": {
- "eacces": 1,
- "eagain": 1,
- "ebusy": 1,
- "edquot": 1,
- "emfile": 1,
- "enoent": 1,
- "enodev": 1,
- "enospc": 1,
- "erofs": 1,
- "connection_timeout": 1,
- "ssl_error": 1,
- "nxdomain": 1,
- "econnrefused": 1,
- "other": 1
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}
}
], - "stats": {
- "errors": {
- "read_errors": 0,
- "write_errors": 0,
- "delete_errors": 0,
- "collapsed_write_count": 0,
- "drop_write_count": 0
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}, - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "peers": [
- {
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu"
}
], - "sources": [
- {
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "transponders": [
- {
- "name": "multiplexer",
- "pushes": [
- {
- "url": "string",
- "multicast_loop": true,
- "tos": 0,
- "standby": true,
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}
}
], - "bitrate": 0,
- "provider": "Example Provider",
- "network_name": "Example Network",
- "ts_stream_id": 0,
- "network_id": 0,
- "original_network_id": 0,
- "ts_descriptors": [ ],
- "timeouts": {
- "service_type": 0,
- "media_info": 0
}, - "programs": [
- {
- "program_id": 1,
- "source": "hockey1",
- "lcn": 5,
- "service_type": "digital_tv",
- "title": "ProgramTitle",
- "pids": {
- "pmt": 8191,
- "pcr": 8191,
- "sdt": 8191,
- "media": [
- {
- "pid": 8191,
- "content": "audio",
- "codec": "scte35",
- "track": 1,
- "bitrate": 2543,
- "stream_type": 12,
- "es_info": "52010D",
- "stats": {
- "payload": null,
- "fillers": null,
- "stuffing": null,
- "trimmed_bytes": null,
- "trimmed_frames": null
}
}
], - "default": "auto"
}, - "eit_title": "EIT_Title"
}
], - "time_offsets": [ ],
- "versions": {
- "psi": 31,
- "pat": 31,
- "pmt": 31,
- "nit": 31,
- "sdt": 31,
- "cat": 31
}, - "others": [ ],
- "eit": {
- "max_bitrate": 0,
- "xmltv_url": "xmltv_dir",
- "keep_epg": 0,
- "intervals_pf": {
- "actual": 0,
- "other": 0
}, - "intervals_schedule": {
- "actual": 0,
- "other": 0
}
}, - "video_buffer": 0,
- "prebuffer": 800,
- "stats": {
- "payload": 0,
- "encoded": 0,
- "fillers": 0,
- "stuffing": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0,
- "ts_overflow": true
}
}
], - "templates": [
- {
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "stats": {
- "ip": "172.16.25.73",
- "proto": "dash",
- "opened_at": 1637094994000,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "ts_delay_per_tracks": [
- 1284
], - "url": "udp://239.0.0.1:1234",
- "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "active": true,
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": null,
- "duration": null,
- "opened_at": null,
- "closed_at": null
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "bytes": 0,
- "frames": 0,
- "retries": 0,
- "media_info_changes": 0,
- "valid_secondary_inputs": 2,
- "invalid_secondary_inputs": 0,
- "resync_count_normal": 0,
- "resync_count_jump": 0,
- "resync_count_drift": 0,
- "reorder_count": 0,
- "ad_splices_ingested": 0,
- "ad_splices_inserted": 0,
- "srt": {
- "rtt": 0,
- "latency": 0,
- "packets": 0,
- "retransmitted_packets": 0,
- "error_lost_packets": 0,
- "error_dropped_packets": 0
}, - "onvif": {
- "motion_detected_count": 0,
- "errors_not_authorized_count": 0,
- "errors_url_unreachable_count": 0,
- "errors_no_service_count": 0,
- "errors_incorrect_time_values_count": 0
}, - "errors": 0,
- "errors_lost_packets": 0,
- "errors_decoder_reset": 0,
- "errors_broken_payload": 0,
- "errors_dropped_frames": 0,
- "errors_desync": 0,
- "errors_ts_pat": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "frames": 0,
- "empty_packets": 0,
- "errors_adaptation_broken": 0,
- "errors_ts_scrambled": 0,
- "errors_ts_pmt": 0,
- "errors_ts_cc": 0,
- "errors_ts_tei": 0,
- "errors_ts_psi_checksum": 0,
- "errors_pid_lost": 0,
- "broken_pes_count": 0,
- "broken_pes_sum": 0,
- "time_corrections": 0,
- "repeated_frames": 0,
- "corrected_backward_pts": 0,
- "pcr_resync": 0,
- "discarded_buffer_count": 0,
- "discarded_buffer_sum": 0,
- "fillers_count": 0,
- "fillers_sum": 0,
- "padding_pes_count": 0,
- "padding_pes_sum": 0,
- "crashed": 0,
- "dts_goes_backwards": 0,
- "dts_jump_forward": 0,
- "too_large_dts_jump": 0
}
], - "rtp_channels": [
- {
- "channel_id": 0,
- "content": "video",
- "rtp_packets": 0,
- "rtcp_packets": 0,
- "bytes": 0,
- "frames": 0,
- "pt_reject_count": 0,
- "pt_reject_sum": 0,
- "ts_goes_backwards": 0,
- "ts_jump_forward": 0,
- "ts_stuck": 0,
- "errors_dts_stuck": 0,
- "sr_ts_stuck": 0,
- "sender_clock_deviation": 0,
- "marker_packets_count": 0,
- "no_marker_mode_flag": true,
- "errors_broken_payload": 0,
- "errors_lost_packets": 0,
- "nal_count": 0,
- "discarded_broken_nal_count": 0,
- "discarded_not_allowed_nal_count": 0,
- "nal_fu_count": 0,
- "nal_stap_a_count": 0,
- "nal_aggregation_count": 0,
- "fu_pattern_is_broken_count": 0,
- "fu_has_both_start_end_bits_count": 0,
- "incomplete_nal_count": 0,
- "discarded_fu_count": 0,
- "fu_end_then_middle_workaround_count": 0,
- "nal_sei_count": 0,
- "invalid_sei_type_count": 0,
- "invalid_sei_size_count": 0,
- "invalid_sei_payload_count": 0,
- "discarded_sei_count": 0,
- "nal_idr_count": 0,
- "nal_single_count": 0,
- "nal_sps_count": 0,
- "nal_pps_count": 0,
- "nal_aud_count": 0,
- "nal_filler_count": 0,
- "nal_slice_count": 0,
- "nal_vps_count": 0,
- "nal_other_count": 0,
- "discarded_nal_count": 0
}
], - "errors_ts_service_lost": 0,
- "errors_ts_stuck_restarts": 0,
- "errors_404": 0,
- "errors_403": 0,
- "errors_500": 0,
- "errors_crashed": 0,
- "sdi": {
- "errors_no_signal": 0,
- "errors_duplicate": 0,
- "errors_ts_duplicate": 0,
- "errors_cpu_stall": 0,
- "peak_duration_deviation": 0,
- "avg_recv_duration": 0
}
}, - "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "streams": [ ],
- "caches": [
- {
- "name": "cache1",
- "path": "/storage/cache",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 604800
}
], - "dvb_cards": [
- {
- "name": "a16",
- "hw": "dvb",
- "system": "dvbs",
- "adapter": 16,
- "device": 0,
- "frontend": 0,
- "frequency": 11606,
- "symbol_rate": 27500,
- "int_freq": 0,
- "high_band": true,
- "polarization": "v",
- "hierarchy": "1",
- "transmission_mode": "1k",
- "guard_interval": "1_16",
- "pilot": "auto",
- "rolloff": "35",
- "bandwidth": 6000000,
- "code_rate_lp": "1_2",
- "code_rate_hp": "1_2",
- "modulation": "auto",
- "disabled": false,
- "comment": "string",
- "stats": {
- "ber": 5,
- "strength_raw": 62446,
- "strength": 95,
- "snr_raw": 894,
- "snr": 1,
- "has_signal": true,
- "has_carrier": true,
- "has_viterbi": true,
- "has_sync": true,
- "has_lock": true,
- "has_timedout": false,
- "has_reinit": false,
- "has_rate": true
}, - "serial": 0,
- "port": 0,
- "compensate_time_drift_ppm": 0,
- "plp_stream_id": 0,
- "attenuator": 0,
- "interleave": 15,
- "gain": 0,
- "input_bitrate": 0,
- "video_device": "/dev/video0"
}
], - "balancers": [
- {
- "name": "string",
- "servers": [
- {
- "name": "string",
- "max_bitrate": 0,
- "countries": [
- "string"
], - "countries_default": false
}
], - "peers": [
- {
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu"
}
], - "mode": "bitrate"
}
], - "camera_alarm": {
- "listen": 65535,
- "catch": [
- "string"
]
}, - "rproxy": {
- "streampoint_key": "string",
- "forward_ports": {
- "property1": {
- "handler": "string",
- "options": { }
}, - "property2": {
- "handler": "string",
- "options": { }
}
}, - "endpoint_auth": "string"
}, - "vsaas": {
- "watcher_url": "string",
- "central_url": "string"
}, - "file_processor": {
- "path": "string"
}, - "iptv": {
- "database": "string"
}, - "decklinks": [
- {
- "name": 0,
- "profile": "one_full"
}
], - "http_proxies": [
- {
- "prefix": "string",
- "url": "string",
- "mainpage": false,
- "stats": {
- "requests": 1000,
- "protocol_upgrades": 1000,
- "proxy_error": 10,
- "proxy_error_connection": 10,
- "http_100": 1000,
- "http_200": 1000,
- "http_300": 10,
- "http_400": 10,
- "http_500": 10,
- "time_100ms": 10,
- "time_500ms": 5,
- "time_1000ms": 2,
- "time_5000ms": 2,
- "time_longms": 1
}
}
]
}, - "total_bandwidth": 1024,
- "labels": {
- "key1": "value1",
- "key2": "value2"
}
}
This method will either create a new streamer (if there is no streamer with the hostname specified in the request), or update the existing streamer having the specified hostname.
Partial streamer configuration
{- "role": "streamer",
- "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "config": {
- "listeners": {
- "http": [
- {
- "port": 80,
- "address": "10.0.35.1"
}
]
}, - "srt": 65535,
- "srt_play": {
- "port": 9050,
- "timeout": 10
}, - "srt2_play": {
- "port": 9050,
- "timeout": 10
}, - "srt_publish": {
- "port": 9050,
- "timeout": 10
}, - "srt2_publish": {
- "port": 9050,
- "timeout": 10
}, - "geoip": "/usr/share/GeoIP/GeoLite2-City.mmdb",
- "meta": "{\"role\": \"transcoder\"}",
- "loglevel": "error",
- "nvidia_monitor": true,
- "total_bandwidth": 1000000000,
- "log_requests": true,
- "pulsedb": "/var/run/flussonic/pulsedb",
- "session_log": "/var/run/flussonic/session_log",
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "url_prefix": false,
- "view_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "edit_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "api_allowed_from": [
- "string"
], - "auth_token": "token",
- "chassis": {
- "hostname": "coder1.example.com",
- "default_gateway_interface": "streaming",
- "ntp_servers": [
- "string"
]
}, - "event_sinks": [
- {
- "url": "jsonlog:///var/log/events-json.log",
- "only": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "except": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "throttle_delay": 1,
- "max_size": 10000,
- "max_depth": 100,
- "resend_limit": 1000,
- "resend_timeout": 10,
- "level": "debug",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "auth_backends": [
- {
- "allow_tokens": [
- "test_token1",
- "test_token2"
], - "deny_tokens": [
- "test_token3",
- "test_token4"
], - "allow_ips": [
- "127.0.0.1",
- "10.10.0.0/24"
], - "deny_ips": [
- "8.8.8.8",
- "10.10.0.0/24"
], - "allow_countries": [
- "RU",
- "US"
], - "deny_countries": [
- "RU",
- "GB"
], - "allow_uas": [
- "AppleWebKit/533.3 (KHTML, like Gecko)",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "deny_uas": [
- "Mobile Safari/533.3",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "allow_default": false
}
], - "vods": [
- {
- "prefix": "movies",
- "auto_mbr": false,
- "position": 1,
- "disabled": false,
- "storages": [
- {
- "url": "/storage",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "on_play": {
- "domains": [
- "mycompany.com"
], - "max_sessions": 5000,
- "allowed_countries": [
- "US",
- "DE",
- "GB"
], - "disallowed_countries": [
- "US",
- "DE",
- "GB"
], - "soft_limitation": false,
- "session_keys": [
- "name",
- "token",
- "proto",
- "ip"
], - "extra": {
- "property1": "string",
- "property2": "string"
}
}, - "cache": {
- "reference": "cache1",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 3600
}, - "read_queue": 100,
- "download": false,
- "protocols": {
- "whitelist": false,
- "hls": true,
- "cmaf": true,
- "dash": true,
- "player": true,
- "mss": true,
- "rtmp": true,
- "rtsp": true,
- "m4f": true,
- "m4s": true,
- "mseld": true,
- "tshttp": true,
- "webrtc": true,
- "srt": true,
- "shoutcast": true,
- "mp4": true,
- "jpeg": true,
- "api": true
}, - "url_prefix": false,
- "segment_duration": 1000,
- "logo": {
- "height": 100,
- "width": 200,
- "left": 15,
- "top": 15,
- "right": 0,
- "bottom": 0
}, - "timeout": 3,
- "drm": {
- "vendor": "string",
- "hls_ext_x_key_iv": true,
- "resource_id": "L2sItm6",
- "expires": 0,
- "encryption": "full"
}, - "add_audio_only": false,
- "provider": "string"
}
], - "dvrs": [
- {
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "mode": "keep"
}
], - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "peers": [
], - "sources": [
- {
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "transponders": [
- {
- "pushes": [
- {
- "url": "string",
- "multicast_loop": true,
- "tos": 0,
- "standby": true
}
], - "bitrate": 0,
- "provider": "Example Provider",
- "network_name": "Example Network",
- "ts_stream_id": 0,
- "network_id": 0,
- "original_network_id": 0,
- "ts_descriptors": [ ],
- "timeouts": {
- "service_type": 0,
- "media_info": 0
}, - "programs": [
- {
- "program_id": 1,
- "source": "hockey1",
- "lcn": 5,
- "service_type": "digital_tv",
- "title": "ProgramTitle",
- "pids": {
- "pmt": 8191,
- "pcr": 8191,
- "sdt": 8191,
- "media": [
- {
- "pid": 8191,
- "content": "audio",
- "codec": "scte35",
- "track": 1,
- "bitrate": 2543,
- "stream_type": 12,
- "es_info": "52010D"
}
], - "default": "auto"
}, - "eit_title": "EIT_Title"
}
], - "time_offsets": [ ],
- "versions": {
- "psi": 31,
- "pat": 31,
- "pmt": 31,
- "nit": 31,
- "sdt": 31,
- "cat": 31
}, - "others": [ ],
- "eit": {
- "max_bitrate": 0,
- "xmltv_url": "xmltv_dir",
- "keep_epg": 0,
- "intervals_pf": {
- "actual": 0,
- "other": 0
}, - "intervals_schedule": {
- "actual": 0,
- "other": 0
}
}, - "video_buffer": 0,
- "prebuffer": 800
}
], - "templates": [
- {
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "streams": [ ],
- "caches": [
- {
- "path": "/storage/cache",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 604800
}
], - "dvb_cards": [
- {
- "hw": "dvb",
- "system": "dvbs",
- "adapter": 16,
- "device": 0,
- "frontend": 0,
- "frequency": 11606,
- "symbol_rate": 27500,
- "int_freq": 0,
- "high_band": true,
- "polarization": "v",
- "hierarchy": "1",
- "transmission_mode": "1k",
- "guard_interval": "1_16",
- "pilot": "auto",
- "rolloff": "35",
- "bandwidth": 6000000,
- "code_rate_lp": "1_2",
- "code_rate_hp": "1_2",
- "modulation": "auto",
- "disabled": false,
- "comment": "string",
- "stats": {
- "ber": 5,
- "strength_raw": 62446,
- "strength": 95,
- "snr_raw": 894,
- "snr": 1,
- "has_signal": true,
- "has_carrier": true,
- "has_viterbi": true,
- "has_sync": true,
- "has_lock": true,
- "has_timedout": false,
- "has_reinit": false,
- "has_rate": true
}, - "serial": 0,
- "port": 0,
- "compensate_time_drift_ppm": 0,
- "plp_stream_id": 0,
- "attenuator": 0,
- "interleave": 15,
- "gain": 0,
- "input_bitrate": 0,
- "video_device": "/dev/video0"
}
], - "balancers": [
- {
- "servers": [
- {
- "max_bitrate": 0,
- "countries": [
- "string"
], - "countries_default": false
}
], - "peers": [
], - "mode": "bitrate"
}
], - "camera_alarm": {
- "listen": 65535,
- "catch": [
- "string"
]
}, - "rproxy": {
- "streampoint_key": "string",
- "forward_ports": {
- "property1": {
- "handler": "string",
- "options": { }
}, - "property2": {
- "handler": "string",
- "options": { }
}
}, - "endpoint_auth": "string"
}, - "vsaas": {
- "watcher_url": "string",
- "central_url": "string"
}, - "file_processor": {
- "path": "string"
}, - "iptv": {
- "database": "string"
}, - "decklinks": [
- {
- "profile": "one_full"
}
], - "http_proxies": [
- {
- "prefix": "string",
- "url": "string",
- "mainpage": false
}
]
}, - "total_bandwidth": 1024,
- "labels": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "role": "streamer",
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "dvrs": [
- {
- "name": "string",
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "path": "volume1",
- "mode": "keep",
- "stats": {
- "mounted": true,
- "mode": "keep",
- "io_usage": 0,
- "migration_speed": 0,
- "migration_eta": 1000000000,
- "migration_updated": 1000000000,
- "errors": {
- "eacces": 1,
- "eagain": 1,
- "ebusy": 1,
- "edquot": 1,
- "emfile": 1,
- "enoent": 1,
- "enodev": 1,
- "enospc": 1,
- "erofs": 1,
- "connection_timeout": 1,
- "ssl_error": 1,
- "nxdomain": 1,
- "econnrefused": 1,
- "other": 1
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}
}
], - "stats": {
- "errors": {
- "read_errors": 0,
- "write_errors": 0,
- "delete_errors": 0,
- "collapsed_write_count": 0,
- "drop_write_count": 0
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}, - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "config": {
- "listeners": {
- "http": [
- {
- "port": 80,
- "address": "10.0.35.1"
}
]
}, - "srt": 65535,
- "srt_play": {
- "port": 9050,
- "timeout": 10
}, - "srt2_play": {
- "port": 9050,
- "timeout": 10
}, - "srt_publish": {
- "port": 9050,
- "timeout": 10
}, - "srt2_publish": {
- "port": 9050,
- "timeout": 10
}, - "geoip": "/usr/share/GeoIP/GeoLite2-City.mmdb",
- "meta": "{\"role\": \"transcoder\"}",
- "loglevel": "error",
- "nvidia_monitor": true,
- "total_bandwidth": 1000000000,
- "log_requests": true,
- "pulsedb": "/var/run/flussonic/pulsedb",
- "session_log": "/var/run/flussonic/session_log",
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "url_prefix": false,
- "view_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "edit_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "api_allowed_from": [
- "string"
], - "auth_token": "token",
- "chassis": {
- "product_name": "coder_transcoder",
- "api_port": 65535,
- "auto_reboot": false,
- "dhcpd_iface": "string",
- "dhcpd_port": 65535,
- "dhcpd_port_dest": 65535,
- "lcd": false,
- "ntpd_iface": "string",
- "ntpd_port": 65535,
- "tftp_port": 65535,
- "tftp_root": "string",
- "update_channel": "string",
- "firmware_host": "string",
- "firmware_version": "string",
- "firmware_boot_dir": "string",
- "stats": {
- "model": "chassis_model",
- "version": "21.09.1-234",
- "next_version": "string",
- "serial_number": "2174220024",
- "hardware_id": "string",
- "hostname": "coder1.example.com",
- "ntp_clock_synchronized": true,
- "system_time": 1000000000000
}, - "restart_coder_timeout": 0,
- "hostname": "coder1.example.com",
- "default_gateway_interface": "streaming",
- "ntp_servers": [
- "string"
]
}, - "event_sinks": [
- {
- "name": "my_json_sink",
- "url": "jsonlog:///var/log/events-json.log",
- "only": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "except": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "throttle_delay": 1,
- "max_size": 10000,
- "max_depth": 100,
- "resend_limit": 1000,
- "resend_timeout": 10,
- "level": "debug",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "auth_backends": [
- {
- "name": "string",
- "allow_tokens": [
- "test_token1",
- "test_token2"
], - "deny_tokens": [
- "test_token3",
- "test_token4"
], - "allow_ips": [
- "127.0.0.1",
- "10.10.0.0/24"
], - "deny_ips": [
- "8.8.8.8",
- "10.10.0.0/24"
], - "allow_countries": [
- "RU",
- "US"
], - "deny_countries": [
- "RU",
- "GB"
], - "allow_uas": [
- "AppleWebKit/533.3 (KHTML, like Gecko)",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "deny_uas": [
- "Mobile Safari/533.3",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "allow_default": false
}
], - "vods": [
- {
- "prefix": "movies",
- "auto_mbr": false,
- "position": 1,
- "disabled": false,
- "storages": [
- {
- "url": "/storage",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "on_play": {
- "domains": [
- "mycompany.com"
], - "max_sessions": 5000,
- "allowed_countries": [
- "US",
- "DE",
- "GB"
], - "disallowed_countries": [
- "US",
- "DE",
- "GB"
], - "soft_limitation": false,
- "session_keys": [
- "name",
- "token",
- "proto",
- "ip"
], - "extra": {
- "property1": "string",
- "property2": "string"
}
}, - "cache": {
- "reference": "cache1",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 3600
}, - "read_queue": 100,
- "download": false,
- "protocols": {
- "whitelist": false,
- "hls": true,
- "cmaf": true,
- "dash": true,
- "player": true,
- "mss": true,
- "rtmp": true,
- "rtsp": true,
- "m4f": true,
- "m4s": true,
- "mseld": true,
- "tshttp": true,
- "webrtc": true,
- "srt": true,
- "shoutcast": true,
- "mp4": true,
- "jpeg": true,
- "api": true
}, - "url_prefix": false,
- "segment_duration": 1000,
- "logo": {
- "height": 100,
- "width": 200,
- "left": 15,
- "top": 15,
- "right": 0,
- "bottom": 0
}, - "timeout": 3,
- "drm": {
- "vendor": "string",
- "hls_ext_x_key_iv": true,
- "resource_id": "L2sItm6",
- "expires": 0,
- "encryption": "full"
}, - "add_audio_only": false,
- "provider": "string"
}
], - "dvrs": [
- {
- "name": "string",
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "path": "volume1",
- "mode": "keep",
- "stats": {
- "mounted": true,
- "mode": "keep",
- "io_usage": 0,
- "migration_speed": 0,
- "migration_eta": 1000000000,
- "migration_updated": 1000000000,
- "errors": {
- "eacces": 1,
- "eagain": 1,
- "ebusy": 1,
- "edquot": 1,
- "emfile": 1,
- "enoent": 1,
- "enodev": 1,
- "enospc": 1,
- "erofs": 1,
- "connection_timeout": 1,
- "ssl_error": 1,
- "nxdomain": 1,
- "econnrefused": 1,
- "other": 1
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}
}
], - "stats": {
- "errors": {
- "read_errors": 0,
- "write_errors": 0,
- "delete_errors": 0,
- "collapsed_write_count": 0,
- "drop_write_count": 0
}, - "blobs_count_db": 0,
- "blobs_count": 0,
- "size": 0,
- "used": 0,
- "used_index": 0,
- "usage": 0
}, - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "peers": [
- {
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu"
}
], - "sources": [
- {
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "transponders": [
- {
- "name": "multiplexer",
- "pushes": [
- {
- "url": "string",
- "multicast_loop": true,
- "tos": 0,
- "standby": true,
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}
}
], - "bitrate": 0,
- "provider": "Example Provider",
- "network_name": "Example Network",
- "ts_stream_id": 0,
- "network_id": 0,
- "original_network_id": 0,
- "ts_descriptors": [ ],
- "timeouts": {
- "service_type": 0,
- "media_info": 0
}, - "programs": [
- {
- "program_id": 1,
- "source": "hockey1",
- "lcn": 5,
- "service_type": "digital_tv",
- "title": "ProgramTitle",
- "pids": {
- "pmt": 8191,
- "pcr": 8191,
- "sdt": 8191,
- "media": [
- {
- "pid": 8191,
- "content": "audio",
- "codec": "scte35",
- "track": 1,
- "bitrate": 2543,
- "stream_type": 12,
- "es_info": "52010D",
- "stats": {
- "payload": null,
- "fillers": null,
- "stuffing": null,
- "trimmed_bytes": null,
- "trimmed_frames": null
}
}
], - "default": "auto"
}, - "eit_title": "EIT_Title"
}
], - "time_offsets": [ ],
- "versions": {
- "psi": 31,
- "pat": 31,
- "pmt": 31,
- "nit": 31,
- "sdt": 31,
- "cat": 31
}, - "others": [ ],
- "eit": {
- "max_bitrate": 0,
- "xmltv_url": "xmltv_dir",
- "keep_epg": 0,
- "intervals_pf": {
- "actual": 0,
- "other": 0
}, - "intervals_schedule": {
- "actual": 0,
- "other": 0
}
}, - "video_buffer": 0,
- "prebuffer": 800,
- "stats": {
- "payload": 0,
- "encoded": 0,
- "fillers": 0,
- "stuffing": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0,
- "ts_overflow": true
}
}
], - "templates": [
- {
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "stats": {
- "ip": "172.16.25.73",
- "proto": "dash",
- "opened_at": 1637094994000,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "ts_delay_per_tracks": [
- 1284
], - "url": "udp://239.0.0.1:1234",
- "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "active": true,
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": null,
- "duration": null,
- "opened_at": null,
- "closed_at": null
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "bytes": 0,
- "frames": 0,
- "retries": 0,
- "media_info_changes": 0,
- "valid_secondary_inputs": 2,
- "invalid_secondary_inputs": 0,
- "resync_count_normal": 0,
- "resync_count_jump": 0,
- "resync_count_drift": 0,
- "reorder_count": 0,
- "ad_splices_ingested": 0,
- "ad_splices_inserted": 0,
- "srt": {
- "rtt": 0,
- "latency": 0,
- "packets": 0,
- "retransmitted_packets": 0,
- "error_lost_packets": 0,
- "error_dropped_packets": 0
}, - "onvif": {
- "motion_detected_count": 0,
- "errors_not_authorized_count": 0,
- "errors_url_unreachable_count": 0,
- "errors_no_service_count": 0,
- "errors_incorrect_time_values_count": 0
}, - "errors": 0,
- "errors_lost_packets": 0,
- "errors_decoder_reset": 0,
- "errors_broken_payload": 0,
- "errors_dropped_frames": 0,
- "errors_desync": 0,
- "errors_ts_pat": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "frames": 0,
- "empty_packets": 0,
- "errors_adaptation_broken": 0,
- "errors_ts_scrambled": 0,
- "errors_ts_pmt": 0,
- "errors_ts_cc": 0,
- "errors_ts_tei": 0,
- "errors_ts_psi_checksum": 0,
- "errors_pid_lost": 0,
- "broken_pes_count": 0,
- "broken_pes_sum": 0,
- "time_corrections": 0,
- "repeated_frames": 0,
- "corrected_backward_pts": 0,
- "pcr_resync": 0,
- "discarded_buffer_count": 0,
- "discarded_buffer_sum": 0,
- "fillers_count": 0,
- "fillers_sum": 0,
- "padding_pes_count": 0,
- "padding_pes_sum": 0,
- "crashed": 0,
- "dts_goes_backwards": 0,
- "dts_jump_forward": 0,
- "too_large_dts_jump": 0
}
], - "rtp_channels": [
- {
- "channel_id": 0,
- "content": "video",
- "rtp_packets": 0,
- "rtcp_packets": 0,
- "bytes": 0,
- "frames": 0,
- "pt_reject_count": 0,
- "pt_reject_sum": 0,
- "ts_goes_backwards": 0,
- "ts_jump_forward": 0,
- "ts_stuck": 0,
- "errors_dts_stuck": 0,
- "sr_ts_stuck": 0,
- "sender_clock_deviation": 0,
- "marker_packets_count": 0,
- "no_marker_mode_flag": true,
- "errors_broken_payload": 0,
- "errors_lost_packets": 0,
- "nal_count": 0,
- "discarded_broken_nal_count": 0,
- "discarded_not_allowed_nal_count": 0,
- "nal_fu_count": 0,
- "nal_stap_a_count": 0,
- "nal_aggregation_count": 0,
- "fu_pattern_is_broken_count": 0,
- "fu_has_both_start_end_bits_count": 0,
- "incomplete_nal_count": 0,
- "discarded_fu_count": 0,
- "fu_end_then_middle_workaround_count": 0,
- "nal_sei_count": 0,
- "invalid_sei_type_count": 0,
- "invalid_sei_size_count": 0,
- "invalid_sei_payload_count": 0,
- "discarded_sei_count": 0,
- "nal_idr_count": 0,
- "nal_single_count": 0,
- "nal_sps_count": 0,
- "nal_pps_count": 0,
- "nal_aud_count": 0,
- "nal_filler_count": 0,
- "nal_slice_count": 0,
- "nal_vps_count": 0,
- "nal_other_count": 0,
- "discarded_nal_count": 0
}
], - "errors_ts_service_lost": 0,
- "errors_ts_stuck_restarts": 0,
- "errors_404": 0,
- "errors_403": 0,
- "errors_500": 0,
- "errors_crashed": 0,
- "sdi": {
- "errors_no_signal": 0,
- "errors_duplicate": 0,
- "errors_ts_duplicate": 0,
- "errors_cpu_stall": 0,
- "peak_duration_deviation": 0,
- "avg_recv_duration": 0
}
}, - "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "streams": [ ],
- "caches": [
- {
- "name": "cache1",
- "path": "/storage/cache",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 604800
}
], - "dvb_cards": [
- {
- "name": "a16",
- "hw": "dvb",
- "system": "dvbs",
- "adapter": 16,
- "device": 0,
- "frontend": 0,
- "frequency": 11606,
- "symbol_rate": 27500,
- "int_freq": 0,
- "high_band": true,
- "polarization": "v",
- "hierarchy": "1",
- "transmission_mode": "1k",
- "guard_interval": "1_16",
- "pilot": "auto",
- "rolloff": "35",
- "bandwidth": 6000000,
- "code_rate_lp": "1_2",
- "code_rate_hp": "1_2",
- "modulation": "auto",
- "disabled": false,
- "comment": "string",
- "stats": {
- "ber": 5,
- "strength_raw": 62446,
- "strength": 95,
- "snr_raw": 894,
- "snr": 1,
- "has_signal": true,
- "has_carrier": true,
- "has_viterbi": true,
- "has_sync": true,
- "has_lock": true,
- "has_timedout": false,
- "has_reinit": false,
- "has_rate": true
}, - "serial": 0,
- "port": 0,
- "compensate_time_drift_ppm": 0,
- "plp_stream_id": 0,
- "attenuator": 0,
- "interleave": 15,
- "gain": 0,
- "input_bitrate": 0,
- "video_device": "/dev/video0"
}
], - "balancers": [
- {
- "name": "string",
- "servers": [
- {
- "name": "string",
- "max_bitrate": 0,
- "countries": [
- "string"
], - "countries_default": false
}
], - "peers": [
- {
- "hostname": "peer.example.com",
- "stats": {
- "server_version": "23.04",
- "build": 0,
- "now": 1000000000000,
- "started_at": 1639337825,
- "config_version": [
- 1636709231,
- 4
], - "next_version": "22.01",
- "streamer_status": "running",
- "config_external_status": {
- "status": "loaded",
- "reason": "validation_error",
- "while": "refresh",
- "code": 0,
- "error": "invalid_authorization",
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "hostname": "openapi.flussonic.com",
- "license_txt": "uO8v12HJhNXVj5gM",
- "license_type": "undefined",
- "id": "61893b15-75b2-4fcb-b4cf-ae1dd0858ea2",
- "vsaas": true,
- "vsaas_branding": true,
- "vsaas_running": true,
- "rproxy": true,
- "rproxy_running": true,
- "transcoder": true,
- "bandwidth_usage": 67,
- "total_bandwidth": 0,
- "cpu_usage": 48,
- "memory_usage": 27,
- "scheduler_load": 40,
- "uptime": 4325502,
- "partitions": [
- {
- "path": "_var_lib_docker_overlay2_3684778579db0a4d418fdc1a8a6953b680ab92d179a7d6f9506710d073095e36_merged",
- "device": "sda1",
- "total_mb": 45423,
- "usage": 30,
- "io_util": 42
}
], - "transcoder_devices": [
- {
- "type": "cpu",
- "id": "auto",
- "name": "string",
- "can_logo": true,
- "can_interlace": true,
- "can_internal": true,
- "memTotal": 0,
- "memFree": 0,
- "memUsed": 0,
- "reconfig_support": "full",
- "gpu_temp": 0,
- "gpu_enc": 0,
- "gpu_dec": 0,
- "gpu_sm": 0
}
], - "text_alerts": {
- "property1": "string",
- "property2": "string"
}, - "config_error": {
- "error": "bad_url",
- "config": { },
- "line": 15,
- "first_error_line": 14,
- "col": 20,
- "first_error_col": 5,
- "path": [
- "streams",
- 0,
- "inputs",
- 0,
- "url",
- "input_url"
], - "detail": "string"
}, - "is_chassis": true,
- "total_clients": 2040,
- "total_streams": 45,
- "online_streams": 27,
- "opened_files": 5,
- "input_kbit": 400300,
- "output_kbit": 500400,
- "error": "string",
- "predictions": {
- "disk": {
- "estimated_disk_usage": 0
}
}
}, - "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu"
}
], - "mode": "bitrate"
}
], - "camera_alarm": {
- "listen": 65535,
- "catch": [
- "string"
]
}, - "rproxy": {
- "streampoint_key": "string",
- "forward_ports": {
- "property1": {
- "handler": "string",
- "options": { }
}, - "property2": {
- "handler": "string",
- "options": { }
}
}, - "endpoint_auth": "string"
}, - "vsaas": {
- "watcher_url": "string",
- "central_url": "string"
}, - "file_processor": {
- "path": "string"
}, - "iptv": {
- "database": "string"
}, - "decklinks": [
- {
- "name": 0,
- "profile": "one_full"
}
], - "http_proxies": [
- {
- "prefix": "string",
- "url": "string",
- "mainpage": false,
- "stats": {
- "requests": 1000,
- "protocol_upgrades": 1000,
- "proxy_error": 10,
- "proxy_error_connection": 10,
- "http_100": 1000,
- "http_200": 1000,
- "http_300": 10,
- "http_400": 10,
- "http_500": 10,
- "time_100ms": 10,
- "time_500ms": 5,
- "time_1000ms": 2,
- "time_5000ms": 2,
- "time_longms": 1
}
}
]
}, - "total_bandwidth": 1024,
- "labels": {
- "key1": "value1",
- "key2": "value2"
}
}
A changes into stream or streamer configuration
{- "role": "streamer",
- "channel_limit": 5,
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "config": {
- "listeners": {
- "http": [
- {
- "port": 80,
- "address": "10.0.35.1"
}
]
}, - "srt": 65535,
- "srt_play": {
- "port": 9050,
- "timeout": 10
}, - "srt2_play": {
- "port": 9050,
- "timeout": 10
}, - "srt_publish": {
- "port": 9050,
- "timeout": 10
}, - "srt2_publish": {
- "port": 9050,
- "timeout": 10
}, - "geoip": "/usr/share/GeoIP/GeoLite2-City.mmdb",
- "meta": "{\"role\": \"transcoder\"}",
- "loglevel": "error",
- "nvidia_monitor": true,
- "total_bandwidth": 1000000000,
- "log_requests": true,
- "pulsedb": "/var/run/flussonic/pulsedb",
- "session_log": "/var/run/flussonic/session_log",
- "cluster_key": "xS6i6Q3DCc5nEvnu",
- "url_prefix": false,
- "view_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "edit_auth": {
- "login": "secretlogin",
- "password": "passw"
}, - "api_allowed_from": [
- "string"
], - "auth_token": "token",
- "chassis": {
- "hostname": "coder1.example.com",
- "default_gateway_interface": "streaming",
- "ntp_servers": [
- "string"
]
}, - "event_sinks": [
- {
- "url": "jsonlog:///var/log/events-json.log",
- "only": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "except": [
- {
- "property1": [
- "stream_stopped"
], - "property2": [
- "stream_stopped"
]
}
], - "throttle_delay": 1,
- "max_size": 10000,
- "max_depth": 100,
- "resend_limit": 1000,
- "resend_timeout": 10,
- "level": "debug",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "auth_backends": [
- {
- "allow_tokens": [
- "test_token1",
- "test_token2"
], - "deny_tokens": [
- "test_token3",
- "test_token4"
], - "allow_ips": [
- "127.0.0.1",
- "10.10.0.0/24"
], - "deny_ips": [
- "8.8.8.8",
- "10.10.0.0/24"
], - "allow_countries": [
- "RU",
- "US"
], - "deny_countries": [
- "RU",
- "GB"
], - "allow_uas": [
- "AppleWebKit/533.3 (KHTML, like Gecko)",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "deny_uas": [
- "Mobile Safari/533.3",
- "VLC/3.0.8 LibVLC/3.0.8"
], - "allow_default": false
}
], - "vods": [
- {
- "prefix": "movies",
- "auto_mbr": false,
- "position": 1,
- "disabled": false,
- "storages": [
- {
- "url": "/storage",
- "extra": {
- "property1": "string",
- "property2": "string"
}
}
], - "on_play": {
- "domains": [
- "mycompany.com"
], - "max_sessions": 5000,
- "allowed_countries": [
- "US",
- "DE",
- "GB"
], - "disallowed_countries": [
- "US",
- "DE",
- "GB"
], - "soft_limitation": false,
- "session_keys": [
- "name",
- "token",
- "proto",
- "ip"
], - "extra": {
- "property1": "string",
- "property2": "string"
}
}, - "cache": {
- "reference": "cache1",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 3600
}, - "read_queue": 100,
- "download": false,
- "protocols": {
- "whitelist": false,
- "hls": true,
- "cmaf": true,
- "dash": true,
- "player": true,
- "mss": true,
- "rtmp": true,
- "rtsp": true,
- "m4f": true,
- "m4s": true,
- "mseld": true,
- "tshttp": true,
- "webrtc": true,
- "srt": true,
- "shoutcast": true,
- "mp4": true,
- "jpeg": true,
- "api": true
}, - "url_prefix": false,
- "segment_duration": 1000,
- "logo": {
- "height": 100,
- "width": 200,
- "left": 15,
- "top": 15,
- "right": 0,
- "bottom": 0
}, - "timeout": 3,
- "drm": {
- "vendor": "string",
- "hls_ext_x_key_iv": true,
- "resource_id": "L2sItm6",
- "expires": 0,
- "encryption": "full"
}, - "add_audio_only": false,
- "provider": "string"
}
], - "dvrs": [
- {
- "root": "string",
- "raid": 0,
- "active": 0,
- "index": "string",
- "disks": [
- {
- "mode": "keep"
}
], - "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}
], - "peers": [
], - "sources": [
- {
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "transponders": [
- {
- "pushes": [
- {
- "url": "string",
- "multicast_loop": true,
- "tos": 0,
- "standby": true
}
], - "bitrate": 0,
- "provider": "Example Provider",
- "network_name": "Example Network",
- "ts_stream_id": 0,
- "network_id": 0,
- "original_network_id": 0,
- "ts_descriptors": [ ],
- "timeouts": {
- "service_type": 0,
- "media_info": 0
}, - "programs": [
- {
- "program_id": 1,
- "source": "hockey1",
- "lcn": 5,
- "service_type": "digital_tv",
- "title": "ProgramTitle",
- "pids": {
- "pmt": 8191,
- "pcr": 8191,
- "sdt": 8191,
- "media": [
- {
- "pid": 8191,
- "content": "audio",
- "codec": "scte35",
- "track": 1,
- "bitrate": 2543,
- "stream_type": 12,
- "es_info": "52010D"
}
], - "default": "auto"
}, - "eit_title": "EIT_Title"
}
], - "time_offsets": [ ],
- "versions": {
- "psi": 31,
- "pat": 31,
- "pmt": 31,
- "nit": 31,
- "sdt": 31,
- "cat": 31
}, - "others": [ ],
- "eit": {
- "max_bitrate": 0,
- "xmltv_url": "xmltv_dir",
- "keep_epg": 0,
- "intervals_pf": {
- "actual": 0,
- "other": 0
}, - "intervals_schedule": {
- "actual": 0,
- "other": 0
}
}, - "video_buffer": 0,
- "prebuffer": 800
}
], - "templates": [
- {
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}
}
], - "streams": [ ],
- "caches": [
- {
- "path": "/storage/cache",
- "misses": 3,
- "storage_limit": 400000,
- "expiration": 604800
}
], - "dvb_cards": [
- {
- "hw": "dvb",
- "system": "dvbs",
- "adapter": 16,
- "device": 0,
- "frontend": 0,
- "frequency": 11606,
- "symbol_rate": 27500,
- "int_freq": 0,
- "high_band": true,
- "polarization": "v",
- "hierarchy": "1",
- "transmission_mode": "1k",
- "guard_interval": "1_16",
- "pilot": "auto",
- "rolloff": "35",
- "bandwidth": 6000000,
- "code_rate_lp": "1_2",
- "code_rate_hp": "1_2",
- "modulation": "auto",
- "disabled": false,
- "comment": "string",
- "stats": {
- "ber": 5,
- "strength_raw": 62446,
- "strength": 95,
- "snr_raw": 894,
- "snr": 1,
- "has_signal": true,
- "has_carrier": true,
- "has_viterbi": true,
- "has_sync": true,
- "has_lock": true,
- "has_timedout": false,
- "has_reinit": false,
- "has_rate": true
}, - "serial": 0,
- "port": 0,
- "compensate_time_drift_ppm": 0,
- "plp_stream_id": 0,
- "attenuator": 0,
- "interleave": 15,
- "gain": 0,
- "input_bitrate": 0,
- "video_device": "/dev/video0"
}
], - "balancers": [
- {
- "servers": [
- {
- "max_bitrate": 0,
- "countries": [
- "string"
], - "countries_default": false
}
], - "peers": [
], - "mode": "bitrate"
}
], - "camera_alarm": {
- "listen": 65535,
- "catch": [
- "string"
]
}, - "rproxy": {
- "streampoint_key": "string",
- "forward_ports": {
- "property1": {
- "handler": "string",
- "options": { }
}, - "property2": {
- "handler": "string",
- "options": { }
}
}, - "endpoint_auth": "string"
}, - "vsaas": {
- "watcher_url": "string",
- "central_url": "string"
}, - "file_processor": {
- "path": "string"
}, - "iptv": {
- "database": "string"
}, - "decklinks": [
- {
- "profile": "one_full"
}
], - "http_proxies": [
- {
- "prefix": "string",
- "url": "string",
- "mainpage": false
}
]
}, - "total_bandwidth": 1024,
- "labels": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "changes": [
- {
- "hostname": "streamer1",
- "role": "ingest",
- "before": 321,
- "after": 123,
- "delta": 1
}
]
}
This method allows you to fetch cluster's health
Openmetrics"openmetrics" (string) Example: format=openmetrics This parameter is used instead of the Accept header to select of non-JSON response content format. |
{- "version": 240100023,
- "server_id": "123e4567-e89b-12d3-a456-426655440000",
- "collected_at": 1000000000000,
- "stream_metrics_total": {
- "operational": 0,
- "degradated": 0,
- "partial_outage": 0,
- "outage": 0,
- "disabled": 0,
- "total": 0
}, - "agent_metrics_total": {
- "operational": 0,
- "degradated": 0,
- "partial_outage": 0,
- "outage": 0,
- "disabled": 0,
- "total": 0
}, - "streamer_metrics_total": {
- "operational": 0,
- "degradated": 0,
- "partial_outage": 0,
- "outage": 0,
- "disabled": 0,
- "total": 0
}, - "streamer_bitrate_metrics_total": {
- "input_kbit": 0,
- "output_kbit": 0
}, - "streamer_metrics": [
- {
- "hostname": "string",
- "uptime": 4325502,
- "config": {
- "status": "operational"
}, - "status": "operational",
- "stream_metrics": {
- "operational": 0,
- "degradated": 0,
- "partial_outage": 0,
- "outage": 0,
- "disabled": 0,
- "total": 0,
- "status": "operational"
}, - "agent_metrics": {
- "operational": 0,
- "degradated": 0,
- "partial_outage": 0,
- "outage": 0,
- "disabled": 0,
- "total": 0,
- "status": "operational"
}, - "cpu": {
- "usage": 48,
- "status": "operational"
}, - "memory": {
- "usage": 27,
- "status": "operational"
}, - "storage": {
- "usage": 18,
- "status": "operational"
}, - "network": {
- "in_kbit": {
- "usage": 0,
- "status": "operational"
}, - "out_kbit": {
- "usage": 0,
- "status": "operational"
}
}
}
]
}
The method creates a new temporary auth-token (JWT). The JTW token used as Bearer token in requests other than /login
.
{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "refresh_token": "3637e790-5530-11ed-bdc3-0242ac120002"
}
List of available users
select | string Example: select=episode_id,media,close_reason Comma-separated list of fields (including nested) that will be returned. |
limit | integer Example: limit=100 Limit select count in collection to N elements. |
cursor | string Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ== Properly encoded analog of offset, allowing to read next bunch of items.
We do not offer common |
organization_id | integer Organization identifier to select users only available for this organization.
If the |
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "users_list": [
- {
- "name": "string",
- "fullname": "string",
- "email": "user@example.com",
- "phone": "+78007778413",
- "locale": "en",
- "note": "string",
- "max_sessions": 0,
- "id": 1,
- "disabled": false,
- "readonly": false,
- "organizations": [
- {
- "id": 1,
- "title": "Cameras",
- "owner": {
- "id": 2,
- "name": "admin"
}, - "permissions": {
- "is_member": true,
- "can_view_stats": true,
- "can_edit_streams": true,
- "can_edit_users": true,
- "can_view_persons_lists": true,
- "can_edit_persons_lists": true
}
}
], - "access_level": "generic"
}
]
}
This method allows you to create a user
User data
{- "name": "string",
- "fullname": "string",
- "password": "string",
- "email": "user@example.com",
- "phone": "+78007778413",
- "locale": "en",
- "note": "string",
- "max_sessions": 0,
- "disabled": false,
- "readonly": false,
- "access_level": "generic",
- "organization_id": 12
}
{- "name": "string",
- "fullname": "string",
- "email": "user@example.com",
- "phone": "+78007778413",
- "locale": "en",
- "note": "string",
- "max_sessions": 0,
- "id": 1,
- "disabled": false,
- "readonly": false,
- "organizations": [
- {
- "id": 1,
- "title": "Cameras",
- "owner": {
- "id": 2,
- "name": "admin"
}, - "permissions": {
- "is_member": true,
- "can_view_stats": true,
- "can_edit_streams": true,
- "can_edit_users": true,
- "can_view_persons_lists": true,
- "can_edit_persons_lists": true
}
}
], - "access_level": "generic"
}
This method allows you to fetch the user by its identifier
{- "name": "string",
- "fullname": "string",
- "email": "user@example.com",
- "phone": "+78007778413",
- "locale": "en",
- "note": "string",
- "max_sessions": 0,
- "id": 1,
- "disabled": false,
- "readonly": false,
- "organizations": [
- {
- "id": 1,
- "title": "Cameras",
- "owner": {
- "id": 2,
- "name": "admin"
}, - "permissions": {
- "is_member": true,
- "can_view_stats": true,
- "can_edit_streams": true,
- "can_edit_users": true,
- "can_view_persons_lists": true,
- "can_edit_persons_lists": true
}
}
], - "access_level": "generic"
}
This method allows you to update user data
User data
{- "name": "string",
- "fullname": "string",
- "password": "string",
- "email": "user@example.com",
- "phone": "+78007778413",
- "locale": "en",
- "note": "string",
- "max_sessions": 0,
- "disabled": false,
- "readonly": false,
- "access_level": "generic"
}
{- "name": "string",
- "fullname": "string",
- "email": "user@example.com",
- "phone": "+78007778413",
- "locale": "en",
- "note": "string",
- "max_sessions": 0,
- "id": 1,
- "disabled": false,
- "readonly": false,
- "organizations": [
- {
- "id": 1,
- "title": "Cameras",
- "owner": {
- "id": 2,
- "name": "admin"
}, - "permissions": {
- "is_member": true,
- "can_view_stats": true,
- "can_edit_streams": true,
- "can_edit_users": true,
- "can_view_persons_lists": true,
- "can_edit_persons_lists": true
}
}
], - "access_level": "generic"
}
This API method is one of the most important in whole API, because it gives the list of all streams.
streams_list
in Watcher Admin API:
streams_list
in Watcher Client API:
select | string Example: select=episode_id,media,close_reason Comma-separated list of fields (including nested) that will be returned. |
sort | string Example: sort=-stats.bitrate,name,position Composite sort direction.
Default sort order is |
limit | integer Example: limit=100 Limit select count in collection to N elements. |
cursor | string Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ== Properly encoded analog of offset, allowing to read next bunch of items.
We do not offer common |
q | string Example: q=somepattern Search pattern for different fields like name, title, urls, etc. |
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "streams": [
- {
- "name": "string",
- "comment": "This is a test stream",
- "title": "Hockey channel",
- "static": true,
- "disabled": false,
- "stats": {
- "lifetime": 71977,
- "last_dts_at": 1636383841974,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "status": "running",
- "input_error_rate": 0,
- "retry_count": 0,
- "current_agent_id": "string",
- "agent_status": "connected",
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": 1525186456,
- "duration": 28800,
- "opened_at": 1000000000000,
- "closed_at": 1000000000000
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "alive": true,
- "bitrate": 186,
- "playback_token": "onetime_token",
- "streaming_endpoint": "string",
- "online_clients": 3,
- "bytes_out": 0
}, - "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "stats": {
- "ip": "172.16.25.73",
- "proto": "dash",
- "opened_at": 1637094994000,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "ts_delay_per_tracks": [
- 1284
], - "url": "udp://239.0.0.1:1234",
- "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "active": true,
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": 1525186456,
- "duration": 28800,
- "opened_at": 1000000000000,
- "closed_at": 1000000000000
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "bytes": 0,
- "frames": 0,
- "retries": 0,
- "media_info_changes": 0,
- "valid_secondary_inputs": 2,
- "invalid_secondary_inputs": 0,
- "resync_count_normal": 0,
- "resync_count_jump": 0,
- "resync_count_drift": 0,
- "reorder_count": 0,
- "ad_splices_ingested": 0,
- "ad_splices_inserted": 0,
- "srt": {
- "rtt": 0,
- "latency": 0,
- "packets": 0,
- "retransmitted_packets": 0,
- "error_lost_packets": 0,
- "error_dropped_packets": 0
}, - "onvif": {
- "motion_detected_count": 0,
- "errors_not_authorized_count": 0,
- "errors_url_unreachable_count": 0,
- "errors_no_service_count": 0,
- "errors_incorrect_time_values_count": 0
}, - "errors": 0,
- "errors_lost_packets": 0,
- "errors_decoder_reset": 0,
- "errors_broken_payload": 0,
- "errors_dropped_frames": 0,
- "errors_desync": 0,
- "errors_ts_pat": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "frames": 0,
- "empty_packets": 0,
- "errors_adaptation_broken": 0,
- "errors_ts_scrambled": 0,
- "errors_ts_pmt": 0,
- "errors_ts_cc": 0,
- "errors_ts_tei": 0,
- "errors_ts_psi_checksum": 0,
- "errors_pid_lost": 0,
- "broken_pes_count": 0,
- "broken_pes_sum": 0,
- "time_corrections": 0,
- "repeated_frames": 0,
- "corrected_backward_pts": 0,
- "pcr_resync": 0,
- "discarded_buffer_count": 0,
- "discarded_buffer_sum": 0,
- "fillers_count": 0,
- "fillers_sum": 0,
- "padding_pes_count": 0,
- "padding_pes_sum": 0,
- "crashed": 0,
- "dts_goes_backwards": 0,
- "dts_jump_forward": 0,
- "too_large_dts_jump": 0
}
], - "rtp_channels": [
- {
- "channel_id": 0,
- "content": "video",
- "rtp_packets": 0,
- "rtcp_packets": 0,
- "bytes": 0,
- "frames": 0,
- "pt_reject_count": 0,
- "pt_reject_sum": 0,
- "ts_goes_backwards": 0,
- "ts_jump_forward": 0,
- "ts_stuck": 0,
- "errors_dts_stuck": 0,
- "sr_ts_stuck": 0,
- "sender_clock_deviation": 0,
- "marker_packets_count": 0,
- "no_marker_mode_flag": true,
- "errors_broken_payload": 0,
- "errors_lost_packets": 0,
- "nal_count": 0,
- "discarded_broken_nal_count": 0,
- "discarded_not_allowed_nal_count": 0,
- "nal_fu_count": 0,
- "nal_stap_a_count": 0,
- "nal_aggregation_count": 0,
- "fu_pattern_is_broken_count": 0,
- "fu_has_both_start_end_bits_count": 0,
- "incomplete_nal_count": 0,
- "discarded_fu_count": 0,
- "fu_end_then_middle_workaround_count": 0,
- "nal_sei_count": 0,
- "invalid_sei_type_count": 0,
- "invalid_sei_size_count": 0,
- "invalid_sei_payload_count": 0,
- "discarded_sei_count": 0,
- "nal_idr_count": 0,
- "nal_single_count": 0,
- "nal_sps_count": 0,
- "nal_pps_count": 0,
- "nal_aud_count": 0,
- "nal_filler_count": 0,
- "nal_slice_count": 0,
- "nal_vps_count": 0,
- "nal_other_count": 0,
- "discarded_nal_count": 0
}
], - "errors_ts_service_lost": 0,
- "errors_ts_stuck_restarts": 0,
- "errors_404": 0,
- "errors_403": 0,
- "errors_500": 0,
- "errors_crashed": 0,
- "sdi": {
- "errors_no_signal": 0,
- "errors_duplicate": 0,
- "errors_ts_duplicate": 0,
- "errors_cpu_stall": 0,
- "peak_duration_deviation": 0,
- "avg_recv_duration": 0
}
}, - "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}, - "organization_id": 9,
- "coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "postal_address": "string",
- "map_coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "onvif": {
- "url": "string",
- "ptz": true
}, - "preset_id": 0,
- "folder_id": 0,
- "audio": {
- "transcode_audio_codec": "aac",
- "disabled": false
}, - "layout": {
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string",
- "created_at": 1637094994000,
- "originator": "layouter"
}, - "path": [
- {
- "id": 0,
- "title": "string"
}
], - "firmware_update_duration": 0,
- "last_episode_at": 1000000000000,
- "last_change": {
- "created_at": 1000000000000,
- "user": "string"
}
}
]
}
This method allows to fetch a single stream. Refer to the streams_list
operation to find out what data will be returned in this method.
{- "name": "string",
- "comment": "This is a test stream",
- "title": "Hockey channel",
- "static": true,
- "disabled": false,
- "stats": {
- "lifetime": 71977,
- "last_dts_at": 1636383841974,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "status": "running",
- "input_error_rate": 0,
- "retry_count": 0,
- "current_agent_id": "string",
- "agent_status": "connected",
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": 1525186456,
- "duration": 28800,
- "opened_at": 1000000000000,
- "closed_at": 1000000000000
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "alive": true,
- "bitrate": 186,
- "playback_token": "onetime_token",
- "streaming_endpoint": "string",
- "online_clients": 3,
- "bytes_out": 0
}, - "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "stats": {
- "ip": "172.16.25.73",
- "proto": "dash",
- "opened_at": 1637094994000,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "ts_delay_per_tracks": [
- 1284
], - "url": "udp://239.0.0.1:1234",
- "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "active": true,
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": 1525186456,
- "duration": 28800,
- "opened_at": 1000000000000,
- "closed_at": 1000000000000
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "bytes": 0,
- "frames": 0,
- "retries": 0,
- "media_info_changes": 0,
- "valid_secondary_inputs": 2,
- "invalid_secondary_inputs": 0,
- "resync_count_normal": 0,
- "resync_count_jump": 0,
- "resync_count_drift": 0,
- "reorder_count": 0,
- "ad_splices_ingested": 0,
- "ad_splices_inserted": 0,
- "srt": {
- "rtt": 0,
- "latency": 0,
- "packets": 0,
- "retransmitted_packets": 0,
- "error_lost_packets": 0,
- "error_dropped_packets": 0
}, - "onvif": {
- "motion_detected_count": 0,
- "errors_not_authorized_count": 0,
- "errors_url_unreachable_count": 0,
- "errors_no_service_count": 0,
- "errors_incorrect_time_values_count": 0
}, - "errors": 0,
- "errors_lost_packets": 0,
- "errors_decoder_reset": 0,
- "errors_broken_payload": 0,
- "errors_dropped_frames": 0,
- "errors_desync": 0,
- "errors_ts_pat": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "frames": 0,
- "empty_packets": 0,
- "errors_adaptation_broken": 0,
- "errors_ts_scrambled": 0,
- "errors_ts_pmt": 0,
- "errors_ts_cc": 0,
- "errors_ts_tei": 0,
- "errors_ts_psi_checksum": 0,
- "errors_pid_lost": 0,
- "broken_pes_count": 0,
- "broken_pes_sum": 0,
- "time_corrections": 0,
- "repeated_frames": 0,
- "corrected_backward_pts": 0,
- "pcr_resync": 0,
- "discarded_buffer_count": 0,
- "discarded_buffer_sum": 0,
- "fillers_count": 0,
- "fillers_sum": 0,
- "padding_pes_count": 0,
- "padding_pes_sum": 0,
- "crashed": 0,
- "dts_goes_backwards": 0,
- "dts_jump_forward": 0,
- "too_large_dts_jump": 0
}
], - "rtp_channels": [
- {
- "channel_id": 0,
- "content": "video",
- "rtp_packets": 0,
- "rtcp_packets": 0,
- "bytes": 0,
- "frames": 0,
- "pt_reject_count": 0,
- "pt_reject_sum": 0,
- "ts_goes_backwards": 0,
- "ts_jump_forward": 0,
- "ts_stuck": 0,
- "errors_dts_stuck": 0,
- "sr_ts_stuck": 0,
- "sender_clock_deviation": 0,
- "marker_packets_count": 0,
- "no_marker_mode_flag": true,
- "errors_broken_payload": 0,
- "errors_lost_packets": 0,
- "nal_count": 0,
- "discarded_broken_nal_count": 0,
- "discarded_not_allowed_nal_count": 0,
- "nal_fu_count": 0,
- "nal_stap_a_count": 0,
- "nal_aggregation_count": 0,
- "fu_pattern_is_broken_count": 0,
- "fu_has_both_start_end_bits_count": 0,
- "incomplete_nal_count": 0,
- "discarded_fu_count": 0,
- "fu_end_then_middle_workaround_count": 0,
- "nal_sei_count": 0,
- "invalid_sei_type_count": 0,
- "invalid_sei_size_count": 0,
- "invalid_sei_payload_count": 0,
- "discarded_sei_count": 0,
- "nal_idr_count": 0,
- "nal_single_count": 0,
- "nal_sps_count": 0,
- "nal_pps_count": 0,
- "nal_aud_count": 0,
- "nal_filler_count": 0,
- "nal_slice_count": 0,
- "nal_vps_count": 0,
- "nal_other_count": 0,
- "discarded_nal_count": 0
}
], - "errors_ts_service_lost": 0,
- "errors_ts_stuck_restarts": 0,
- "errors_404": 0,
- "errors_403": 0,
- "errors_500": 0,
- "errors_crashed": 0,
- "sdi": {
- "errors_no_signal": 0,
- "errors_duplicate": 0,
- "errors_ts_duplicate": 0,
- "errors_cpu_stall": 0,
- "peak_duration_deviation": 0,
- "avg_recv_duration": 0
}
}, - "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}, - "organization_id": 9,
- "coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "postal_address": "string",
- "map_coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "onvif": {
- "url": "string",
- "ptz": true
}, - "preset_id": 0,
- "folder_id": 0,
- "audio": {
- "transcode_audio_codec": "aac",
- "disabled": false
}, - "layout": {
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string",
- "created_at": 1637094994000,
- "originator": "layouter"
}, - "path": [
- {
- "id": 0,
- "title": "string"
}
], - "firmware_update_duration": 0,
- "last_episode_at": 1000000000000,
- "last_change": {
- "created_at": 1000000000000,
- "user": "string"
}
}
Create or update a stream by its name. If the stream doesn't exists in the disk config, it will be created.
If you try to update a stream that is started from a template by a user request
having named_by=user
, a new stream will be created in the disk config.
If you pass only a partial stream configuration, this field will be updated, not the whole stream.
To create a new stream the property name
is required.
Pass the "$reset": true
option to replace the stream configuration with the provided one.
Partial stream configuration
{- "comment": "This is a test stream",
- "title": "Hockey channel",
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}, - "organization_id": 9,
- "coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "postal_address": "string",
- "map_coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "onvif": {
- "url": "string",
- "ptz": true
}, - "preset_id": 0,
- "folder_id": 0,
- "audio": {
- "transcode_audio_codec": "aac",
- "disabled": false
}, - "layout": {
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string"
}
}
{- "name": "string",
- "comment": "This is a test stream",
- "title": "Hockey channel",
- "static": true,
- "disabled": false,
- "stats": {
- "lifetime": 71977,
- "last_dts_at": 1636383841974,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "status": "running",
- "input_error_rate": 0,
- "retry_count": 0,
- "current_agent_id": "string",
- "agent_status": "connected",
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": 1525186456,
- "duration": 28800,
- "opened_at": 1000000000000,
- "closed_at": 1000000000000
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "alive": true,
- "bitrate": 186,
- "playback_token": "onetime_token",
- "streaming_endpoint": "string",
- "online_clients": 3,
- "bytes_out": 0
}, - "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "stats": {
- "ip": "172.16.25.73",
- "proto": "dash",
- "opened_at": 1637094994000,
- "media_info": {
- "flow_type": "stream",
- "tracks": [ ],
- "duration": 0,
- "provider": "Netflix",
- "title": "Bunny",
- "stream_id": 253,
- "program_id": 110
}, - "ts_delay": 1284,
- "ts_delay_per_tracks": [
- 1284
], - "url": "udp://239.0.0.1:1234",
- "user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML. like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "active": true,
- "dvr_info": {
- "from": 1641045644,
- "depth": 259200,
- "ranges": [
- {
- "from": 1525186456,
- "duration": 28800,
- "opened_at": 1000000000000,
- "closed_at": 1000000000000
}
], - "bytes": 129600000000,
- "disk_size": 1099511627776,
- "duration": 172800
}, - "bytes": 0,
- "frames": 0,
- "retries": 0,
- "media_info_changes": 0,
- "valid_secondary_inputs": 2,
- "invalid_secondary_inputs": 0,
- "resync_count_normal": 0,
- "resync_count_jump": 0,
- "resync_count_drift": 0,
- "reorder_count": 0,
- "ad_splices_ingested": 0,
- "ad_splices_inserted": 0,
- "srt": {
- "rtt": 0,
- "latency": 0,
- "packets": 0,
- "retransmitted_packets": 0,
- "error_lost_packets": 0,
- "error_dropped_packets": 0
}, - "onvif": {
- "motion_detected_count": 0,
- "errors_not_authorized_count": 0,
- "errors_url_unreachable_count": 0,
- "errors_no_service_count": 0,
- "errors_incorrect_time_values_count": 0
}, - "errors": 0,
- "errors_lost_packets": 0,
- "errors_decoder_reset": 0,
- "errors_broken_payload": 0,
- "errors_dropped_frames": 0,
- "errors_desync": 0,
- "errors_ts_pat": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "frames": 0,
- "empty_packets": 0,
- "errors_adaptation_broken": 0,
- "errors_ts_scrambled": 0,
- "errors_ts_pmt": 0,
- "errors_ts_cc": 0,
- "errors_ts_tei": 0,
- "errors_ts_psi_checksum": 0,
- "errors_pid_lost": 0,
- "broken_pes_count": 0,
- "broken_pes_sum": 0,
- "time_corrections": 0,
- "repeated_frames": 0,
- "corrected_backward_pts": 0,
- "pcr_resync": 0,
- "discarded_buffer_count": 0,
- "discarded_buffer_sum": 0,
- "fillers_count": 0,
- "fillers_sum": 0,
- "padding_pes_count": 0,
- "padding_pes_sum": 0,
- "crashed": 0,
- "dts_goes_backwards": 0,
- "dts_jump_forward": 0,
- "too_large_dts_jump": 0
}
], - "rtp_channels": [
- {
- "channel_id": 0,
- "content": "video",
- "rtp_packets": 0,
- "rtcp_packets": 0,
- "bytes": 0,
- "frames": 0,
- "pt_reject_count": 0,
- "pt_reject_sum": 0,
- "ts_goes_backwards": 0,
- "ts_jump_forward": 0,
- "ts_stuck": 0,
- "errors_dts_stuck": 0,
- "sr_ts_stuck": 0,
- "sender_clock_deviation": 0,
- "marker_packets_count": 0,
- "no_marker_mode_flag": true,
- "errors_broken_payload": 0,
- "errors_lost_packets": 0,
- "nal_count": 0,
- "discarded_broken_nal_count": 0,
- "discarded_not_allowed_nal_count": 0,
- "nal_fu_count": 0,
- "nal_stap_a_count": 0,
- "nal_aggregation_count": 0,
- "fu_pattern_is_broken_count": 0,
- "fu_has_both_start_end_bits_count": 0,
- "incomplete_nal_count": 0,
- "discarded_fu_count": 0,
- "fu_end_then_middle_workaround_count": 0,
- "nal_sei_count": 0,
- "invalid_sei_type_count": 0,
- "invalid_sei_size_count": 0,
- "invalid_sei_payload_count": 0,
- "discarded_sei_count": 0,
- "nal_idr_count": 0,
- "nal_single_count": 0,
- "nal_sps_count": 0,
- "nal_pps_count": 0,
- "nal_aud_count": 0,
- "nal_filler_count": 0,
- "nal_slice_count": 0,
- "nal_vps_count": 0,
- "nal_other_count": 0,
- "discarded_nal_count": 0
}
], - "errors_ts_service_lost": 0,
- "errors_ts_stuck_restarts": 0,
- "errors_404": 0,
- "errors_403": 0,
- "errors_500": 0,
- "errors_crashed": 0,
- "sdi": {
- "errors_no_signal": 0,
- "errors_duplicate": 0,
- "errors_ts_duplicate": 0,
- "errors_cpu_stall": 0,
- "peak_duration_deviation": 0,
- "avg_recv_duration": 0
}
}, - "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "stats": {
- "url": "string",
- "opened_at": 1000000000000,
- "status": "starting",
- "standby_status": "active",
- "bytes": 0,
- "frames": 0,
- "segments": 0,
- "pusher_restarts": 0,
- "errors_stop_overloaded": 0,
- "errors_dropped_frames": 0,
- "errors_dropped_segments": 0,
- "pids": [
- {
- "pid": 0,
- "pnr": 0,
- "packets": 0,
- "payload_bytes": 0,
- "fillers_bytes": 0,
- "stuffing_packets": 0,
- "trimmed_bytes": 0,
- "trimmed_frames": 0
}
], - "sys_fillers_bytes": 0,
- "sys_payload_bytes": 0,
- "sys_stuffing_packets": 0,
- "encoded_bytes": 0,
- "resent_packets": 0,
- "errors_device_not_opened": 0,
- "errors_device_buffer_overflow": 0,
- "errors_audio_frame_decode": 0,
- "errors_video_frame_decode": 0,
- "errors_no_destination": 0,
- "errors_tls": 0,
- "errors_connection_lost": 0,
- "errors_401": 0,
- "errors_403": 0,
- "errors_404": 0,
- "errors_409": 0,
- "errors_500": 0,
- "errors_redirect_limit": 0,
- "errors_not_authorized": 0,
- "genlock_status": "no_ref",
- "genref_status": {
- "port": 0,
- "external": true,
- "vstd": "pal",
- "vstd_detected": "pal"
}
}, - "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}, - "organization_id": 9,
- "coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "postal_address": "string",
- "map_coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "onvif": {
- "url": "string",
- "ptz": true
}, - "preset_id": 0,
- "folder_id": 0,
- "audio": {
- "transcode_audio_codec": "aac",
- "disabled": false
}, - "layout": {
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string",
- "created_at": 1637094994000,
- "originator": "layouter"
}, - "path": [
- {
- "id": 0,
- "title": "string"
}
], - "firmware_update_duration": 0,
- "last_episode_at": 1000000000000,
- "last_change": {
- "created_at": 1000000000000,
- "user": "string"
}
}
This method allows to delete a single stream. You can delete config_override
by this API call if you want
to remove all runtime overrides.
If you do not specify any part
parameter, this stream will be deleted from config_on_disk
and if it was named_by: config
, then it will immediately stop.
part | string Default: "config_on_disk" Enum: "config_override" "config_on_disk" part of config to delete |
This method allows you to fetch stream layouts list
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "layouts": [
- {
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string",
- "created_at": 1637094994000,
- "originator": "layouter"
}
]
}
A changes into stream or streamer configuration
{- "comment": "This is a test stream",
- "title": "Hockey channel",
- "static": true,
- "disabled": false,
- "inputs": [
- {
- "url": "fake://fake",
- "width": 0,
- "height": 0,
- "bitrate": 0,
- "comment": "This is a test input",
- "source_timeout": 20,
- "audio_timeout": 20,
- "video_timeout": 20,
- "max_retry_timeout": 30,
- "timeout": 10,
- "frames_timeout": 3,
- "priority": 1,
- "user_agent": "string",
- "via": "string",
- "output_audio": "keep",
- "headers": {
- "User-Agent": "curl/7.85.0",
- "Authorization": "Basic dXNlcjpwYXNzd29yZA=="
}, - "no_clients_reconnect_delay": 0,
- "allow_if": "string",
- "deny_if": "string"
}
], - "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "pushes": [
- {
- "url": "string",
- "comment": "This is a test push",
- "retry_limit": 0,
- "retry_timeout": 7,
- "timeout": 10,
- "disabled": true
}
], - "labels": {
- "key1": "value1",
- "key2": "value2"
}, - "vision": {
- "alg": "faces",
- "areas": "string",
- "detectors": [
- {
- "detector_type": "faces",
- "region_title": "Zone 1",
- "region_id": "string",
- "region_coordinates": [
- {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}, - {
- "x": 1,
- "y": 1
}
]
}
]
}, - "organization_id": 9,
- "coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "postal_address": "string",
- "map_coordinates": {
- "latitude": 55.7512,
- "longitude": 37.6184
}, - "onvif": {
- "url": "string",
- "ptz": true
}, - "preset_id": 0,
- "folder_id": 0,
- "audio": {
- "transcode_audio_codec": "aac",
- "disabled": false
}, - "layout": {
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string"
}
}
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "changes": [
- {
- "name": "string",
- "change_reason": "stream_misses_node_required_labels",
- "dvr_backups": [
- "string"
], - "inference": "string",
- "node_layout_decisions": [
- {
- "role": "streamer",
- "hostname": "streamer1.com",
- "node_decision": false,
- "reasons": [
- "stream_misses_node_required_labels",
- "node_misses_stream_required_labels",
- "node_channel_limit_exceeded"
]
}
], - "ingest": "string",
- "created_at": 1637094994000,
- "originator": "layouter"
}
]
}
This method allows to fetch a single stream camera config info.
{- "sensor": {
- "brightness_correction": 100,
- "contrast_correction": 100,
- "sharpness": 100,
- "saturation": 100,
- "wide_dynamic_range": 100,
- "blacklight_compensation": {
- "mode": "on"
}, - "infrared_cutoff_filter": {
- "mode": "on"
}, - "image_orientation": "normal"
}, - "camera_info": {
- "firmware": "string",
- "model": "string",
- "manufacturer": "string",
- "serial_number": "string"
}, - "media_quality": "low"
}
Create or update a stream config by its name.
Partial stream config configuration
{- "sensor": {
- "brightness_correction": 100,
- "contrast_correction": 100,
- "sharpness": 100,
- "saturation": 100,
- "wide_dynamic_range": 100,
- "blacklight_compensation": {
- "mode": "on"
}, - "infrared_cutoff_filter": {
- "mode": "on"
}, - "image_orientation": "normal"
}, - "camera_info": {
- "firmware": "string",
- "model": "string",
- "manufacturer": "string",
- "serial_number": "string"
}, - "media_quality": "low"
}
{- "sensor": {
- "brightness_correction": 100,
- "contrast_correction": 100,
- "sharpness": 100,
- "saturation": 100,
- "wide_dynamic_range": 100,
- "blacklight_compensation": {
- "mode": "on"
}, - "infrared_cutoff_filter": {
- "mode": "on"
}, - "image_orientation": "normal"
}, - "camera_info": {
- "firmware": "string",
- "model": "string",
- "manufacturer": "string",
- "serial_number": "string"
}, - "media_quality": "low"
}
This method allows you to update camera firmware
Protocol data and firmware for update camera
image required | any <binary> Image for updating camera. Documentation for updating cameras: https://flussonic.com/doc/flussonic-home-v1/#upgrade. |
Iris"iris" (string) or ISAPI/PSIA"isapi" (string) or Xm"xm" (string) or MSTAR/Sputnik"sputnik" (string) Default: "iris" Protocol for connecting to camera. |
{- "image": "b'DL\u0003\u0004\u0014\u0000'",
- "proto": "iris"
}
The presets in Watcher is a set of DVR and analytics parameters that you can use as a template when creating and configuring cameras. When you select a preset in the camera settings, the parameters from the preset are populated to the camera settings. A set of presets on the camera is defined by the set of presets selected for the camera's Organization. https://flussonic.com/doc/manage-presets-in-watcher-ui/
This method is used to get info about presets.
If the organization_id
is transferred this method will return presets only allowed in organization with that Id.
select | string Example: select=episode_id,media,close_reason Comma-separated list of fields (including nested) that will be returned. |
limit | integer Example: limit=100 Limit select count in collection to N elements. |
cursor | string Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ== Properly encoded analog of offset, allowing to read next bunch of items.
We do not offer common |
organization_id | integer Organization identifier to select presets only available for this organization.
If the |
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "presets": [
- {
- "id": 7,
- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true,
- "deleted_at": 1637095014573
}
]
}
This method will create a new preset.
Preset params.
{- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true
}
{- "id": 7,
- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true,
- "deleted_at": 1637095014573
}
This method is used to get info about preset by its id.
{- "id": 7,
- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true,
- "deleted_at": 1637095014573
}
This method will update the existing preset with the specified id.
Preset params.
{- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true
}
{- "id": 7,
- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true,
- "deleted_at": 1637095014573
}
The list of configured and provisioned Agents, i.e. Agents that connected to your server at least once.
select | string Example: select=episode_id,media,close_reason Comma-separated list of fields (including nested) that will be returned. |
limit | integer Example: limit=100 Limit select count in collection to N elements. |
cursor | string Example: cursor=JTI0cG9zaXRpb25fZ3Q9MQ== Properly encoded analog of offset, allowing to read next bunch of items.
We do not offer common |
stream | string Filter agents by stream presence.
If any stream has the agent in its inputs, the agent will not be returned with filter |
organization_id | integer Organization identifier to select agents only available for this organization.
If the |
title_like | string Filter agents by stream title using partial match. The search is case-insensitive and matches any part of the stream title. |
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "agents": [
- {
- "id": "1234567",
- "key": "string",
- "serial": "string",
- "model": "string",
- "stats": {
- "agent_type": "single",
- "connections_requested": 0,
- "connections_established": 0,
- "peer_ip": "185.134.232.183",
- "local_ip": "10.10.17.88",
- "mac_address": "F0-23-B9-59-20-F1",
- "version": "v21.02-8-g535c85d",
- "endpoint_connection": {
- "opened_at": 1637094994000,
- "hostname": "agents-001.vsaas.io",
- "alive": true,
- "status_changed_at": 1634560921,
- "bytes_from_server": 40000,
- "bytes_to_server": 400000000000
}, - "streampoint_connection": {
- "opened_at": 1637094994000,
- "hostname": "agents-001.vsaas.io",
- "alive": true,
- "status_changed_at": 1634560921,
- "bytes_from_server": 40000,
- "bytes_to_server": 400000000000,
- "connections_attempted": 400,
- "connections_opened": 300,
- "connections_current": 2
}
}, - "streams": [
- {
- "name": "string",
- "comment": "This is a test stream",
- "title": "Hockey channel",
- "organization": {
- "id": 7,
- "title": "Example LLC"
}
}
]
}
]
}
This method allows to get the batch of events. Currently this method is not implemented yet. However, its schema can be used for understanding Watcher logging.
{- "estimated_count": 5,
- "next": "JTI0cG9zaXRpb25fZ3Q9MA==",
- "prev": "JTI0cG9zaXRpb25fbHQ9MSYlMjRyZXZlcnNlZD10cnVl",
- "timing": { },
- "events": [
- {
- "event": "api_call",
- "path": "string",
- "qs": "string",
- "created_at": "2021-01-30T08:30:00.432567Z",
- "ip": "192.34.32.10",
- "user_agent": "Flussonic 24.04",
- "originator": "flussonic",
- "operation_id": "streams_list",
- "payload": "string",
- "status": 0,
- "duration": 0,
- "request_id": "string",
- "utc_ms": 1000000000000,
- "event_id": 0,
- "trace_id": "05cec7ee-fbd0-11ed-be56-0242ac120002",
- "server": "flussonic.host"
}
]
}
Save organization preset by its id or adds new preset to organization.
Organization preset info
preset_id | integer Preset identifier |
{- "preset_id": 7
}
{- "id": 7,
- "title": "Example preset name",
- "is_adjustable": true,
- "dvr": {
- "redundancy_factor": 1,
- "storage_limit": 400000000000,
- "expiration": 0,
- "episodes_expiration": 0
}, - "vision": {
- "alg": "faces"
}, - "is_default": true,
- "deleted_at": 1637095014573
}
This method allows to remove a specific preset from organization.
organization_id required | integer Organization identifier |
preset_id required | integer Preset identifier |
{- "errors": [
- {
- "id": "string",
- "status": "string",
- "code": "string",
- "title": "string",
- "source": {
- "pointer": "string",
- "parameter": "string"
}, - "meta": {
- "property1": "string",
- "property2": "string"
}
}
]
}