rtc_* functions and rtc_*_t structs, declared with extern "C"), so both C and C++ projects can use it directly.
Use cases
- Server-side recording, transcoding, and re-streaming
- The publishing side of an MCU composite stream
- Connecting AI agents / voice bots to a channel
- Publishing and receiving on embedded devices (Linux ARM boards)
What the SDK does and doesn’t do
This SDK doesn’t include client-side capabilities such as camera capture, microphone capture, video rendering, device management, or beauty filters:- Publishing: you handle capture and encoding, and hand the encoded H.264 / H.265 / Opus / AAC raw data to the SDK through
rtc_write_sample - Receiving: the SDK hands you the remote encoded data through callbacks; decoding and rendering are up to you
SDK package contents
For MSVC (Visual Studio) projects, use
librtc.dll + librtc.lib. You can’t link librtc.a directly.Supported platforms
If you need a platform or architecture not listed above, contact us.
Compiling and linking
Include the header:librtc.so:
Media streaming engine
Which media streaming engine a channel uses is determined by the channel configuration sent down by the server. Your code doesn’t need to care about it or configure anything. Some capabilities (simulcast layer switching, network quality reporting, active speaker) are only available with the SeaStart engine; with other engines the corresponding callbacks never fire—see SeaStart advanced features. Make sure your application still works without these callbacks.Next steps
- Quickstart: get receiving and publishing working in 10 minutes
- API reference: the complete API reference