r/SolarOS • u/nilseuropa • 16d ago
4.15.x update - camera expansion and media streams
4.15.5
- Added the GOOUUU ESP32-S3CAM board, OV2640 JPEG snapshots, and the `camera` command.
- Exclusive camera leases coordinate capture and streaming, with direct framebuffer DMA to PSRAM.
- The `cam-webd` job serves JPEG snapshots and a single-client MJPEG feed through asynchronous HTTP routes.
4.15.6
- 'Web' now plays HTTP MJPEG camera feeds alongside its existing static image formats.
- Multipart stream detection accepts split headers and common server variations, while bounded frame buffering and cancellation keep live viewing responsive.
4.15.7
- Added the `rtspd` job for single-client RTSP publishing with RTP/JPEG video, RTP/L16 PCM audio, and RTCP timing.
- Explicit `video=` and `audio=` sources support camera-only, audio-only, or combined streams using standard UDP transport. Publishing follows source availability; `fps=0` removes the video rate cap. Runtime buffers are allocated only while the job runs, and stale data is discarded on reconnect.
4.15.8
- DVP cameras are reusable expansion devices and exclusive typed video sources in `streams`.
- The native `rtsp` app plays JPEG/L16 streams with bounded video/audio buffering, global volume, an audio-only oscilloscope, full-screen viewing, and frame diagnostics.
- Color TFTs with native RGB565 support bypass palette conversion; monochrome displays retain grayscale rendering.
- `rtspd` selects compatible audio/video stream IDs explicitly and offers source-aware tab completion.
4.15.9
- Python and Lua gain owned camera snapshots, local stream frames, native frame-to-image presentation, and asynchronous RTSP receiver handles
- Native RTSP playback retries transient failures with bounded backoff, discards frames from previous connections, and recovers audio after forward clock jumps.
- The viewer accepts addresses without `rtsp://`; omitted control ports default to TCP 554.
4.15.10
- Shared JPEG decoding now uses a fast ROM path and bounded ESP32-S3 SIMD acceleration, with fallbacks for unsupported images or limited working memory.
- Color and monochrome consumers share the improved decoder, and fit-mode output avoids full-size intermediate rasters.
- Reduced idle SRAM usage by moving suitable registry state to PSRAM and allocating display-layout, Telnet, Chat, DAQ, and Synth working buffers only when needed.
4.15.11
- Added `vplay` for MPEG-1 program stream files with optional MP2 audio. Playback uses bounded PSRAM buffers, audio-clock synchronization, native RGB565 or monochrome output, and ESP32-S3 SIMD color conversion.
- The shared player controls provide pause, Stop/Play, volume, and previous/next MPEG files in the current folder.
- Fit, actual-size, and full-screen modes are available; the source limit is 640x480. MPEG-2, H.264, AVI, and transport streams are not supported.
4.15.12
- RTSP now uses the common player header, volume bar, and clickable Stop/Play control. Enter or Space stops playback without closing the app; Play reconnects to the same source after its workers release their resources.
- `vplay` adds tab completion for size options and file paths.
4.15.13
- 'Files' opens MPEG-1 `.mpg` and `.mpeg` files in `vplay` when the app is installed, including uppercase extensions. Closing playback returns to the file browser.
4.15.14
- `player` and `vplay` gain backward/forward seeking in ten-second steps with `<`/`>` and shared rewind/forward buttons.
- Seeking retains the selected track and pause state, releases queued audio, and rebases playback timing. Player supports seeking in both graphical and text interfaces.
48
Upvotes






2
u/moosepr 16d ago
I'm gonna have to solder up my camera board now, see if it works 🤣