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 platform · Our side
01 / Roles
Who does what
Vendor · Device
- Video capture (e.g. V4L2)
- Hardware encoding
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
- 01
Integrate the SDK
Link rerinku-client into your firmware. It is written in C++ and exposes a stable C ABI.
- 02
Push encoded frames
Hand video and audio frames from your hardware encoder to the SDK; it packetizes them and streams over WHIP/WebRTC.
- 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| Language | C++, stable C ABI |
|---|---|
| Transport | WHIP signaling, WebRTC |
| Codecs | H.264, H.265 video; Opus, G.711 audio; RTP packetization |
| Bitstream | Automatic normalization, parameter sets restored |
| Channels | Multiple cameras, main/sub streams, microphones |
| Footprint | Build only rerinku_core, without MQTT and the device agent |
| Out of scope | Capture 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 demoLive view
Low-latency WebRTC video, in the browser and the Android app.
Recording & playback
Continuous recording with timeline playback, speed control and snapshots.
App alerts
Device events pushed to the phone app once it is paired by QR code.
Quick Connect
Remote access without a public IP; Cloud only relays and never stores data.
Access audit
Every view and configuration change is logged.
Device debugging
Send commands and inspect replies and raw reports from the device detail page.
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.