cgoldberg / xvfbwrapper

Manage headless displays with Xvfb (X virtual framebuffer)
Other
295 stars 52 forks source link

Adding the ability to take video on xvfb? #20

Closed DecSander closed 7 years ago

DecSander commented 8 years ago

Would it be possible to take video using xvfbwrapper?

Looks like xvfb has this capability (ruby's headless does it) but I don't see it in the API here.

Obviously being able to take screenshots (with selenium) is really cool, but it'd be nice to be able to take videos. This might also be possible within selenium? Please let me know if i'm wrong about any of this. Thanks!

cgoldberg commented 8 years ago

Thanks for the suggestion. Are you offering to implement it, or is this just a feature request? If the latter, I can take a shot at implementing video capture when i get some free time. I think this would be a great feature to add to xvfbwrapper!

I just did a little research...

Video can be recorded from any X display with FFmpeg (using x11grab). To integrate video capture, xfbwrapper would need to spawn another subprocess that calls ffmpeg (with the same display number that Xvfb is using).

That shouldn't be too hard to get working and would integrate nicely with xvfbwrapper.

travcunn commented 8 years ago

This is how Ruby Headless does it: https://github.com/leonid-shevtsov/headless/blob/master/lib/headless/video/video_recorder.rb