SeeShark icon indicating copy to clipboard operation
SeeShark copied to clipboard

Seeshark 5

Open Speykious opened this issue 9 months ago • 4 comments

For SeeShark 5, I chose to completely rewrite the entire thing.

Having to deal with FFmpeg setup is becoming tiring. Some missing features meant that I had to write interop code for each OS anyway, and since I'm always tied to a specific version of it, it's also not very flexible. So I decided it's best to not use FFmpeg at all, and to instead use the OS APIs directly. That way SeeShark even has a chance to be somewhat done at some point in the future. At the very least, it'll be easier to maintain, with no external dependencies, and the only things to care about being OS API changes and .NET version updates.

As a side note, since this is where SeeShark is going, I might decide to add support for retrieving audio in the future. There's something to be done both for cameras and displays.

Features to be implemented

Meaning of the symbols:

  • ✓ — implemented
  • ✗ — not implemented
  • ¬ — incompatible

Camera

Feature Linux
(V4L2)
MacOS
(AVFoundation)
Windows
(DirectShow)
Get available cameras
Get available formats of camera
Open camera
Open camera with video format options
Configure camera with video format options
Capture raw frames from camera
Notify (dis)connections of cameras

Display

Feature Linux
(X11)
Linux
(Wayland)
MacOS
(ScreenCaptureKit)
Windows
(GDI)
Get available displays
Get available formats of a display
Open display
Open display with video format options
Capture raw frames from display

Status of the PR

Currently implementing camera support for MacOS.

Speykious avatar May 20 '24 09:05 Speykious