Click or drag to resize
XDL

XVideoChannel Class

XVideo객체에 포함된 XVideoChannel객체를 정의한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NXVideoXVideoChannel

Namespace:  Pixoneer.NXDL.NXVideo
Assembly:  NXVideo (in NXVideo.dll) Version: 2.0.3.31
Syntax
C#
public class XVideoChannel : IDisposable

The XVideoChannel type exposes the following members.

Constructors
  NameDescription
Public methodXVideoChannel
XVideoChannel클래스의 생성자로서, 비관리 객체를 입력받아 내부 멤버 변수의 초기화를 수행한다.
Top
Properties
  NameDescription
Public propertyAcceptableDelay
비디오 채널의 허용 지연 시간을 밀리 초 단위로 설정한다. (기본값 1초) 정확한 재생 시각을 맞추기 위하여 이보다 긴 지연이 생기면 프레임을 버린다.
Public propertyCurrentPts
현재 재생 중인 프레임의 PTS를 반환한다.
Public propertyCurrentStreamTime
현재 재생 중인 프레임의 스트림 시간(재생시각)을 초 단위로 반환한다.
Public propertyDefaultMetadStreamID
기본 메타데이터 스트림을 나타낸다. 스트림 식별자는 XVideo.ProgramInfo 속성으로 얻을 수 있다. -1인 경우 메타데이터 스트림을 사용하지 않는다.
Public propertyFrameHeight
현재 재생 중인 프레임의 세로 크기를 반환한다.
Public propertyFrameWidth
현재 재생 중인 프레임의 가로 크기를 반환한다.
Public propertyIsProxy
프록시 채널인지 나타낸다.
Public propertyLeadDrainMode
처음 스트림 분석 동안 쌓인 프레임을 버리는 모드. 실시간 스트리밍 동영상 재생 등에 활용한다.
Public propertyMetadProcessTimeAhead
메타데이터 처리 또는 콜백을 비디오 재생 시점보다 얼마나 빨리 처리할 것인지 나타낸다. -1인 경우는 메타데이터가 도착하는 대로 바로 처리한다.
Public propertyMetadUserCodec
사용자 정의 메타데이터 코덱을 정의한다.
Public propertyProcessLogging
성능 분석을 위해 로그 기록 여부를 지정한다. 로그 파일은 채널이 활성화될 때 실행 경로에 만들어지고 비활성화될 때 닫힌다.
Public propertyResetTimeout
비디오 채널의 초기화 시간을 밀리 초 단위로 설정한다. (기본값 3초) 스트리밍 비디오에서 이보다 긴 지연 또는 차이가 발생하면 비디오 스트림이 바뀌었다고 보고 재생 기준 시각을 초기화한다.
Public propertySourceChannel
프록시 채널일 때 원본 채널을 구한다. 프록시 채널이 아니면 빈 값(null)을 반환한다.
Public propertyThreadPriority
비디오를 Play시 내부적으로 운용되는 Thread의 priority를 설정한다.
Public propertyUASDatalinkLSInfo
기본 UAS Datalink Local Set 메타데이터 디코더에 적용된 정보 객체를 얻는다.
Top
Methods
  NameDescription
