C# 클래스 SIPSorcery.Net.RTSPSession

파일 보기 프로젝트 열기: sipsorcery/sipsorcery 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
OnDtlsReceive Action>
RtpProtect byte[]>.Func

공개 메소드들

메소드 설명
Close ( ) : void

Closes the session's RTP and control ports.

DateTimeToNptTimestamp ( System.DateTime value ) : ulong

Converts specified DateTime value to long NPT time.

DateTimeToNptTimestamp32 ( System.DateTime value ) : uint

Recalculates the step that should be applied to the RTP timestamp based on the frame rate of the incoming samples.

DateTimeToNptTimestamp90K ( System.DateTime value ) : uint
GetNextRTPPacket ( ) : RTPPacket
HasRTPPacket ( ) : bool
RTSPSession ( ) : System
RTSPSession ( string sessionID, IPEndPoint remoteEndPoint, IPEndPoint rtcpRemoteEndPoint ) : System
ReservePorts ( ) : void

Attempts to reserve the RTP and control ports for the RTP session.

SendH264Frame ( byte frame, int payloadType ) : void

H264 frames need a two byte header when transmitted over RTP.

SendJpegFrame ( byte jpegBytes, int jpegQuality, int jpegWidth, int jpegHeight ) : void

Helper method to send a low quality JPEG image over RTP. This method supports a very abbreviated version of RFC 2435 "RTP Payload Format for JPEG-compressed Video". It's intended as a quick convenient way to send something like a test pattern image over an RTSP connection. More than likely it won't be suitable when a high quality image is required since the header used in this method does not support quantization tables.

SendRTPRaw ( byte payload ) : void

Sends a packet to the RTSP server on the RTP socket.

SendVP8Frame ( byte frame, int payloadType ) : void

Sends a dynamically sized frame. The RTP marker bit will be set for the last transmitted packet in the frame.

Start ( ) : void

Starts listenting on the RTP and control ports.

비공개 메소드들

메소드 설명
ControlSocketReceive ( IAsyncResult ar ) : void
CreateLowQualityRtpJpegHeader ( uint fragmentOffset, int quality, int width, int height ) : byte[]

Utility function to create RtpJpegHeader either for initial packet or template for further packets 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type-specific | Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Q | Width | Height | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

RTPReceive ( ) : void
SendRtcpCallback ( IAsyncResult ar ) : void
SendRtcpSenderReport ( ulong ntpTimestamp, uint rtpTimestamp ) : void
SendRtpCallback ( IAsyncResult ar ) : void

메소드 상세

Close() 공개 메소드

Closes the session's RTP and control ports.
public Close ( ) : void
리턴 void

DateTimeToNptTimestamp() 공개 정적인 메소드

Converts specified DateTime value to long NPT time.
public static DateTimeToNptTimestamp ( System.DateTime value ) : ulong
value System.DateTime DateTime value to convert. This value must be in local time.
리턴 ulong

DateTimeToNptTimestamp32() 공개 정적인 메소드

Recalculates the step that should be applied to the RTP timestamp based on the frame rate of the incoming samples.
public static DateTimeToNptTimestamp32 ( System.DateTime value ) : uint
value System.DateTime
리턴 uint

DateTimeToNptTimestamp90K() 공개 정적인 메소드

public static DateTimeToNptTimestamp90K ( System.DateTime value ) : uint
value System.DateTime
리턴 uint

GetNextRTPPacket() 공개 메소드

public GetNextRTPPacket ( ) : RTPPacket
리턴 RTPPacket

HasRTPPacket() 공개 메소드

public HasRTPPacket ( ) : bool
리턴 bool

RTSPSession() 공개 메소드

public RTSPSession ( ) : System
리턴 System

RTSPSession() 공개 메소드

public RTSPSession ( string sessionID, IPEndPoint remoteEndPoint, IPEndPoint rtcpRemoteEndPoint ) : System
sessionID string
remoteEndPoint System.Net.IPEndPoint
rtcpRemoteEndPoint System.Net.IPEndPoint
리턴 System

ReservePorts() 공개 메소드

Attempts to reserve the RTP and control ports for the RTP session.
public ReservePorts ( ) : void
리턴 void

SendH264Frame() 공개 메소드

H264 frames need a two byte header when transmitted over RTP.
public SendH264Frame ( byte frame, int payloadType ) : void
frame byte The H264 encoded frame to transmit.
payloadType int The payload type to set on the RTP packet.
리턴 void

SendJpegFrame() 공개 메소드

Helper method to send a low quality JPEG image over RTP. This method supports a very abbreviated version of RFC 2435 "RTP Payload Format for JPEG-compressed Video". It's intended as a quick convenient way to send something like a test pattern image over an RTSP connection. More than likely it won't be suitable when a high quality image is required since the header used in this method does not support quantization tables.
public SendJpegFrame ( byte jpegBytes, int jpegQuality, int jpegWidth, int jpegHeight ) : void
jpegBytes byte The raw encoded bytes of the JPEG image to transmit.
jpegQuality int The encoder quality of the JPEG image.
jpegWidth int The width of the JPEG image.
jpegHeight int The height of the JPEG image.
리턴 void

SendRTPRaw() 공개 메소드

Sends a packet to the RTSP server on the RTP socket.
public SendRTPRaw ( byte payload ) : void
payload byte
리턴 void

SendVP8Frame() 공개 메소드

Sends a dynamically sized frame. The RTP marker bit will be set for the last transmitted packet in the frame.
public SendVP8Frame ( byte frame, int payloadType ) : void
frame byte The frame to transmit.
payloadType int The payload type to set on the RTP packet.
리턴 void

Start() 공개 메소드

Starts listenting on the RTP and control ports.
public Start ( ) : void
리턴 void

프로퍼티 상세

OnDtlsReceive 공개적으로 프로퍼티

public Action> OnDtlsReceive
리턴 Action>

RtpProtect 공개적으로 프로퍼티

public Func RtpProtect
리턴 byte[]>.Func