Go to documentation repository
Previous page Next page
반환된 VIDEOSOURCEID 식별자는 다음과 같은 형식으로 제공됩니다: "HOSTNAME/ObjectType.Id/Endpoint.Name". 또한 친숙한 이름 및 관련된 다른 메타데이터도 함께 반환됩니다.
파라미터 | 필수 | 설명 |
---|---|---|
limit | No | 반환되는 결과의 최대 수를 결정합니다. 기본값은 1000입니다. |
next_page | No | 요청이 모든 결과를 반환하지 않을 경우 응답에 포함되는 nextPageToken 파라미터의 값입니다. 이는 다음 값을 가져오는 데 사용됩니다. |
filter | No | 필터에 따라 결과의 하위 집합을 가져올 수 있습니다. 현재, 필터 값으로는 HOSTNAME 또는 VIDEOSOURCEID를 사용할 수 있습니다. Attention! 서버 이름으로 "Office"가 지정되면 GET http://IP-address:port/prefix/camera/list?filter=Office 요청은 Office 서버의 모든 비디오 카메라를 반환합니다. |
group_ids | No | 카메라가 속해야 하는 그룹 식별자의 목록 (그룹 목록 및 내용 가져오기 참조). 여러 식별자를 구분 기호 "|"를 사용하여 지정할 수 있습니다. 예를 들어: http://localhost:80/camera/list?group_ids=6af92229-43ff-0347-9dae-081bf9835733|b48111eb-64c5-294c-a69c-4adb07c954d1 이 경우, 응답에는 지정된 그룹 중 적어도 하나에 속하는 모든 카메라가 포함됩니다. |
요청 예시:
GET http://127.0.0.1:80/camera/list?filter=Server1
응답 예시:
{ "cameras" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0", "archives" : [], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.audio:0", "isActivated" : false } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [], "displayId" : "1", "displayName" : "Street", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "0", "longitude" : "0", "model" : "TestDevice", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/TelemetryControl.0", "areaZoom" : false, "focus" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "iris" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "is_active" : true, "move" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false }, "pointMove" : false, "zoom" : { "isAbsolute" : false, "isAuto" : false, "isContinous" : true, "isRelative" : false } } ], "rays" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/EventSupplier.ray0:0", "displayId" : "1.0.0", "displayName" : "Ray", "enabled" : true, "isActivated" : true }, { "accessPoint" : "hosts/Server1/DeviceIpint.1/EventSupplier.ray0:1", "displayId" : "1.0.1", "displayName" : "Ray", "enabled" : true, "isActivated" : true } ], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0" } ] }, { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0", "archives" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0", "default" : false, "incomplete" : false, "isEmbedded" : false, "storage" : "hosts/Server1/MultimediaStorage.AliceBlue/MultimediaStorage", "storageDisplayName" : "AliceBlue" } ], "audioStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.audio:0", "isActivated" : true } ], "azimuth" : "0", "camera_access" : "CAMERA_ACCESS_FULL", "comment" : "", "detectors" : [ { "accessPoint" : "hosts/Server1/AVDetector.1/EventSupplier", "displayName" : "Face detection", "events" : [ "TargetList", "faceAppeared" ], "isActivated" : false, "parentDetector" : "", "type" : "TvaFaceDetector" } ], "displayId" : "2", "displayName" : "Hall", "enabled" : true, "groups" : [ "e2f20843-7ce5-d04c-8a4f-826e8b16d39c" ], "ipAddress" : "0.0.0.0", "isActivated" : true, "latitude" : "78.2379", "longitude" : "15.4466", "model" : "Virtual several streams", "offlineDetectors" : [], "panomorph" : false, "ptzs" : [], "rays" : [], "textSources" : [], "vendor" : "Virtual", "videoStreams" : [ { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:0" }, { "accessPoint" : "hosts/Server1/DeviceIpint.2/SourceEndpoint.video:0:1" } ] } ], "search_meta_data" : [ { "matches" : [ 6, 7, 8, 9, 10, 11, 12 ], "score" : 0 }, { "matches" : [ 6, 7, 8, 9, 10, 11, 12 ], "score" : 0 } ] }
파라미터 | 파라미터 설명 |
---|---|
archives | 카메라가 연결된 아카이브 목록 |
audioStreams | 오디오 스트림 |
comment | 코멘트 |
camera_access | 카메라에 대한 접근 권한, 구체적으로:
|
detectors | 생성된 검출 도구 목록 |
displayId | 친숙한 이름 |
displayName | 이름 |
groups | 카메라가 속한 그룹 목록 |
ipAddress | IP 주소 |
isActivated | True—객체가 활성화됨, False—객체가 비활성화됨 |
azimuth, latitude, longitude | 카메라의 좌표. 서버의 지역화에 따라 파라미터 값은 마침표 또는 쉼표로 구분될 수 있음 |
model | 모델 |
ptzs | PTZ 장치
|
textSources | 이벤트 소스 |
vendor | 벤더 |
videoStreams | 비디오 스트림 |
rays | 레이(Rays) |
Attention!
GET http://IP Address:port/prefix/live/media/{VIDEOSOURCEID}
{VIDEOSOURCEID}—세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
Attention!
요청에 파라미터가 지정되지 않으면 비디오는 MJPEG 형식으로 수신됩니다.
파라미터 | 필수 | 설명 |
---|---|---|
format | No | 파라미터 값은 "mp4", "hls"입니다. 비디오는 HLS 프로토콜을 통해 원본 형식(재압축 없이)으로 수신할 수 있습니다. HLS 프로토콜은 H.264 형식만 지원합니다. "mp4" 플레이어는 원본 비디오를 H.264 및 H.265 형식으로 수신할 수 있습니다. 그 외의 경우에는 서버가 MJPEG 형식으로 재압축합니다. Attention! 원본과 다른 형식으로 비디오를 요청하면 재압축이 수행되므로 서버 부하가 증가합니다. |
w, h | No | w—프레임 너비, h—프레임 높이 Attention! mp4 비디오는 크기 조정 없이 전송됩니다. h 및 w 값이 원본 비디오 크기보다 크면, 비디오는 원본 크기로 수신됩니다. 너비와 높이의 축소는 2배, 4배, 8배 등으로만 가능합니다. 지정된 크기가 원본 비디오 크기의 1/2, 1/4 등과 일치하지 않으면 비디오는 지정된 값에 가까운 원본 비디오 크기로 나누어 떨어지는 크기로 수신됩니다. |
fr | No | FPS 값 Attention! 이 파라미터는 MJPEG 비디오에만 해당됩니다. |
enable_token_auth | No | 비디오 스트림에 대한 인증된 서명 링크를 가져오기
|
valid_token_hours | No | |
key_frames | No | 1—키 프레임만으로 재생 0—원본 프레임 속도 (기본값) |
authToken | No | Axxon One 2.0부터 AxxonNet을 통해 연결 예: https://axxonnet.com/arpserver/25455_0/webclient/live/media/SERVER/DeviceIpint.1/SourceEndpoint.video:0:1?authToken=... |
auth_token | No | Axxon One 2.0부터 서버에 직접 연결할 때 인증과 토큰으로 인증. 예: http://127.0.0.1:80/live/media/SERVER/DeviceIpint.1/SourceEndpoint.video:0:0?format=mp4&auth_token=... |
요청 예시:
GET http://127.0.0.1:80/live/media/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480&enable_token_auth=1&valid_token_hours=1
HLS 프로토콜 비디오는 원본 형식으로만 수신할 수 있습니다. HLS 프로토콜 비디오를 수신할 때 사용되는 파라미터는 다음과 같습니다:
파라미터 | 필수 | 설명 |
---|---|---|
keep_alive | No | 스트림을 유지할 시간(초 단위) |
hls_time | No | 세그먼트 길이(초 단위) |
hls_list_size | No | 최대 플레이리스트 항목 수. 0으로 설정하면 목록 파일에 모든 세그먼트가 포함됩니다. |
hls_wrap | No | 세그먼트 파일명 번호가 랩핑되는 번호. 0으로 설정하면 번호는 절대 랩핑되지 않습니다. |
요청 예시:
GET http://127.0.0.1:80/live/media/SERVER1/DeviceIpint.23/SourceEndpoint.video:0:0?format=hls&keep_alive=60
응답 예시:
{ "keep_alive_seconds": 60, "keep_alive_url": "/live/media/hls/keep?stream_id=7e9d8c93-80e2-4521-9a54-cb854fe3cd2d", "stop_url": "/live/media/hls/stop?stream_id=7e9d8c93-80e2-4521-9a54-cb854fe3cd2d", "stream_url": "/hls/7e9d8c93-80e2-4521-9a54-cb854fe3cd2d/playout.m3u8" }
파라미터 | 설명 |
---|---|
keep_alive_seconds | 스트림을 유지할 시간(초 단위) |
keep_alive_url | 스트림을 유지하기 위한 URL |
stop_url | 스트림을 중지하기 위한 URL |
stream_url | 세그먼트 목록에 접근하기 위한 URL |
Attention!
HLS 프로토콜 비디오는 약 20초의 지연 후에 사용 가능합니다. 이는 HLS 프로토콜의 특성 때문입니다. 링크를 받은 후, 여러 비디오 세그먼트의 캐시를 형성하고, 그 후에 비디오가 재생되기 시작합니다.
HLS 프로토콜을 통해 비디오를 재생하려면, 응답에서 stream_url 파라미터를 다음과 같이 사용하세요.
ffplay "http://root:root@10.0.12.65:80/hls/c83b48d5-2ab7-49eb-91ef-593f808d4e51/playout.m3u8"
RTSP 프로토콜 비디오는 원본 형식으로만 전송됩니다.
RTSP 링크 구조를 가져오기 위한 요청: http://login:password@IP Address:Port/live/media/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?format=rtsp
응답 예시:
{ "http": { "description": "RTP/RTSP/HTTP/TCP", "path": "hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0", "port": "8554" }, "rtsp": { "description": "RTP/UDP or RTP/RTSP/TCP", "path": "hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0", "port": "554" } }
비디오를 가져오기 위한 요청: GET rtsp://login:password@IP Address:554/hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0
Attention!
경우에 따라 RTSP 비디오에 아티팩트가 발생할 수 있습니다. 이를 수정하려면 레지스트리 파일을 사용하여 TCP/IP 설정을 변경하세요.
RTSP 스트림 정보:
GET http://IP Address:port/prefix/rtsp/stat
ffplay.exe -v debug "http://login:password@IP Address:8001/live/media/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=1600&h=0"
Attention!
HTTP는 비디오를 MJPEG 형식으로만 전송하며 w와 h 파라미터는 필수입니다.
VLC에서 RTSP를 HTTP를 통해 터널링 설정하기 을/를 참조하세요.
비디오는 터널을 통해 원본 형식으로 전송됩니다.
요청 예시:
ffplay -rtsp_transport http "rtsp://login:password@IP Address:80/rtspproxy/hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0"
VLC용 GET 요청: rtsp://login:password@IP Address:80/rtspproxy/hosts/Server1/DeviceIpint.23/SourceEndpoint.video:0:0
원본 H.264 및 H.265 형식으로 실시간 비디오를 받으려면 mp4 형식을 사용하세요.
요청 예시:
ffplay.exe "http://root:root@192.168.25.112:8001/live/media/Server1/DeviceIpint.61/SourceEndpoint.video:0:0?format=mp4"
{VIDEOSOURCEID} – 세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
파라미터 | 필수 | 설명 |
---|---|---|
w h | No | w – 프레임 너비, h – 프레임 높이 Note 만약 h와 w 값이 원본 프레임의 크기보다 크다면, 프레임은 원본 크기로 수신됩니다. 너비와 높이를 축소하는 것은 2배, 4배, 8배 등으로만 가능합니다. 지정된 크기가 원본 프레임 크기의 1/2, 1/4 등과 일치하지 않으면, 지정된 값에 가까운 원본 프레임 크기로 나누어 떨어지는 크기로 프레임이 수신됩니다. |
crop_x crop_y crop_width crop_height | No | crop_x – 왼쪽 상단 코너로부터의 수평 들여쓰기. 가능한 값은 0에서 1까지이며, 기본값은 0입니다. crop_y – 왼쪽 상단 코너로부터의 수직 들여쓰기. 가능한 값은 0에서 1까지이며 기본값은 0입니다. crop_width – 원본 이미지 너비의 비율. 가능한 값은 0에서 1까지이며 기본값은 1입니다. crop_height – 원본 이미지 높이의 비율. 가능한 값은 0에서 1까지이며 기본값은 1입니다. |
Note
기본적으로 스냅샷 업데이트 주기는 30초입니다. 이 값을 변경하려면 NGP_SNAPSHOT_TIMEOUT 시스템 변수를 생성하고 필요한 값을 밀리초 단위로 설정해야 합니다. (부록 9. 시스템 변수 생성 참조).
요청 예시:
원본 해상도로 스냅샷을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0.
640*480 해상도로 스냅샷을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480.
스냅샷의 오른쪽 하단 부분을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5.
640*480 해상도로 스냅샷의 오른쪽 하단 부분을 받으려면: GET http://IP-Address:port/prefix/live/media/snapshot/Server1/DeviceIpint.23/SourceEndpoint.video:0:0?w=640&h=480&crop_x=0.5&crop_y=0.5&crop_width=0.5&crop_height=0.5.
GET http://IP-Address:port/prefix/group
요청 예시:
GET http://127.0.0.1:80/group
응답 예시:
{ "groups" : [ { "Brief" : "Group1", "Description" : "", "Id" : "35fc84a0-2280-4b30-acd2-cc8419a2dc68", "groups" : [ { "Brief" : "Group2", "Description" : "", "Id" : "dac24803-313c-43ab-aa9a-276922a55cb6", "groups" : [] }, { "Brief" : "Group3", "Description" : "", "Id" : "13764152-6910-44b6-99b5-f74641ad4a14", "groups" : [ { "Brief" : "Group4", "Description" : "Group4", "Id" : "9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f", "groups" : [] } ] } ] } ] }
GET http://IP-Address:port/prefix/group/{GROUPID}.
GROUPID – 이전 요청을 사용하여 받은 Id 필드의 값입니다.
요청 예시:
GET http://127.0.0.1:80/group/9a64e2a0-eb92-4adc-bc4f-81d30ceb6c2f
응답 예시:
{ "members" : [ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0" ] }
GET http://IP-Address:port/prefix/group/contains/{VIDEOSOURCEID}
{VIDEOSOURCEID} – 세 부분으로 이루어진 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
요청 예시:
GET http://127.0.0.1:80/group/contains/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0
응답 예시:
{ "groups" : [ "35fc84a0-2280-4b30-acd2-cc8419a2dc68", "13764152-6910-44b6-99b5-f74641ad4a14", "dac24803-313c-43ab-aa9a-276922a55cb6" ] }
{VIDEOSOURCEID} − 세 부분으로 구성된 소스 엔드포인트 ID (비디오 카메라 목록 및 정보 가져오기 참조). 예를 들어, "SERVER1/DeviceIpint.3/SourceEndpoint.video:0:0".
여러 카메라에 대한 통계: POST http://IP-Address:port/prefix/statistics/ + 요청 본문은 다음 형식으로 작성됩니다.
[ "hosts/SERVER1/DeviceIpint.1/SourceEndpoint.video:0:0", "hosts/SERVER1/DeviceIpint.2/SourceEndpoint.video:0:0" ]
파라미터 | 필수 | 설명 |
---|---|---|
waterlevel | No | waterlevel = 1 − 응답에는 카메라에 대해 수위 감지가 설정된 경우 현재 수위 값이 포함됩니다 (수위 검출 설정 참조). |
요청 예시:
GET http://127.0.0.1:80/statistics/Server1/DeviceIpint.1/SourceEndpoint.video:0:0
응답 예시:
{ "bitrate": 592831, "fps": 2.278942490e+01, "width": 1280, "height": 720, "mediaType": 2, "streamType": 877088845 }