-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do video cutting in Studio directly, not just on the Opencast side #621
Comments
How hard is it to merge multiple clips? Can a browser do it without reencoding? Studio could record x sec. segments. Cutting would then mean to only merge a selection of them. |
Mmhh depends. Assuming we can parse and construct custom WEBMs, it might be possible without reencoding. But in your solution, the user could not cut very precisely, but just every x seconds, right? I don' think that's a practical solution :/ |
True, but I don't think that e.g. setting x=5s is unpractical. And even for longer x, similar to your third solution, it is possible to only reencode certain parts. |
Ah ok, now I get it. So recording in 5s chunks is a solution to the "we need to find the next key frame" problem. So you still want to alllow frame-perfect cutting. That could be an interesting approach. |
Not sure if you'd seen, but there's a new wasm port of ffmpeg for transcoding. I wonder how difficult it might be to modify for video manipulation within the browser: https://github.com/Etwas-Builders/modfy.video |
@afogel That's very interesting, I haven't heard of that project yet. So thanks for bringing that to our attention. Do you happen to know how large the resulting wasm file is? That was my major concern regarding the "compile all of ffmpeg to wasm" idea. Unfortunately, we also don't really have time to work on studio, particularly not this issue. But we'll see what we can do in the future! |
(not sure why I didn't get notified, sorry for the late response!) It's pretty heavy still. I think they're planning on paring it down, so I'll monitor the project and let y'all know if something comes of it. |
#618 introduced a simple video cutter that works by sending SMIL files to Opencast. This means that the cutting happens on the Opencast side and the "Download" button in Studio downloads the uncut video.
Cutting in the users browser is technically challenging though. I see a few possibilities here:
<video>
element and play the video part that is kept in there, usecaptureStream()
to get a stream that can be recorded inMediaRecorder
again. We can either set the cut marker times manually to only show the part of the video that is kept or use media fragment URLs.<video>
element, will theMediaRecorder
also record more frames? Or will it just look like a sped up video?)<video>
element<video>
solution<video>
or the<canvas>
solution.There is also some somewhat related discussion in #454
The text was updated successfully, but these errors were encountered: