C# Class SIPSorcery.Net.RTSPSession

Afficher le fichier Open project: sipsorcery/sipsorcery Class Usage Examples

Méthodes publiques

Свойство Type Description
OnDtlsReceive Action>
RtpProtect byte[]>.Func

Méthodes publiques

Méthode Description
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.

Private Methods

Méthode Description
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

Method Details

Close() public méthode

Closes the session's RTP and control ports.
public Close ( ) : void
Résultat void

DateTimeToNptTimestamp() public static méthode

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.
Résultat ulong

DateTimeToNptTimestamp32() public static méthode

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
Résultat uint

DateTimeToNptTimestamp90K() public static méthode

public static DateTimeToNptTimestamp90K ( System.DateTime value ) : uint
value System.DateTime
Résultat uint

GetNextRTPPacket() public méthode

public GetNextRTPPacket ( ) : RTPPacket
Résultat RTPPacket

HasRTPPacket() public méthode

public HasRTPPacket ( ) : bool
Résultat bool

RTSPSession() public méthode

public RTSPSession ( ) : System
Résultat System

RTSPSession() public méthode

public RTSPSession ( string sessionID, IPEndPoint remoteEndPoint, IPEndPoint rtcpRemoteEndPoint ) : System
sessionID string
remoteEndPoint System.Net.IPEndPoint
rtcpRemoteEndPoint System.Net.IPEndPoint
Résultat System

ReservePorts() public méthode

Attempts to reserve the RTP and control ports for the RTP session.
public ReservePorts ( ) : void
Résultat void

SendH264Frame() public méthode

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.
Résultat void

SendJpegFrame() public méthode

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.
Résultat void

SendRTPRaw() public méthode

Sends a packet to the RTSP server on the RTP socket.
public SendRTPRaw ( byte payload ) : void
payload byte
Résultat void

SendVP8Frame() public méthode

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.
Résultat void

Start() public méthode

Starts listenting on the RTP and control ports.
public Start ( ) : void
Résultat void

Property Details

OnDtlsReceive public_oe property

public Action> OnDtlsReceive
Résultat Action>

RtpProtect public_oe property

public Func RtpProtect
Résultat byte[]>.Func