RTC Video Pluggable Codecs (Windows Embedded CE 6.0)
1/6/2010
SYSGEN_VOIP_VIDEO enables video telephone in the Voice over IP (VoIP) stack. Because this Sysgen does not include any video codecs, it is not enough alone to make video work. Real-time communication (RTC) has a pluggable interface that lets you plug in DirectShow filters. These filters handle the actual compression and decompression of the video stream. Microsoft does not ship any video codecs for the VoIP stack. You must create the codecs, or obtain them from a third party. Frequently, hardware implements video codecs because of the CPU-intensive nature of the video codecs, and the smaller processing power of many Windows Embedded CE devices.. However, there is no requirement for hardware codecs, as the VoIP stack interfaces only with the DirectShow interface. For more information about how to make VoIP aware of codecs, RTC Client API Video Codec Registry Settings.
Media packets are sent over VoIP by using Real-time Transport Protocol (RTP) packets (IETF RFC 3550). RTP packets contain additional payload information in addition to the compressed media. The format of the RTP packet may change, depending on the underlying codec being used. For example, the H263 RTP packet format is defined in RFC 4629, while the H264 RTP packet format is defined in RFC 3984. Because there is no way for the VoIP stack to be able to support all possible RTP video formats, the parsing of the video-specific sections of RTP packets is also pluggable. Packet parsing is supported by using the interface IRTCPluggableVideoEncoder. Packet reconstitution is supported through the interface IRTCPluggableVideoDecoder.
Media negotiation in VoIP for both audio and video is performed by using Session Description Protocol (SDP) (RFC 2327). Because there is no general way for VoIP to be able to determine whether a codec supports a particular set of negotiation parameters, parsing out information for a given codec is also implemented through the pluggable interface IRTCSDPValidator.
Microsoft includes reference H263 and H264 RTP and Service Discovery Protocol (SDP) parsers, brought in to the image through SYSGEN_FPVOIP_H263_WRAPPER and SYSGEN_FPVOIP_H264_WRAPPER, respectively. For more information about these Sysgens, see RTC Video Sysgens.
Note
These Sysgens are only the RTP and SDP wrappers, not actual media codecs. You must implement these independently of their respective codecs.