steveseguin / electroncapture

Playback video in a frameless electron app for screen-sharing and window capture
GNU General Public License v3.0
325 stars 37 forks source link

Raspberry PI raspbian build #63

Open clausundercover opened 2 years ago

clausundercover commented 2 years ago

I'd like to try passing the vdo.ninja video through my ATEM by using electroncapture (browser is too resource intensive for this on RPi). I'm trying to build electroncapture using the npm snap as per Linux instructions, however the error message is:

Unsupported arch arm failedTask=build stackTrace=Error: Unsupported arch arm

Would be helpful to have this program on raspberry pi as well!

steveseguin commented 2 years ago

So I updated the readme with install instructions for the Raspberry Pi; or at least, I can get the electron app to build.

I also built a DEB binary of the Electron App for a Raspberry pi, here: https://github.com/steveseguin/electroncapture/releases/tag/2.5.0

That said, there's a couple problems. If you want to use the GPU on the pi to hardware decode video, two things are additionally needed:.

  1. You may need to install the GL drivers. The following link works at getting that to work for me, but it's not enough still (i

https://www.dedoimedo.com/computers/rpi4-ubuntu-mate-hw-video-acceleration.html

  1. To actually have the Electron capture app work with the GPU, electron needs to be patched to support the Raspberry pi's GPU. Below are the patches that need to be made, except they are not compatible with any Electron.js version I am aware of. They also probably will require cross-compiling on a powerful computer to actually build the new and modded electron framework.

https://raspberrypi.stackexchange.com/questions/109717/video-tearing-in-custom-electron-app-but-not-with-included-chromium-app

I've spent a few hours on this task now, but unless you are happy running things with software-only decoding, this is probably a bit too time consuming for me to get working at this point.

What was suggested as an alternative is what I'm already doing, and that is supporting VDO.NInja on the Raspberry_ninja project. It won't support overlays or more than one video at time, but it soon will be able to play any single h264 VDO.Ninja video at high-quality, smoothly.

You can see that project here: https://github.com/steveseguin/raspberry_ninja I've yet to add the playout option, but it's coming soon, and it might be the better option going forward here for an ATEM input.

_steve