Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 C Video Projects
-
ijkplayer
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support. (by bilibili)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
motion
Motion, a software motion detector. Home page: https://motion-project.github.io/ (by Motion-Project)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Creando Subtítulos Automáticos para Vídeos con Python, Faster-Whisper, FFmpeg, Streamlit, Pillow | dev.to | 2024-04-29FFmpeg (https://ffmpeg.org/)
Based on my (limited) understanding of Kitty's image protocol[0] (a.k.a the "Terminal graphics protocol") video support could be potentially implemented via multiple approaches, including at least:
(1) Draw image repeatedly using the "don't move cursor" cursor movement policy[1a][1b].
(2) Draw image replacing an existing image with the same id.
(3) Use animation configured to use "loading mode"[2] ("in this mode when reaching the last frame, instead of looping, the terminal will wait for the arrival of more frames").
An actual terminal graphics/image protocol enables some IMO[3] pretty cool possibilities:
* A while back I implemented a proof-of-concept that displayed a simple interactive egui (a Rust immediate mode GUI project) GUI within WezTerm via the protocol.
* Later I discovered someone had gone as far as making a port[5] of the OpenGL gears demo to kitty terminal graphics protocol.
* And there's even a "full graphical web browser for Kitty terminal with mouse and keyboard support"[6][7].
---- footnotes ----
(Content advisory for links: Kitty terminal graphics protocol spec includes a sample image whose subject has requested that the image no longer be used for such purposes.)
[0] https://sw.kovidgoyal.net/kitty/graphics-protocol/#terminal-...
[1a] https://sw.kovidgoyal.net/kitty/graphics-protocol/#controlli...
[1b] This approach appears to be the method used by the mpv implementation: https://github.com/mpv-player/mpv/commit/874e28f4a41a916bb56...
[2] https://sw.kovidgoyal.net/kitty/graphics-protocol/#controlli...
[3] I'm aware that not everyone will think static or dynamic image display is something a terminal "should do" but to me it seems better to have actual image support in terminals rather than use (already currently used) existing "hacks" that provide a poor facsimile of support[4].
[4] Then again, I'm also of the opinion[4a] that perhaps terminals should support actual graphical UIs rather than the poor facsimile of them delivered by TUIs. *cough* :D
[4a] Motivated by the thought that at the current point in time perhaps the "essence" of a "terminal" is its linear "chronological" presentation of input/interaction/output history rather than its use of "text". (See also: "lab notebooks" & some tiling window manager features.)
[5] https://github.com/michaeljclark/glkitty
[6] https://github.com/chase/awrit
[7] Which I imagine DEC is turning in its grave about. :)
Project mention: Show HN: I open-sourced the in-memory PostgreSQL I built at work for E2E tests | news.ycombinator.com | 2024-04-07There's already ffmpeg wasm. I've used it in projects. Works great.
https://github.com/ffmpegwasm/ffmpeg.wasm
Project mention: Motion: A software motion detector from multiple video signals | news.ycombinator.com | 2024-01-24
Project mention: Can I use Elgato Wave Link software over Voicemeeter Banana VBAN? (Sending audio over network) | /r/streaming | 2023-06-07I using OBS Newtek NDI https://github.com/obs-ndi/obs-ndi to send the screen over network (without capture card).
Allegro (zlib/plain C) https://github.com/liballeg/allegro5
Project mention: PipeWire: Greatly improve handling of audio and video under Linux | news.ycombinator.com | 2024-01-18
Project mention: Kdenlive 24.02 open source video editor released | news.ycombinator.com | 2024-03-11I've used Kdenlive, Shotcut, Blender and Olive [1]. They all have strenghts and weaknesses, so I choose which one to use depending on what I'm trying to do, or sometimes I use two of them through a single video project.
One thing to note is that Kdenlive and Shotcut both use the MLT video editing framework [2] under the hood, so their capabilities and constraints are very close to each other's. That said, their UIs are their own and some things may be easier to do in one over the other, may be a matter of personal preference. AFAIK Shotcut is developed by the same people who built MLT, but I don't think that gives it any particular advantage. Also both of these apps have the largest ready-made effects toolbox out of the four apps I mentioned at the top.
Blender's VSE (video sequence editor) is great if you need fine-tuned 2D animations of elements because you can use all the same awesome keyframing tools you'd use for 3D animation, but it's severely lacking in other aspects, especially in the effects dept (you can crop, blur, mask, but not much else). For some reason you can't use Blender's compositor node system with video, which would enable many more capabilities if possible. There's also a steeper learning curve if you've never used Blender before because its UI breaks many conventions.
Olive is a newcomer that doesn't get enough attention, but IMHO it was at one point the most promising OSS video editor out there. Sadly the developer works on it on his free time, and he's recently said that he's pausing development because he doesn't have the resources to work on it any more. I'm really hoping a miracle happens.
There's two versions of Olive, 0.1 and 0.2 which is a complete rewrite. Both versions are good, but they work pretty differently. What got me excited about 0.2 is that its effects are node-based (unlike MLT-based editors which are stack-based), which enables far more advanced editing, although you probably wouldn't need that unless you're working on something quite ambitious.
1: https://www.olivevideoeditor.org/
2: https://www.mltframework.org/
Project mention: CVE-2023-5217 Mitigates memory vulnerabilities through explicit usage of bzero() | news.ycombinator.com | 2023-10-11
Easiest solution https://github.com/Core-2-Extreme/Video_player_for_3DS or you can make a MOFLEX
Project mention: OpenIPC is an alternative open firmware for your IP camera | news.ycombinator.com | 2024-03-02
C Video related posts
-
Show HN: CompressX, my FFmpeg wrapper for macOS, made $9k in the last 4 months
-
FFmpeg 7.0 Released
-
Microsoft offered FFmpeg one-time payment instead of support contract
-
Kdenlive 24.02 open source video editor released
-
Video Generation with Python
-
Motion: A software motion detector from multiple video signals
-
PipeWire: Greatly improve handling of audio and video under Linux
-
A note from our sponsor - InfluxDB
www.influxdata.com | 1 Jun 2024
Index
What are some of the best open-source Video projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | FFmpeg | 43,030 |
2 | ijkplayer | 32,156 |
3 | mpv | 26,304 |
4 | ffmpeg.wasm | 13,226 |
5 | motion | 3,568 |
6 | obs-ndi | 3,009 |
7 | nginx-vod-module | 1,956 |
8 | Allegro | 1,780 |
9 | pipewire | 1,760 |
10 | mlt | 1,432 |
11 | libvpx | 870 |
12 | kvazaar | 785 |
13 | evdi | 682 |
14 | ccextractor | 671 |
15 | avidemux2 | 649 |
16 | libplacebo | 514 |
17 | obs-gstreamer | 332 |
18 | mv-extractor | 252 |
19 | ott-packager | 224 |
20 | Video_player_for_3DS | 170 |
21 | smolrtsp | 164 |
22 | flex-launcher | 171 |
23 | hxCodec | 109 |
Sponsored