• Stars
    star
    147
  • Rank 251,347 (Top 5 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Low-latency hardware accelerated codec based video streaming utility.

🐙 Kimera (Alpha Work-in-Progress)

Low-latency hardware-accelerated codec-based video streaming utility.

Features

  • Low-latency (~35ms).
  • 🦑 Multi-Platform (Linux, macOS, Windows).
  • 🔋 Low-overhead with Hardware Acceleration.
  • 🖼️ Works with any codec (HEVC, AVC, VP9, VP8, AV1).
  • 🧳 Supports multiple transport streams (UDP, TCP, UNIX, GNURadio).
  • 🔑 Encrypted tunnel between TCP peers (TLS v1.3).

Compatibility

Interfacing

OS Display Screen-Capture Native Video Source Native Video Sink
Linux (GLFW) (XCB) (V4L2) (V4L2)
macOS (GLFW) (AVFoundation) (AVFoundation)
Windows (GLFW)

Hardware Acceleration

Technology Encode Decode Description
VideoToolBox Apple Devices (macOS & iOS)
NVENC/CUVID Modern Nvidia GPUs
OMX Broadcom SoC (Raspberry Pi)
VAAPI Modern Intel CPUs

Installation

Pre-compiled binary packages will be available once this app reaches beta. For now, if you want to try the pre-release version of the app, you should compile it yourself by following the instructions below.

Dependencies

  • C++17 Compiler
  • GLFW
  • OpenGL ES >3.0 or OpenGL >3.3
  • LibAV >12.3
  • CMake >3.13
  • XCB (For Linux)
  • Xcode Toolchain (For macOS)

Linux-Debian

This list will be reduced once Meson is implemented in the next version.

$ sudo apt install libavcodec-dev libavfilter-dev libavutil-dev libavformat-dev libglfw3-dev libyaml-dev libssl-dev build-essential cmake git pkg-config python3 python3-pybind11 python3-dev libwebsocketpp-dev libboost-all-dev

macOS

You will need to compile Google's ANGLE OpenGL ES 3.0 for this to work on macOS. Thank Apple.

Compilation

$ git clone --recursive https://github.com/luigifreitas/kimera.git
$ cd kimera
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j
$ sudo make install

Usage

Create a server with the /dev/video0 as input and localhost TCP as output.

$ kimera tx ../examples/linux.yml

Receive the video from the TCP server and display it on the screen.

$ kimera rx ../examples/linux.yml

License

This module is distributed under a GPL-2.0 License.

Roadmap

This is a list of unfinished tasks that I pretend to pursue soon. Pull requests are more than welcome!

  • Replace current render with librender.
  • Replace CMake with Meson.
  • Better WebCodecs support.
  • Add WebTransport module.

More Repositories

1

pisdr-image

🥧 A SDR Linux Distro for the Raspberry Pi and other SBC. Compatible out of the box with multiple SDR.
Shell
889
star
2

CyberEther

Multi-platform GPU-accelerated interface for compute-intensive pipelines.
C++
331
star
3

CyberRadio

📻 An SDR Based FM/AM Radio For Desktop. Accelerated with #cuSignal and Numba.
Python
193
star
4

pico-stuff

I add my Pi Pico (RP2040) stuff here.
C
140
star
5

software-radar

Software Defined Radar with GNURadio Companion
Python
61
star
6

webusb-libusb

Translation layer from libusb to webusb.
C
56
star
7

Raspberry-Pi-RFID

A Socket.io based RC522 RFID Reader Demo for Raspberry Pi
HTML
52
star
8

radio-core

📔 Python based DSP for CyberRadio and PyRadio. Accelerated with #cuSignal and Numba.
Python
50
star
9

blade

Beamforming & Stuff ™
C++
42
star
10

PyRadio

🤓 Python Scripts for WBFM and AM demodulation. Accelerated with #cuSignal and Numba.
40
star
11

LatexBot

Automatically generate images from LaTeX expressions on Telegram.
JavaScript
33
star
12

weatherdump

Multi-platform toolkit for weather satellites reception and decoding. Available for Linux, macOS, Windows and RaspberryPi.
Go
33
star
13

ESP8266-RTOS-HomeKit

ESP8266 HomeKit Accessory Implementation based on FreeRTOS.
C
24
star
14

CyberRadioBlast

A browser based SDR console.
JavaScript
20
star
15

WattsUp

Swift
11
star
16

gr-satellites-demod

GNU Radio Scripts to Demodulate Satellites Signals
9
star
17

gr-cyber

CMake
8
star
18

node-moodle-scraper

Node Moodle Scraper
JavaScript
5
star
19

gr-teleskop

CMake
5
star
20

khronos-gnss

Khronos GNSS Frequency Standand & NTP Server
C
4
star
21

weatherdump-desktop

JavaScript
4
star
22

GypsyBot

https://telegram.me/GypsyBot
JavaScript
3
star
23

cpp-goesdump

Satellite Data Stream Parser for XRIT (NOAA-GOES)
C++
3
star
24

DSP-GUITools

X11 GUI Tools for Digital Signal Processing
C++
2
star
25

Node-Telegram-Bot

JavaScript
2
star
26

DeepSeed-MLDM2019

TensorFlow Convolutional Neural Network TFRecords Based
Python
2
star
27

molten-signal

[WIP] Molten Signal is a C++ backed Python library that draws an FFT waterfall on the screen with Vulkan.
C++
2
star
28

Convert-It

Simple Fahrenheit to Celsius using Cocoa. v0.2
Objective-C
2
star
29

turboseti-stream

Python
2
star
30

prometheus-iio-exporter

Prometheus exporter for the IIO sensor values of the RFSoC.
Go
2
star
31

youtube-dl-info

Simple youtube-dl info module.
JavaScript
2
star
32

holoscan-demos

C++
2
star
33

SETI

Python
1
star
34

dfa-minimizer

Python
1
star
35

blast

JavaScript
1
star
36

ata-datum

Python
1
star
37

weatherdump-report

Analytics server for the WeatherDump.
Go
1
star
38

Grabber

Download media from a URL with a extension on iOS.
Swift
1
star
39

beam-calc

Python
1
star
40

gofast

Go
1
star
41

cygnus-starfinder

Cygnus Starfinder - Python OpenCV Sextant
Python
1
star
42

utfpr-sorting-algorithms

C
1
star
43

sdrOS

1
star
44

Mosaic

Swift
1
star
45

Minutemen

https://app.luigifreitas.me/minutemen
Swift
1
star