• Custom USB camera to IP camera compression over a mini SBC with a Banana Pi BPI-P2 Zero or similar
    • Success with Cedrus/Cedar H.264 encoding on an Allwinner H3 SoC

Banana Pi BPI-P2 Zero

The Banana Pi BPI-P2 Zero

  • Custom MIPI-CSI to IP camera compression over a mini SBC with a Banana Pi BPI-P2 Zero or similar
    • Untested

Camera Module 3

The Raspberry Pi Camera Module 3, a MIPI-CSI camera

  • USB to Ethernet extender
    • Untested

Startech.com USB to Ethernet Extender

  • IP drone cameras, potentially even gimbal cameras
    • Untested, but testing planned

SIYI A2 Mini

SIYI A2 Mini Ultra Wide Angle FPV Gimbal Camera

  • IP Security cameras, like ones from Amcrest or others.
    • Success with Amcrest IP Camera

Video Streaming Pipeline

There are numerous options for video streaming pipelines. The highest performance would be hardware H.264/5 encoding with a dedicated SBC that sends a UDP/RTSP to the topside. Libraries like ffmpeg, opencv, and gstreamer all have this capability. It is usually a limitation of the hardware. Chips like the Allwinner H3, used in most low-cost small SBCs, have such hardware encoding capabilities through Cedrus or other libraries, but they typically run at a large overhead. Webcams sometimes have H.264 or other compression algorithms built in, but in recent developments, manufacturers have been removing them. This is the reason why the SBCs must have hardware encoding. Alternatively, readily-made IP cameras don't have this limitation, but how well the compression and image quality will be is a coin toss. The USB to Ethernet extender forgoes this limitation, directly streaming webcam data. However, the bandwidth limitations of uncompressed (or not very efficiently compressed) may impose unforeseen limitations.