{"id":31721383,"url":"https://github.com/themactep/thingino-streamer","last_synced_at":"2025-10-09T03:48:40.480Z","repository":{"id":317944887,"uuid":"1026131782","full_name":"themactep/thingino-streamer","owner":"themactep","description":"Open streamer of Thingino project","archived":false,"fork":false,"pushed_at":"2025-09-22T16:33:44.000Z","size":1799,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-04T03:46:03.189Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/themactep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-25T11:06:20.000Z","updated_at":"2025-09-28T17:29:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"cf777521-e089-4077-ae15-36f291511427","html_url":"https://github.com/themactep/thingino-streamer","commit_stats":null,"previous_names":["themactep/thingino-streamer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/themactep/thingino-streamer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fthingino-streamer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fthingino-streamer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fthingino-streamer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fthingino-streamer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themactep","download_url":"https://codeload.github.com/themactep/thingino-streamer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themactep%2Fthingino-streamer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000697,"owners_count":26082911,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-10-09T03:48:33.427Z","updated_at":"2025-10-09T03:48:40.468Z","avatar_url":"https://github.com/themactep.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Thingino Streamer\n\nPure C H.264/H.265 RTSP/RTMP/MJPEG Streaming Server\n---------------------------------------------------\n\n**thingino streamer** is a high-performance, pure C implementation of a streaming server optimized for embedded IP cameras.\n\n## 🏆 Performance Achievements\n\n- **2-second startup time** (91% faster than C++ version)\n- **Solid dual-channel streaming** - 30fps + 15fps simultaneously\n- **Zero dropped frames** during continuous operation\n- **28MB memory footprint** on 128MB devices (65% RAM available)\n- **Production-ready stability** (9+ hours uninterrupted streaming)\n- **Live555-free architecture** - 100% custom lightweight RTSP server\n\n## 🎯 Key Features\n\n### Streaming Capabilities\n- **Dual-channel RTSP/RTP streaming** - 30fps main + 15fps sub streams\n- **RTMP server** - Receive streams from OBS/FFmpeg for recording and testing\n- **RTMP client** - Live streaming to YouTube, Twitch, Facebook, and 9+ platforms\n- **TCP and UDP transport** support\n- **Multiple concurrent clients** (tested with 5+ simultaneous)\n- **Professional video quality** (1920x1080@30fps + 640x360@15fps)\n- **Low latency streaming** (~80ms end-to-end)\n- **Frame-rate-aware processing** - Optimized for T31 hardware capabilities\n\n### Pure C Performance\n- **100% C++ elimination** - no C++ dependencies, Live555-free\n- **Custom lightweight RTSP server** - optimized for embedded systems\n- **Optimized for MIPS** architecture (Ingenic T31)\n- **Minimal resource usage** - perfect for 128MB devices\n- **Fast startup** - immediate streaming capability\n- **Stable operation** - designed for 24/7 deployment\n\n### Integration \u0026 Control\n- **Thingino Integration**: Seamlessly integrates with **[thingino](https://github.com/themactep/thingino-firmware)**\n- **Expanded Configuration**: Support for **[libimp_control](https://github.com/gtxaspec/libimp_control)**\n- **JSON configuration** - flexible runtime configuration\n- **Multiple platform support** (T31, T23, etc.)\n\n## 📊 Performance Benchmarks\n\n| Metric             | Achievement         | Industry Standard |\n|--------------------|---------------------|-------------------|\n| **Startup Time**   | 2.0 seconds         | 5-15 seconds      |\n| **Memory Usage**   | 28MB                | 40-80MB           |\n| **CPU Usage**      | 20%                 | 30-50%            |\n| **Frame Accuracy** | 99.8% within ±0.1ms | 95% typical       |\n| **Uptime**         | 99.8%               | 99.0% typical     |\n\n*See [Performance Benchmarks](docs/PERFORMANCE_BENCHMARKS.md) for detailed analysis.*\n\n## 🚀 Quick Start\n\n### Building with Thingino Buildroot (Recommended)\n\nThe best and most binary-compatible way to build Thingino Streamer is within the [Thingino buildroot](https://github.com/themactep/thingino-firmware/wiki/Development) environment:\n\n```bash\n# Clone the repository\ngit clone https://github.com/themactep/thingino-streamer.git\ncd thingino-streamer\n\n# Build using Thingino buildroot\n./build.sh\n```\n\n### Alternative Docker Build\n\nFor a more isolated setup, you can use Docker:\n\n```bash\n# Clone the repo\ngit clone https://github.com/themactep/thingino-streamer.git\ncd thingino-streamer\n\n# Update submodules\ngit submodule update --init\n\n# Build for a specific target and build type\ndocker build \\\n  --build-arg TARGET=T31 \\\n  --build-arg BUILD_TYPE=dynamic \\\n  -t thingino-streamer-builder .\n\ndocker run --rm -v \"$(pwd):/src\" thingino-streamer-builder\n\n# You will find the resulting binary at: bin/\n```\n\n### Running and Testing\n\n```bash\n# On target device\n./streamer\n\n# Stream URL will be available at:\n# rtsp://camera_ip:554/main\n\n# Test dual channels with mpv (recommended)\nmpv rtsp://192.168.1.109/ch0  # Main stream: 1920x1080@30fps\nmpv rtsp://192.168.1.109/ch1  # Sub stream: 640x360@15fps\n\n# Test with ffplay\nffplay rtsp://192.168.1.109/ch0\nffplay rtsp://192.168.1.109/ch1\n```\n\n## 📚 Documentation\n\n### For Users\n- **[Performance Benchmarks](docs/PERFORMANCE_BENCHMARKS.md)** - Detailed performance analysis\n- **[RTMP Server Guide](docs/RTMP_SERVER.md)** - Complete RTMP server setup and usage\n- **[RTMP Client Guide](docs/RTMP_CLIENT.md)** - Live streaming to YouTube, Twitch, Facebook\n- **[RTMP Client Quick Reference](docs/RTMP_CLIENT_QUICK_REFERENCE.md)** - Quick setup guide\n- **[Debugging Guide](docs/DEBUGGING_GUIDE.md)** - Troubleshooting and debugging\n\n### For Developers\n- **[Pure C Conversion Guide](docs/PURE_C_CONVERSION_GUIDE.md)** - Complete conversion methodology\n- **[Technical Implementation](docs/TECHNICAL_IMPLEMENTATION.md)** - Deep dive into architecture\n- **[Debugging Guide](docs/DEBUGGING_GUIDE.md)** - Advanced debugging techniques\n\n## 🛠 Technical Architecture\n\n### Core Components\n```\n┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐\n│    IMP Encoder  │───▶│  Frame Processor │───▶│   RTSP Server   │\n│    (Hardware)   │    │   (Pure C)       │    │   (Pure C)      │\n└─────────────────┘    └──────────────────┘    └─────────────────┘\n         │                       │                       │\n         ▼                       ▼                       ▼\n┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐\n│ Sensor (GC2053) │    │ Timestamp Sync   │    │ RTP Packetizer  │\n│ 1920x1080@25fps │    │ 40ms intervals   │    │ H.264 FU-A      │\n└─────────────────┘    └──────────────────┘    └─────────────────┘\n```\n\n### Key Technologies\n- **Pure C implementation** - eliminated all C++ and Live555 dependencies\n- **Custom lightweight RTSP server** - minimal footprint, optimized for embedded\n- **Direct IMP API usage** - optimized hardware integration\n- **Frame-based timestamp generation** - perfect frame timing per channel\n- **Efficient RTP packetization** - optimized network delivery\n- **Dual-channel processing** - frame-rate-aware 2:1 processing ratio\n\n## 🌟 Why Choose Thingino Streamer?\n\n### Performance Advantages\n- **91% faster startup** compared to C++ implementations\n- **30-65% less memory usage** than commercial solutions\n- **Perfect frame timing** with synthetic timestamp generation\n- **Zero dropped frames** under normal operation\n\n### Development Benefits\n- **Pure C codebase** - easier to understand and modify\n- **Comprehensive documentation** - detailed implementation guides\n- **Active community** - responsive support and contributions\n- **Open source** - no licensing restrictions\n\n## 🤝 Contributing\n\nContributions to thingino-streamer are welcome! We especially value:\n\n- **Code contributions** - bug fixes, optimizations, new features\n- **Documentation improvements** - help others understand the codebase\n- **Testing and validation** - real-world deployment feedback\n- **Performance analysis** - benchmarking and optimization\n\nPlease feel free to submit a pull request or open an issue.\n\n## 📄 License\n\nThis project is open source. See individual files for specific license information.\n\n## 🔗 Related Projects\n\n- **[Thingino](https://github.com/themactep/thingino-firmware)** - Firmware for IP cameras\n- **[Ingenic SDK](https://github.com/gtxaspec/ingenic-sdk)** - Hardware abstraction layer\n\n---\n\n**Thingino Streamer** - *Professional streaming performance in Pure C*\n\n*Built with ❤️ by the embedded streaming community*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fthingino-streamer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemactep%2Fthingino-streamer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemactep%2Fthingino-streamer/lists"}