https://github.com/OpenIPC/smolrtsp Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} OpenIPC / smolrtsp Public * Notifications * Fork 5 * Star 29 A lightweight real-time streaming library for IP cameras openipc.org/smolrtsp/files.html MIT License 29 stars 5 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Wiki * Security * Insights This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 2 branches 2 tags Code Latest commit @Hirrolot Hirrolot Release v0.1.1 ... 6c0b1b1 Mar 31, 2022 Release v0.1.1 6c0b1b1 Git stats * 450 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows Optimise FFmpeg build (CI) Mar 27, 2022 examples Release v0.1.1 Mar 30, 2022 include More SMOLRTSP_PRIV_MUST_USE Mar 30, 2022 media Add the usage section (README.md) Mar 28, 2022 run-clang-format @ 39081c9 Check code formatting Nov 18, 2020 scripts Increase the sleep timeout to 2s (scripts/test-server.sh) Mar 28, 2022 src Skip interleaved binary data Mar 29, 2022 tests Fix tests warnings Mar 30, 2022 .clang-format Add tests for nal.h Feb 24, 2022 .gitignore Add a simple server example Mar 25, 2022 .gitmodules Download Slice99 using FetchContent Dec 2, 2021 .nojekyll Add .nojekyll Feb 21, 2022 CHANGELOG.md Release v0.1.1 Mar 30, 2022 CMakeLists.txt Introduce SMOLRTSP_FULL_MACRO_EXPANSION Mar 29, 2022 Doxyfile Release v0.1.1 Mar 30, 2022 LICENSE Update the license year Aug 20, 2021 README.md Update the docs badge link (README.md) Mar 30, 2022 View code SmolRTSP Highlights Features Installation Options Usage Integration README.md OpenIPC Logo SmolRTSP CI Docs SmolRTSP is a simple RTSP 1.0 server library tailored for embedded devices, such as IP cameras. It supports both TCP and UDP, allows any payload format, and provides a convenient and flexible API. Highlights * Small. SmolRTSP is designed for use in embedded systems (e.g., IP cameras). * Unopinionated. You can use SmolRTSP with bare POSIX sockets, libevent, or any other network framework. * Zero-copy. SmolRTSP does not allocate or copy data while parsing. * Battle-tested. SmolRTSP is used by Majestic, an IP camera streamer developed by OpenIPC. Features * Supported protocols: + [*] RTSP 1.0 (RFC 2326) + [*] RTP (RFC 3550) + [*] RTP over TCP (interleaved binary data) + [*] RTP over UDP + [*] SDP (RFC 4566) + [ ] RTCP * Supported RTP payload formats: + [*] H.264 (RFC 6184) + [*] H.265 (RFC 7798) Installation If you use CMake, the recommended way is FetchContent: include(FetchContent) FetchContent_Declare( smolrtsp URL https://github.com/OpenIPC/smolrtsp/archive/refs/tags/v1.2.3.tar.gz # v1.2.3 ) FetchContent_MakeAvailable(smolrtsp) target_link_libraries(MyProject smolrtsp) Options Option Description Default SMOLRTSP_SHARED Build a shared library instead OFF of static. Show full macro expansion SMOLRTSP_FULL_MACRO_EXPANSION backtraces (DANGEROUS: may OFF impair diagnostics and slow down compilation). Usage A simple example server that streams H.264 video and G.711 Mu-Law audio can be found at examples/server.c. server demo Run it as follows: $ mkdir examples/build $ cd examples/build $ cmake .. && cmake --build . $ sudo ./server Then open a new terminal window to start playing: $ ffplay rtsp://localhost Integration SmolRTSP is agnostic to a network backend: you can run it atop of any network/event loop framework. Currently, we support the following integrations: * OpenIPC/smolrtsp-libevent (libevent) Feel free to extend this list with your own integration code. About A lightweight real-time streaming library for IP cameras openipc.org/smolrtsp/files.html Topics audio c streaming embedded h264 video rtsp rtsp-server media-server rtp h265 rtsp-client network-protocol c-library Resources Readme License MIT License Stars 29 stars Watchers 7 watching Forks 5 forks Releases 2 v0.1.1 Latest Mar 30, 2022 + 1 release Contributors 2 * @Hirrolot Hirrolot * @widgetii widgetii Dmitry Ilyin Languages * C 97.1% * CMake 2.4% * Shell 0.5% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.