Skip to content
This repository has been archived by the owner on Dec 17, 2024. It is now read-only.

Integrate Fmp4streamer for built in H264 HTML video #51

Open
ChaosBlades opened this issue Aug 17, 2022 · 0 comments
Open

Integrate Fmp4streamer for built in H264 HTML video #51

ChaosBlades opened this issue Aug 17, 2022 · 0 comments

Comments

@ChaosBlades
Copy link

ChaosBlades commented Aug 17, 2022

Fmp4streamer streams your V4L2 camera directly to any browser and media player as H264 inside fragmented mp4. It is compatible with desktops and mobiles. You can add it your phone's home screen too!

https://github.com/soyersoyer/fmp4streamer

How does it work?

Fmp4streamer setups the V4L2 device, reads the H264 or MJPGH264 stream from it (or the YUYV, MJPG stream and converts to H264 with a M2M V4L2 device), adds MP4 header (fragmented mp4 - fmp4) and serves it via HTTP. On the browser side it works with only one html5 video tag, no js needed. It's pretty lightweight.

Did some testing with this and you can't use it directly loaded on FluidPi. All you get instead of video on the camera view is another instance of Fluidd no matter the port you use. I am able to view the stream loaded on FluidPi in a separate browser tab however. It has to be from a separate IP address and that way it works extremely well. No more bandwidth constraints trying to push a huge MJPG stream.

It also uses barely any CPU or Memory as all the heavy lifting is done on the GPU which we don't use anyways except maybe KlipperScreen. It is so light weight it works on the original Pi Zero.

You can view the specific capabilities of the attached cameras with v4l2-ctl --list-formats-ext

  • No additional dependencies were needed during testing.
  • Would need to work around issue of adding the camera to Fluidd from the same IP it is hosted from.
  • Provide documentation on Fluidd Wiki
  • Modify code to incorporate fmp4streamer.conf config file into the Fluidd config directory so that it can be edited from within the WebUI.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant