eeView
eeView is the MIT-licensed Embedded Ethernet Video stream viewer: GStreamer live display, stream register configuration, JPEG capture, and device discovery—built in Go on goEEVideo.
eeView is an Embedded Ethernet Video stream viewer: it configures a GStreamer pipeline and displays the live stream in a window. Built in Go on goEEVideo under the MIT License, it also supports configuring streaming-related device registers, capturing frames to JPEG, and discovering EEV devices on the network—so bring-up and demos do not require a proprietary vision suite.
Repository
Features
- Live video playback using GStreamer pipelines
- Configure device streaming-related registers
- Capture stream frames and store them as JPEG images
- Discover EEV devices on the network and generate device files
Build notes
eeView is typically built from source because of GStreamer and OS dependencies (CGO_ENABLED=1 go build .). Supported environments include Linux (GStreamer developer packages), macOS (Homebrew GStreamer), and Windows (official GStreamer MinGW package + MSYS2 toolchain). See the GitLab README for current OS setup steps.
Why GStreamer
eeView uses GStreamer for live display and capture so the video path is portable, hardware-aware, and far smaller than a custom viewer stack:
- PC and SoC hosts — the same pipeline model runs on desktop Linux, Windows, and macOS bring-up machines and on common embedded SoC platforms that ship GStreamer as part of their BSP or multimedia stack
- High industry adoption — GStreamer is a widely deployed open multimedia framework in industrial imaging, embedded Linux, and media products, so skills, docs, and plugins are already available in most teams
- Minimal application code — eeView configures and runs a GStreamer pipeline rather than implementing a full viewer from scratch: no custom windowing compositor, no hand-rolled demux/decode/display path, and no proprietary player SDK. Device discovery and EEVideo register control stay in Go; pixels go through battle-tested pipeline elements
- Hard-IP plugins on SoCs — many SoC vendors provide GStreamer plugins that wrap on-chip image-processing macros (for example hardware compression / decompression, color conversion, and scaling). Pipelines can plug those elements in place of pure software codecs so the same viewer pattern uses silicon acceleration where the platform supports it
That split—lightweight control app + standard GStreamer pipeline—keeps eeView maintainable while matching how production hosts already process video on both lab PCs and field SoCs.
Why Go
eeView is written in Go (with GStreamer for video display) so control-plane code stays consistent with the rest of the EEVideo host stack:
- Free compiler — the Go toolchain is free, open, and straightforward to install for development
- Cross-platform builds — one codebase targets Linux, Windows, macOS, and common CPU architectures (GStreamer packages vary by OS)
- Wide industry use — Go is proven in cloud, networking, and infrastructure software
- No runtime install for end users — once built, the application is a native executable; operators do not need a language runtime on the viewing host
- Strong networking performance — concurrency and I/O model suit device discovery, stream setup, and control traffic
- High-quality libraries — mature standard library and ecosystem packages for networking, CLI apps, and system integration
- High adoption among developers — easier hiring, reviews, and community support when you customize the viewer
- Well understood by AI coding tools — high model comprehension of Go code makes porting logic to other languages or generating wrappers more reliable
Related open source
- EEVideo Specification
- goEEVideo
- eeVid — CLI discovery, registers, and capture
- eevLark
- EEVideo FPGA IP
Have an imaging project in mind?
Whether you need FPGA development, a custom video interface, or help with a difficult imaging problem — we are ready to help.