Skip to content
For IPC manufacturers

Your device encodes.
Rerinku streams.

Integrate rerinku-client in your firmware and push encoded audio and video to Rerinku. Media serving, recording and playback, and web and app viewing come with the platform — nothing to build yourself.

Device firmware · Your side

Sensor

Capture · V4L2

Encoder

H.264 · H.265 · Opus

rerinku-clientC ABI · Apache-2.0
WHIP · WebRTC

Rerinku platform · Our side

Media · Recording & playback · Alerts · Quick Connect
Web console
Android app

01 / Roles

Who does what

Vendor · Device

  • Video capture (e.g. V4L2)
  • Hardware encoding
  • Integrate rerinku-client and push encoded frames

Rerinku · Platform

  • WHIP ingest and WebRTC forwarding
  • Continuous recording and playback
  • Web console and Android app
  • App alerts and Quick Connect remote access
  • Access audit and device debugging

02 / Integration

Three steps

  1. 01

    Integrate the SDK

    Link rerinku-client into your firmware. It is written in C++ and exposes a stable C ABI.

  2. 02

    Push encoded frames

    Hand video and audio frames from your hardware encoder to the SDK; it packetizes them and streams over WHIP/WebRTC.

  3. 03

    Test in the console

    Once the device is online you can watch it live; the device detail page in the console helps you debug and troubleshoot.

03 / SDK

rerinku-client

An embedded push-streaming SDK built on libdatachannel. Code that runs inside firmware should be readable, modifiable and auditable, so it is open source under Apache-2.0.

github.com/akarineren/relink
rerinku-client specification
LanguageC++, stable C ABI
TransportWHIP signaling, WebRTC
CodecsH.264, H.265 video; Opus, G.711 audio; RTP packetization
BitstreamAutomatic normalization, parameter sets restored
ChannelsMultiple cameras, main/sub streams, microphones
FootprintBuild only rerinku_core, without MQTT and the device agent
Out of scopeCapture and encoding — handled by the device platform (V4L2, hardware encoder)
#include <rerinku/rerinku_c.h>

rerinku_publisher_config_t config = {0};
config.struct_size = sizeof(config);
config.whip_url = "http://127.0.0.1:18070/whip/camera-1";

rerinku_publisher_t *publisher = NULL;
if (rerinku_publisher_create(&config, &publisher) != RERINKU_STATUS_OK)
    return 1;

rerinku_channel_config_t video = {0};
video.struct_size = sizeof(video);
video.channel_id = 1;
video.kind = RERINKU_MEDIA_VIDEO;
video.codec = RERINKU_CODEC_H264;
video.label = "video";
video.stream_id = "camera-1";
video.bitstream_format = RERINKU_BITSTREAM_AUTO;

rerinku_publisher_add_channel(publisher, &video);
if (rerinku_publisher_start(publisher) == RERINKU_STATUS_OK)
    rerinku_publisher_write(publisher, 1, access_unit, access_unit_len, pts90k);
rerinku_publisher_destroy(publisher);

04 / Platform

Ready once connected

These come with the Rerinku platform — nothing for you to build.

See the live demo

05 / FAQ

FAQ

Do I need to run my own server?

No server to build. Devices push to Rerinku Onboard, the platform your customers run on their own computer or NAS; it provides media serving, recording and viewing.

Which codecs are supported?

H.264 and H.265 video, Opus and G.711 audio. Live H.265 needs a viewer that can decode H.265.

Does it work on resource-constrained devices?

You can build only rerinku_core — without MQTT and the device agent — to keep it small. Tell us your chip and we'll help you evaluate it.

Can I use the SDK in a commercial product?

Yes. rerinku-client is Apache-2.0 and can ship in closed-source products; keep the LICENSE and NOTICE files. Its dependency libdatachannel is MPL-2.0.

06 / Contact

Let's talk about your device

Tell us your chip platform, operating system and stream specs, and we'll work out an integration plan together.