May 19, 2020, 09:23 by e...@fastwebnet.it: > Hi Marton, > > Thanks very much for the feedback; below answers to your points - let me know > further feedback if any. > >> And sorry, I cannot say how useful this would be, maybe now is the time >> for people to speak up if somebody is particularly against adding this >> for any reason. >> > > I haven't been able to capture video-games/3d apps running in full screen > with x11grab, and when running in windowed mode the capture was sub optimal > in terms of quality (lost frames/choppy/etc etc). > Unless we have better solutions with ffmpeg/libav* (which I'm not aware of :) > this xcompgrab would target such audience (smooth capture alas more CPU > usage). > But again, if there's already a better capture, then this has been an > academic exercise :) >
There already is a zero-overhead capture on linux - kmsgrab. It works on AMD and Intel. >> - Is there a way to keep the captured textures as an >> OpenGL/VAAPI/NVenc/Vulkan object, so the frames can work as some kind of >> hwaccel frames? Can this improve performance? >> > > I think there would be. I would need to find more in terms of documentation > for both hwaccel frames structures/management. > Please feel free to point me to guides/code/samples etc etc. > Uploading to hardware frames is something uses can do themselves already. Unless there is a native interop, I don't see how doing the upload in the avdevice helps. > Wouldn't a hwaccel frame imply no choice for encoder (as in now we get a true > uncompressed RGBA buffer which can be encoded as we see fit - if we were to > get hwacell wouldn't we be forced to use the encoded data as is)? > No. >> - What can be the reason between the quality/smoothness difference of >> x11grab and the Compositor capturer? >> > > My suspicion is that OpenGL has access to the buffered data on the videocard > itself, hence able to get smooth frames. > > Related to both these questions, I've asked the same on Stackoverflow: > > https://stackoverflow.com/questions/61613441/is-there-a-better-more-efficient-way-to-capture-composite-x-windows-in-linux > > Unfortunately no one has been able to give me an answer (I did set a bounty > for it) so I posted my own understanding. > I wouldn't be surprised if the xlib code has some PTS issues and schedules downloading a frame late. Maybe its worth fixing that instead of adding a yet another x11 capture? >> - Maybe some openGL glue can be shared with libavdevice/opengl_enc.c? >> Take a look, I am not sure, because that was implemented with SDL and >> cross platform capabilities in mind, but since your capture device is >> only for linux (or not?), then maybe it makes more sense to keep it >> separete? >> > > This is indeed a very specific implementation for Linux, I would agree that > perhaps not sure this makes sense to use shared OpenGL functions? > I'm against any OpenGL code being ran anywhere in our libraries since it will disturb OpenGL's global state, breaking any OpenGL users of our libraries (there are quite a lot). Yes, there are also people who want to screencapture and use OpenGL. I'm one. This is also why we don't have OpenGL filtering in libavfilter. So that's a big NAK for me. As-is now, I don't see much value in this patch. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".