{"id":13486704,"url":"https://github.com/geekman/t20-rtspd","last_synced_at":"2025-10-26T19:46:18.787Z","repository":{"id":141965683,"uuid":"182539842","full_name":"geekman/t20-rtspd","owner":"geekman","description":"RTSP server + Ingenic T20 SDK","archived":false,"fork":false,"pushed_at":"2023-03-26T18:23:43.000Z","size":2794,"stargazers_count":28,"open_issues_count":2,"forks_count":16,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T01:25:15.103Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geekman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-04-21T13:54:21.000Z","updated_at":"2024-08-18T14:17:18.000Z","dependencies_parsed_at":"2023-05-09T14:19:17.741Z","dependency_job_id":null,"html_url":"https://github.com/geekman/t20-rtspd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekman%2Ft20-rtspd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekman%2Ft20-rtspd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekman%2Ft20-rtspd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekman%2Ft20-rtspd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekman","download_url":"https://codeload.github.com/geekman/t20-rtspd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248130547,"owners_count":21052765,"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":[],"created_at":"2024-07-31T18:00:50.056Z","updated_at":"2025-10-26T19:46:13.761Z","avatar_url":"https://github.com/geekman.png","language":"C++","funding_links":[],"categories":["Chip specific software"],"sub_categories":["Ingenic"],"readme":"T20L RTSP Server\n==================\n\nThis project originally came from \u003chttps://github.com/beihuijie/carrier-rtsp-server\u003e.\n\nIt's a very spartan RTSP server, using the live555 library for RTSP implementation,\nand a FIFO file descriptor to feed the H.264 frames from the SDK example.\nIt's not robust, but it works.\n\nThis repo differs by making it work with lower memory devices using the T20L variant,\nlike the Xiaofang 1S. I have reverse-engineered the 1S binary in the firmware, \nand found undocumented SDK calls to increase the pool sizes in order to allow\nthe SDK to function under low memory.\n\nThe IR LEDs are now also software-controlled via PWM channel 0.\nThe settings were also reversed from the 1S binary, and should work with the \nWyzeCam v2 since they also got rid of the CdS photoresistor.\n\nAlso, you can find more technical information from the original \n[Dafang Hacks project](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks).\n\nCompilation\n============\n\n1. Download the T20 toolchain, either from [the Dafang-Hacks GitHub repo](https://github.com/Dafang-Hacks/Ingenic-T10_20/tree/master/resource/toolchain) or the [Tuya GitHub repo](https://github.com/TuyaInc/TUYA_IPC_SDK/tree/master/mips-linux-4.7.2_64Bit).\n\n2. Set up the `PATH` environment variable to add the toolchain directory.\n\n2. Clone this repo\n\n3. Run the `make` command.\n   You should end up with the `t20-rtspd` binary in the directory.\n\nLicense\n========\n\nThe original source code doesn't really have a license.\n\nHowever, the newer changes made by me are licensed under **the 3-clause\n(\"modified\") BSD License**, where applicable.\n\nCopyright (C) 2019 Darell Tan\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n\n1. Redistributions of source code must retain the above copyright\n   notice, this list of conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright\n   notice, this list of conditions and the following disclaimer in the\n   documentation and/or other materials provided with the distribution.\n3. The name of the author may not be used to endorse or promote products\n   derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR\nIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\nNOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekman%2Ft20-rtspd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekman%2Ft20-rtspd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekman%2Ft20-rtspd/lists"}