selkies-gstreamer
selkies-gstreamer copied to clipboard
[META] Windows/MacOS support mega thread
Windows support is in progress with the contribution from the community with @callTx mainly working on the project (edit: seems like it has stalled).
For Windows, the pipeline should add d3d11screencapturesrc
(screen capture), d3d11colorconvert
(color convert), and wasapi
or wasapi2
(audio capture).
In addition, it would be worth adding the mfh264enc
and mfvp9enc
encoder pipelines for Windows native encoding capabilities as well as nvd3d11h264enc
, nvd3d11h265enc
, and nvd3d11av1enc
for NVIDIA, which also may be used for Windows.
Assess the implementation for pynput
for Windows input. Apparently, there are no specific dependencies.
Removal of patches to the GStreamer build process in #51 means that the binary build available from the project for Windows will work without additional alterations.
For MacOS, pyobjc-framework-applicationservices
and pyobjc-framework-quartz
are the frequently used interfaces for input.
avfvideosrc capture-screen=true
(video capture), glcolorconvert
(color convert, not sure), and osxaudiosrc
(audio capture) are probably the way to go for media capture.
Relevant to #34.
// Removal of patches to the GStreamer build process in https://github.com/selkies-project/selkies-gstreamer/pull/51 means that the binary build available from the project for Windows will work without additional alterations.
Does this mean I can currently run a compile of the project while removing the patches to make a windows build?
Answer from maintainer: Yes, but the capture interface and input interface are not written.
Does not work out of the box right now. BUT, we have contributors @callTx and @Xosrov doing this and probably have it about 80% working.
https://discord.gg/wDNGDeSW5F
We have a channel specifically for Windows development.
Hi folks, what's the status of Windows development ?
@callTx
@ehfd would you be able to point me to a branch with the windows port ? I looked at the forks but couldn't find anything windows specific.
@boxerab https://github.com/selkies-project/selkies-gstreamer-msys2 TBA
@ehfd still interested in seeing code for the windows port. Any updates on when that might be available ? Thanks!
hmmmmmm - I would very much like to see any selkies code ported to windows.
@callTx
Hello @ehfd and all. Really sorry for the Windows port has not been released. I was facing on a plenty of gstreamer connection bug on my local repo and after many fail attempts I decide refactore and revise all code, most of them on gstreamer webrtc core.
Em qui., 27 de abr. de 2023 às 23:13, Seungmin Kim @.***> escreveu:
@callTx https://github.com/callTx
— Reply to this email directly, view it on GitHub https://github.com/selkies-project/selkies-gstreamer/issues/57#issuecomment-1526881732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIYW2VRTYTSJ624N4CJXVNLXDMRWFANCNFSM6AAAAAAQWL57OU . You are receiving this because you were mentioned.Message ID: @.***>
Don't worry guys I'll not give up this project.
Em sex., 28 de abr. de 2023 às 08:43, callTX @.***> escreveu:
Hello @Seungmin Kim and all. Really sorry for the Windows port has not been released. I was facing on a plenty of gstreamer connection bug on my local repo and after many fail attempts I decide refactore and revise all code, most of them on gstreamer webrtc core.
Em qui., 27 de abr. de 2023 às 23:13, Seungmin Kim < @.***> escreveu:
@callTx https://github.com/callTx
— Reply to this email directly, view it on GitHub https://github.com/selkies-project/selkies-gstreamer/issues/57#issuecomment-1526881732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIYW2VRTYTSJ624N4CJXVNLXDMRWFANCNFSM6AAAAAAQWL57OU . You are receiving this because you were mentioned.Message ID: @.***>
@callTx thanks, looking forward to this. Even though not complete, why don't you share the code on a branch? I'm very keen to take a look. Also, I may be able to help with port.
@callTx hey there, any updates?
The code has become too Linux-centric. Whoever wants to do this must clean up the code to distinguish elements between Windows and Linux.