Broadcast Camera Proxy Solutions

Broadcast Camera Proxy Solutions

Embedded Linux application with Cloud tunneling and Reverse Proxy.

INTRODUCTION

The Cloud Tunnel project was focused on enhancing the functionality of Hikvision cameras by implementing a Cloud tunneling and Reverse Proxy solution through an Embedded Linux application.

DESCRIPTION

The Cloud Tunnel project focused on developing an Embedded Linux application with Cloud tunneling and Reverse Proxy capabilities to facilitate broadcasting camera feeds securely over the internet. This involved migrating the firmware from Go to C++ to optimize memory utilization and meet the stringent constraints of the camera's hardware.

SOLUTION

The primary challenge addressed by the project was optimizing the firmware to fit within the strict memory constraints of the Hikvision camera, which had only 1MB of FLASH and 3-4MB of RAM. To achieve this, the firmware was migrated from Go to C++ 14, resulting in significant memory savings.

Key optimizations included:

  • Static Linkage: OpenSSL and Boost libraries were statically linked to reduce dependency overhead and minimize memory usage.

  • Integration of Lightweight Libraries: The Plog library, a lightweight header-only logging library, was integrated to provide essential logging functionality without adding excessive overhead.

  • Dynamic Linkage: C++ runtime and glibc were dynamically linked to optimize memory utilization further.

  • Executable Compression: The UPX executable compressor utility was utilized to compress the binary, reducing its size to approximately 750KB in FLASH memory.

RESPONSIBILITIES

iomico assumed responsibility for the comprehensive optimization of the firmware, encompassing the following key tasks:

  • Firmware Migration: Migrated the firmware from Go to C++ 14 to leverage the language's performance and memory optimization capabilities.

  • Memory Optimization: Implemented various strategies, including static linkage, lightweight library integration, and executable compression, to optimize memory utilization and meet hardware constraints.

  • Testing and Validation: Conducted rigorous testing and validation to ensure the stability, reliability, and performance of the optimized firmware across different hardware configurations.

  • Documentation and Reporting: Prepared comprehensive documentation outlining the optimization strategies employed and their impact on memory utilization and performance.

TECHNICAL DETAILS

  • Platform: Embedded Linux

  • Features: Cloud tunneling, Reverse Proxy, Yamux protocol implementation, MDNS implementation, Binary size and in-memory optimization

  • Language: C++ 14

CONCLUSION

The successful migration and optimization of the Cloud Tunnel firmware from Go to C++ 14 represent a significant achievement in enhancing the functionality and performance of Hikvision cameras. By optimizing memory utilization and meeting stringent hardware constraints, iomico has enabled the seamless integration of Cloud tunneling and Reverse Proxy capabilities, empowering users to securely broadcast camera feeds over the internet with minimal resource overhead.

Our services

Embedded Software Development

Industry

Security

Technology

C/C++

Team

3 embedded software developers

Contact us

Contact us

Contact us