How to cut out frames from a video

We would like to discuss about cutting out specific frames from a MediaSet video (mp4).
I am currently trying to implement a function that “when a user presses a button in the Workshop, the current frame is extracted from the video displayed in the Video Viewer and stored in the Dataset as a jpeg image”.
It may be possible to do this by utilizing Functions, Live Deployment, and Webhook, but it is expected to take a long time & require a lot of memory (= consume a lot of FCUs) because the cutout process will not start until the entire video (1~10GB) has been downloaded. This is expected to be a time-consuming & memory-intensive process (= consumes a lot of FCU).
Please let me know if there is an implementation method that can solve these problems.
(For now, as a compromise, we are implementing the Bacth process to cut out the video into one-second segments in advance.)