{"id":14977930,"url":"https://github.com/frc3494/potential-engine","last_synced_at":"2025-10-28T07:30:38.734Z","repository":{"id":77553331,"uuid":"166582737","full_name":"FRC3494/potential-engine","owner":"FRC3494","description":"RTSP server","archived":false,"fork":false,"pushed_at":"2019-11-30T04:35:43.000Z","size":80,"stargazers_count":21,"open_issues_count":1,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-01T12:44:09.894Z","etag":null,"topics":["cpp","gstreamer","raspberry-pi-camera","rtsp-server"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FRC3494.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.LESSER","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-01-19T19:03:55.000Z","updated_at":"2023-02-11T16:11:25.000Z","dependencies_parsed_at":"2023-09-06T02:05:34.347Z","dependency_job_id":null,"html_url":"https://github.com/FRC3494/potential-engine","commit_stats":null,"previous_names":["frc3494/potential-engine"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRC3494%2Fpotential-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRC3494%2Fpotential-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRC3494%2Fpotential-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FRC3494%2Fpotential-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FRC3494","download_url":"https://codeload.github.com/FRC3494/potential-engine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238608317,"owners_count":19500356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","gstreamer","raspberry-pi-camera","rtsp-server"],"created_at":"2024-09-24T13:56:33.978Z","updated_at":"2025-10-28T07:30:33.393Z","avatar_url":"https://github.com/FRC3494.png","language":"C++","readme":"# `potential-engine`\n\n:steam_locomotive:\n\nA pretty simple RTSP (**R**eal **T**ime **S**treaming **P**rotocol) server.\n\n## Dependencies\n### Building\n* `cmake` version 3.1 or greater\n* [`fmt`](http://fmtlib.net/latest/index.html) version 5.3.0 (or greater?)\n  * Note that the version of `fmt` included in Debian Stable (and Raspbian Stable) is **not** up-to-date. If you are using either of these systems you **must** install `fmt` from source. \n* `gio-2.0` and `glib-2.0`\n* `gstreamer-1.0`\n* `gstreamer-rtsp-server-1.0`\n\n`cmake` finds all build dependencies with `pkg-config`. **Your compiler must support C++11.**\n\n### Runtime\n* [`gst-rpicamsrc`](https://github.com/thaytan/gst-rpicamsrc): for Raspberry Pi Camera users. At time of writing this must be installed from source. Their [README file](https://github.com/thaytan/gst-rpicamsrc/blob/master/README) details both building and installation.\n* `gstreamer1.0-omx` (should be available in your distro's packages): for hardware-accelerated video encoding.\n  * Raspberry Pi users should also install `gstreamer1.0-omx-rpi`\n* `gstreamer1.0-plugins-ugly`: for software encoding with `x264enc`\n* `gstreamer1.0-plugins-bad`: for shared memory video source (useful for integrating with other applications such as Open CV vision processing)\n\nOn Raspbian, you can install everything you need to build and run this repository **except `fmt`** with the following mouthful of a command:\n```bash\nsudo apt update \u0026\u0026 sudo apt upgrade \u0026\u0026 sudo apt install git cmake pkg-config gstreamer1.0-rtsp gstreamer1.0-plugins-bad gstreamer1.0-omx-rpi gstreamer1.0-omx libgstreamer1.0-dev libgstrtspserver-1.0-dev\n```\nIf you need to install `fmt` from source, run the following:\n```bash\ncd # go home\ngit clone https://github.com/fmtlib/fmt.git # download the source\ncd fmt \u0026\u0026 mkdir build \u0026\u0026 cd build # create build files directory\ncmake .. # create build files\nsudo make install # build and install {fmt}\n```\n\n## Building, Running and User's Manual\n```bash\ncd # go home\ngit clone https://github.com/BHSSFRC/potential-engine.git\ncd potential-engine \u0026\u0026 mkdir build \u0026\u0026 cd build\ncmake ..\nmake\n```\n`make` will produce an executable named `potential-engine` in the `build` folder. (If you'd like to install the project to use it from any directory, run `sudo make install` instead of `make`.) To see what options are available, use `./potential-engine --help`.  \nRunning with no options is functionally identical to `./potential-engine --address 0.0.0.0 --port 1181 --url /stream`. The server does not use the Raspberry Pi Camera Module or OpenMAX hardware acceleration unless explicity told to with `--rpi_cam` or `--use_omx` respectively.  \nIf you have a very nice camera (such as the [Logitech C920](https://www.logitech.com/en-us/product/hd-pro-webcam-c920s)) which outputs h.264 video natively, add the `--camera_h264` flag at runtime instead of `--use_omx`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrc3494%2Fpotential-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrc3494%2Fpotential-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrc3494%2Fpotential-engine/lists"}