luigifcruz / Kimera
Licence: gpl-2.0
Low-latency hardware accelerated codec based video streaming utility.
Stars: ✭ 113
Programming Languages
c
50402 projects - #5 most used programming language
Projects that are alternatives of or similar to Kimera
Glfw
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Stars: ✭ 8,416 (+7347.79%)
Mutual labels: opengl, opengl-es
Indielib Crossplatform
IndieLib is a cross-platform Game Graphics engine. Main focus is OpenGL ES 2.0 for mobile iOS operating system, and OpenGL desktop. **NOT SUPPORTED ANYMORE**
Stars: ✭ 64 (-43.36%)
Mutual labels: opengl, opengl-es
Qlogo
QLogo is a rewrite of the UCBLogo language and user interface with UCB compatibility. It is cross-platform and uses hardware-accelerated graphics.
Stars: ✭ 39 (-65.49%)
Mutual labels: opengl, opengl-es
Raylib
A simple and easy-to-use library to enjoy videogames programming
Stars: ✭ 8,169 (+7129.2%)
Mutual labels: opengl, raspberry-pi
Pharaohstroy
A maplestory IDE which can develop the multi-platform maplestory game
Stars: ✭ 69 (-38.94%)
Mutual labels: opengl, opengl-es
Celestia
Real-time 3D visualization of space.
Stars: ✭ 785 (+594.69%)
Mutual labels: opengl, opengl-es
Q3lite
Q3lite, an OpenGL ES port of Quake III Arena for embedded Linux systems.
Stars: ✭ 64 (-43.36%)
Mutual labels: opengl-es, raspberry-pi
Magnum Plugins
Plugins for the Magnum C++11/C++14 graphics engine
Stars: ✭ 66 (-41.59%)
Mutual labels: opengl, opengl-es
Openframeworks
openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
Stars: ✭ 8,652 (+7556.64%)
Mutual labels: opengl, raspberry-pi
Zoomlayout
2D zoom and pan behavior for View hierarchies, images, video streams, and much more, written in Kotlin for Android.
Stars: ✭ 688 (+508.85%)
Mutual labels: opengl, opengl-es
Gifcompressor
An Android tool to compresses your GIFs into lightweight MP4 video using fast, hardware-accelerated encoders. Supports cropping, rotation, GIF concatenation and much more.
Stars: ✭ 85 (-24.78%)
Mutual labels: opengl, opengl-es
Tangram Es
2D and 3D map renderer using OpenGL ES
Stars: ✭ 644 (+469.91%)
Mutual labels: opengl-es, raspberry-pi
Kepler3d
OpenGL and C++14 game engine that loads glTF 2.0
Stars: ✭ 9 (-92.04%)
Mutual labels: opengl, opengl-es
Pmtech
Lightweight, multi-platform, data-oriented game engine.
Stars: ✭ 478 (+323.01%)
Mutual labels: opengl, opengl-es
Cocoaopengl Swift
A simple example of using Swift to create an OpenGL application for macOS, iOS, and tvOS.
Stars: ✭ 60 (-46.9%)
Mutual labels: opengl, opengl-es
Transcoder
🎞 Hardware-accelerated video transcoding using Android MediaCodec APIs. Supports cropping, concatenation, clipping, audio processing, video speed and much more.
Stars: ✭ 404 (+257.52%)
Mutual labels: opengl, opengl-es
Mapbox Gl Native
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
Stars: ✭ 4,091 (+3520.35%)
Mutual labels: opengl, opengl-es
Shaderconductor
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Stars: ✭ 1,146 (+914.16%)
Mutual labels: opengl, opengl-es
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-38.94%)
Mutual labels: opengl, opengl-es
🐙 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 >2.0 or OpenGL >3.3
- LibAV >12.3
- CMake >3.13
- XCB (For Linux)
- Xcode Toolchain (For macOS)
Linux (Debian Based)
$ sudo apt install libavcodec-dev libavfilter-dev libavutil-dev libavformat-dev libglfw3-dev libyaml-dev libssl-dev build-essential cmake git
macOS
$ brew install yaml-cpp glfw3 libav cmake pybind11
Compilation
$ git clone 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!
- [ ] Implement AVFoundation Native Sink Device.
- [ ] Write Windows Support.
- [ ] Write Android Support.
- [ ] Write iOS Support.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].