비디오 재생 관리

재생 제어는 RTSP 표준 및 ONVIF 스트리밍 규격을 준수합니다.

레코딩 요약

GetRecordingSummary 명령을 이용해 장치에 이용 가능한 모든 레코딩된 비디오의 개요를 볼 수 있습니다. 필수는 아니지만 검색을 실행하기 전에 유용한 정보를 제공합니다.

GetRecordingSummary 및/또는 GetMediaAttributes 명령을 사용해 첫 번째와 마지막 레코딩의 타임스탬프를 얻을 수 있지만 먼저 XProtect Management Client의 Milestone ONVIF Bridge 플러그 인에서 고급 설정 탭의 카메라로부터 구성을 활성화해야 합니다.

ONVIF Bridge_Use camera configurations

GetServices에 의해 반환된 서비스 엔드포인트를 이용해 RecordingSearch 서비스에 대한 프록시를 생성합니다. 요청과 응답 개체를 생성하고 GetRecordingSummary를 호출합니다.

SearchBindingProxy searchProxy( &soapSearch );

std::string searchEndpoint = "http://" + host + "/onvif/recording_search_service";

_tse__GetRecordingSummary tse__GetRecordingSummary;

_tse__GetRecordingSummaryResponse tse__GetRecordingSummaryResponse;

result = searchProxy.GetRecordingSummary( searchEndpoint.c_str(), NULL,

&tse__GetRecordingSummary, &tse__GetRecordingSummaryResponse );

레코딩 검색

검색 서비스 메소드 FindRecordings는 카메라에서 비동기 검색을 시작합니다. FindRecordings는 검색 결과를 참조하는 토큰을 반환합니다. 하나의 레코딩만 있더라도 검색은 해당 레코딩에 대한 참조를 획득하기에 적절한 방법입니다.

다음 필수 매개변수를 이용해 FindRecordings 요청을 전송합니다.

예:

boolean(//Track[TrackType = “Video”]),2016-12-06T08:07:43Z,99999999,20,99999999,20

검색 조건에 고유한 SearchToken을 가진 응답을 얻게 됩니다.

SearchTokenGetRecordingSearchResults로 전달하면 검색 조건에 해당하는 모든 트랙이 포함된 목록을 얻게 됩니다.

재생 개시

비디오 재생을 볼 때, 기본 속도는 1(앞으로 진행되는 보통 재생)입니다.

재생은 RTSP PLAY 메서드를 이용해 개시됩니다. 범위를 지정할 수 있습니다. 범위가 지정되지 않은 경우, 스트림은 처음부터 재생되어 끝까지 재생하며, 스트림이 일시 정지될 경우, 일시 정지된 지점에서 재시작됩니다. 이 예에서, “Range: npt=3-20”은 RTSP 서버가 3번째 초부터 시작하여 20번째 초까지 재생하도록 지시합니다.

예:

PLAY rtsp://basic:basic@bgws-pvv-04:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

세션: 12345678

필수: onvif-replay

범위: npt=3-20

속도 제어: no

뒤로 재생

ONVIF 장치는 뒤로 재생을 지원할 수 있습니다. 뒤로 재생은 음의 값을 가진 스케일 헤더 필드를 이용해 나타냅니다. 예를 들어, 데이터 손실 없이 뒤로 재생하려면 –1.0의 값이 사용됩니다.

Milestone ONVIF Bridge는 값 [-32 : 32]를 지원합니다.

PLAY rtsp://basic:basic@bgws-pvv-04:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373 RTSP/1.0

CSeq: 123

세션: 12345678

필수: onvif-replay

범위: clock=20090615T114900.440Z

속도 제어: no

스케일: -1.0

속도 변경

속도는 RTSP 속도 제어 헤더에 의해 제어됩니다. "속도 제어=yes"일 경우, 서버가 재생 속도의 제어 상태에 있습니다. 스트림은 표준 RTP 타이밍 메커니즘를 이용해 실시간으로 전달됩니다. "속도 제어=no"일 경우, 클라이언트가 재생 속도의 제어 상태에 있습니다. 속도 제어된 재생은 일반적으로 “속도 제어=no”를 지정하지 않는 비-ONVIF 특정 클라이언트에 의해서만 사용됩니다.

클라이언트에서 재생 속도를 제어하려면 제공된 컨트롤러를 사용하십시오. 예를 들어, VLC 미디어 플레이어를 이용하면, 재생 > 속도 > 빠르게 또는 느리게를 선택합니다. 이렇게 하면 속도를 0.5씩 증가 또는 감소시킵니다.

빠르게 미세 조정느리게 미세 조정은 0.25씩 속도를 변경합니다.

명령줄 입력으로 VLC 미디어 플레이어 재생 관리

명령줄을 이용해 VLC 미디어 플레이어에서 비디오 재생을 관리할 수 있습니다. 자세한 내용은 VLC 명령줄 도움말을 참조하십시오.

그런 명령을 이용해 예컨대 뒤로 재생하거나 재생 시작 시간을 변경할 수 있습니다.

일반적인 명령줄의 예:

>vlc.exe --rate=-1.0 --start-time=3600 "rtsp://basic:basic@bgws-pvv-04:554/vod/943ffaad-42be-4584-bc2c-c8238ed96373"

여기서:

다음은 VLC 미디어 플레이어에 대한 재생 제어입니다.

input-repeat=

<integer [-2147483648 .. 2147483647]>

입력 반복

동일한 입력이 반복되는 횟수

start-time=

<float>

시작 시간

스트림은 이 위치(초)에서 시작됩니다

stop-time=

<float>

정지 시간

스트림은 이 위치(초)에서 중지됩니다

run-time=

<float>

실행 시간

스트림이 이 기간(초) 동안 실행됩니다

input-fast-seek

no-input-fast-seek

빠른 찾기(기본 비활성화)

찾는 동안 정밀도보다 속도 우선

rate=

<float>

재생 속도

재생 속도를 정의합니다(명목 속도는 1.0)

input-list=

<string>

입력 목록

일반적인 입력 뒤에 함께 연결될 쉼표 구분 입력 목록을 제공할 수 있습니다.

input-slave=

<string>

입력 슬레이브(실험적)

여러 입력으로부터 동시에 재생할 수 있습니다. 이 기능은 실험적이며 모든 형식이 지원되지는 않습니다. '#' 분리된 입력 목록 사용

bookmarks=

<string>

스트림 목록 북마크

스트림에 대한 북마크 목록을 "{name=bookmark-name,time=optional-time-offset,bytes=optional-byte-off set},{...}" 양식에 수동으로 제공할 수 있습니다

© 2019 Milestone Systems A/S