Public methodActivate
XVideo객체에 포함된 XVideoChannel객체 중 이 객체를 활성화한다. 활성화된 객체만 스트리밍이 수행된다.
Public methodAddVideoFrameFilter
영상 프레임 처리 필터를 추가한다.
Public methodAnalyzeBackward
뒤로 한 프레임씩 분석하기 위해 현 재생위치에서 직전 프레임을 재생하고 멈춘다.
Public methodAnalyzeBackward(UInt32)
뒤로 지정한 프레임 간격으로 건너뛰며 분석하기 위해 현 재생위치에서 이전 프레임을 재생하고 멈춘다.
Public methodAnalyzeForward
앞으로 한 프레임씩 분석하기 위해 현 재생위치에서 다음 프레임을 재생하고 멈춘다.
Public methodAnalyzeForward(UInt32)
앞으로 지정한 프레임 간격으로 건너뛰며 분석하기 위해 현 재생위치에서 다음 프레임을 재생하고 멈춘다.
Public methodClearFrameBuffer
Frame Buffer를 삭제한다.
Public methodCloseOutputUrl
비디오 채널 녹화 또는 전송을 마무리한다. 파일로 저장하는 경우 필요한 정보들을 추가로 기록하고 파일을 닫는다.
Public methodStatic memberDateTimeToTimeStamp
DateTime을 MISB ST 타임스탬프로 변환한다.
Public methodDeactivate
활성화된 객체를 비활성화시킨다.
Public methodEnableBackwardAnalysis
뒤로 한 프레임씩 분석하는 기능을 활성화한다. 128장의 프레임을 기억하는데, 영상 크기에 따라 메모리를 많이 차지하므로 기본값은 비활성화 상태이다.
Public methodFrameNumberToPts
입력된 Frame Number에 해당하는 PTS를 계산한다.
Public methodGetBitRateVideo
네트워크로 데이터를 수신 받을시 네트워크 수신율(BitRate : 초당 수신 bit수)를 얻는다.
Public methodGetDuration
Video의 Play할 시간(Sec)을 얻는다.
Public methodGetFirstDataPts
첫번째 데이터 프레임의 PTS를 얻는다.
Public methodGetFirstPts
첫번째 영상 프레임의 PTS를 얻는다.
Public methodGetFrameRateMetad
Meta data Frame Rate를 얻는다.
Public methodGetFrameRateVideo
Video Frame Rate를 얻는다.
Public methodGetLastPts
마지막 영상 프레임의 PTS를 얻는다.
Public methodGetNativeChannel
Public methodGetNumFramesVideo
총 Frame의 수를 얻는다. 프레임 분석을 수행하지 않을 경우 대략적인 값이므로 실제 프레임 개수와 다를 수 있다.
Public methodGetPacketQueueSizeMetad
Video Frame 영상에 대한 Queue에 쌓여 있는 Packet 큐 크기를 얻는다.
Public methodGetPacketQueueSizeVideo
Video Frame 영상에 대한 Queue에 쌓여 있는 Packet의 크기를 얻는다.
Public methodGetRenderedFrame
이 함수를 부르는 시점에 도시된 영상을 원본 형식(yuv420p 등)으로 담고 있는 XFramePicture 객체를 생성하여 반환한다.
Public methodGetRenderedFrame(Int64)
지정한 PTS 또는 그 이전 영상 프레임을 원본 형식으로 반환한다. 프레임 검색 범위는 프레임 분석을 위해 캐시된 프레임으로 한정하므로 반드시 EnableBackwardAnalysis(true)를 먼저 불러야 한다. 입력한 PTS를 넘지 않는 가장 최근 프레임을 반환하므로 반드시 반환된 PTS를 검사하여 의도에 맞게 써야 한다.
Public methodGetRenderedFrameRGB
이 함수를 부르는 시점에 도시된 영상을 RGB 형식으로 담고 있는 XFramePicture 객체를 생성하여 반환한다. 색 변환을 CPU 병렬 쓰레드로 처리하므로 자원 소모를 고려해야 한다.
Public methodGetRenderedFrameRGB(Int64)
지정한 PTS 또는 그 이전 영상 프레임을 RGB 형식으로 반환한다. 프레임 검색 범위는 프레임 분석을 위해 캐시된 프레임으로 한정하므로 반드시 EnableBackwardAnalysis(true)를 먼저 불러야 한다. 입력한 PTS를 넘지 않는 가장 최근 프레임을 반환하므로 반드시 반환된 PTS를 검사하여 의도에 맞게 써야 한다. 색 변환을 CPU 병렬 쓰레드로 처리하므로 자원 소모를 고려해야 한다.
Public methodGetRenderedMetadFrame
현재 도시된 영상에 대응하는 메타데이터 프레임을 얻는다.
Public methodGetRenderedMetadFrame(Int64)
지정한 PTS 또는 그 이전 영상 프레임을 원본 형식으로 반환한다. 프레임 검색 범위는 내부 버퍼에 의존적이다. 입력한 PTS를 넘지 않는 가장 최근 프레임을 반환하므로 반드시 반환된 PTS를 검사하여 의도에 맞게 써야 한다.
Public methodGetSensorExtrinsicParams
입력된 PTS에 해당하는 외부표정요소를 얻는다.
Public methodGetSensorIntrinsicParams
입력된 PTS에 해당하는 내부표정요소를 얻는다.
Public methodGetSpeed
비디오 Play의 속도(배속)를 얻는다.
Public methodGetStartTime
첫번째 영상 프레임의 기록 시각을 얻는다.
Public methodGetStartTimeStamp
첫번째 영상 프레임의 기록 시각을 얻는다.
Public methodIsActivated
이 객체가 활성화되었는지 여부를 확인한다.
Public methodIsPaused
비디오 채널이 멈춰있는 상태인지 재생 중인지를 확인한다.
Public methodIsStopped
비디오 채널이 중지된 상태인지 확인한다. 일시정지와 달리 중지된 경우, 다시 재생할 때 처음부터 재생된다.
Public methodOpenOutputProgram(XVideoEncoder, Int32, Boolean, Boolean)
비디오 채널을 재생하면서 동시에 MPEG-TS 형식의 프로그램으로 저장하거나 스트리밍을 하도록 준비한다.
Public methodOpenOutputProgram(XVideoEncoder, Int32, Boolean, Boolean, Boolean)
비디오 채널을 재생하면서 동시에 MPEG-TS 형식의 프로그램으로 저장하거나 스트리밍을 하도록 준비한다.
Public methodOpenOutputUrl(String, Boolean, Boolean)
비디오 채널을 재생하면서 동시에 MPEG-TS 형식의 파일로 저장하거나 스트리밍을 하도록 준비한다.
Public methodOpenOutputUrl(String, Boolean, Boolean, Boolean)
비디오 채널을 재생하면서 동시에 MPEG-TS 형식의 파일로 저장하거나 스트리밍을 하도록 준비한다.
Public methodPause
Video를 잠시 멈춤을 설정한다.
Public methodPlay
Video Channel을 처음부터 재생하도록 Play 신호를 설정한다.
Public methodPlayAlong
Video Channel을 현재 재생 중인 프로그램 또는 다른 채널의 시간에 맞추어 재생하도록 설정한다. 만약 현재 재생 시각을 알 수 없다면 처음부터 재생한다.
Public methodPtsToFrameNumber
PTS값을 입력하여 Frame Number를 계산한다. Frame Number = 시작입력 PTS로부터 계산된 시간 * 초당 Frame 수.
Public methodPtsToRecordTime
프레임 PTS에 대응하는 기록 시각을 얻는다.
Public methodPtsToRecordTimeStamp
프레임 PTS에 대응하는 기록 시각을 마이크로초 단위 유닉스(UNIX) 시간으로 얻는다.
Public methodPtsToStreamTime
PTS값을 시간으로 변환한다. 입력된 PTS(Presentation Time Stamp)에 대한 시간(초)를 계산한다. 특정 시간에 대한 시간 = (입력 PTS값 - 시작 PTS값) * PTS에 대한 시간 환산 값.
Public methodRecordTimeToPts(DateTime)
기록 시각에 해당하는 프레임 PTS를 얻는다.
Public methodRecordTimeToPts(UInt64)
마이크로초 단위의 유닉스(UNIX) 시간에 대응하는 프레임 PTS를 얻는다.
Public methodRemoveVideoFrameFilter
영상 프레임 처리 필터를 제거한다.
Public methodResetMetad
이 함수를 부르는 시점에 도시된 영상을 RGB 형식으로 담고 있는 XFramePicture 객체를 생성하여 반환한다. 색 변환을 CPU 병렬 쓰레드로 처리하므로 자원 소모를 고려해야 한다.
Public methodResume
Video에 설정된 잠시 멈춤을 다시 시작을 설정한다.
Public methodSeek(Double)
동영상 파일의 경우 시간을 통해 Play할 위치를 찾는다.
Public methodSeek(Int64)
PTS를 입력하여 Play할 위치를 찾는다.
Public methodSetSensorExtrinsicParams
입력된 PTS에 해당하는 외부표정요소를 설정한다.
Public methodSetSensorIntrinsicParams
특정 PTS에 대한 센서 내부 표정요소 파라미터를 설정한다. 동영상은 Frame마다 내부 표정요소가 변경될수 있기 대문에 PTS에 대한 내부 표정요소를 VideoChannel에 설정한다. 센서 내부 표정요소는 동영상에 대한 센서모델을 통해 동영상의 이미지 좌표에 대한 지리좌표를 계산하거나 지리좌표에 대한 이미지 좌표를 계산이 가능한다. 보통 PTS에 대한 센서 내부 표정요소는 Metadata Event를 통해 전달되며 Parsing을 통해 내부 표정요소들을 정의할 수 있다.
Public methodSetSpeed
비디오 Play의 속도를 증가시키기 위해 Speed값을 설정한다.
Public methodStartTranscoding
비디오 채널 녹화 또는 전송을 시작한다.
Public methodStop
Play되는 Video를 멈춘다.
Public methodStopTranscoding
비디오 채널 녹화 또는 전송을 중지한다. 이 경우, 비디오 출력만 멈추고, 만약 파일로 저장하는 경우 CloseOutputUrl() 메쏘드를 불러야 파일 저장이 완료된다.
Public methodStreamTimeToPts
시간을 PTS값으로 변환한다. 입력된 Play 시간에 대한 PTS를 계산한다. 특정 시간에 대한 PTS = 시작 PTS + 입력 시간 * 시간에대한 PTS 환산 값.
Public methodStatic memberTimeStampToDateTime
MISB ST 타임스탬프를 DateTime으로 변환한다.
Top
Events
  NameDescription
Public eventOnPlaybackControl
재생 제어 관련 이벤트를 정의한다.
Public eventOnReceivedFrameMetad
메타 데이터가 수신되었을때 발생하는 이벤트를 정의한다.
Public eventOnReceivedFramePicture
동영상 재생에 맞춰 영상 프레임을 전달하는 이벤트를 정의한다. OnReceivedFramePictureSync 동기화 이벤트와 동시에 사용할 수 없다.
Public eventOnReceivedFramePictureSync
동영상 재생에 맞춰 영상 프레임을 전달하는 동기화 이벤트를 정의한다. 이벤트 처리가 끝날 때까지 동영상 재생 처리를 멈추고 기다린다. OnReceivedFramePicture 비동기 이벤트와 동시에 사용할 수 없다.
Public eventOnTranscodedFrameMetad
출력 동영상에 추가할 사용자 메타데이터 패킷을 정의하는 이벤트를 정의한다.
Public eventOnTranscodedFrameMetadUpdate
출력 동영상에 기존 메타데이터 패킷에 사용자 메타데이터를 추가하여 갱신하는 이벤트를 정의한다.
Top
Fields
  NameDescription
Public fieldStatic memberInvalidPts
정의되지 않은 PTS 값을 나타낸다.
Public fieldStatic memberInvalidTimestamp
정의되지 않은 타임스탬프 값을 나타낸다.
Top
See Also