Skip to content
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

Issue with video seekable only as a multiplier of 20 seconds #10

Open
mzielezny opened this issue Jul 27, 2017 · 6 comments
Open

Issue with video seekable only as a multiplier of 20 seconds #10

mzielezny opened this issue Jul 27, 2017 · 6 comments

Comments

@mzielezny
Copy link

Hello,
I'm developing solution which is capturing video from Canvas with usage of Media Recorder API.
Due to files produced by it are not seekable, I have tried to use your solution to resolve my issues.
It is working and made seekable files but on Chrome in version 60 I have experienced that time of video is only set as multiplier of 20 seconds. If I made 13 seconds record in VLC video is unseekable (on bar 0 is shown), and if I made 25 seconds video, time is set only to 20 seconds. In VLC when it play 20 seconds it is always playing rest 5 seconds but they are unseekable.
It doesn't matter which codec I use (vp8/vp9) it always generate me the same issue.
Do you have maybe any idea what could happen ?

@legokichi
Copy link
Owner

related #8

@legokichi
Copy link
Owner

legokichi commented Jul 27, 2017

chorme 59 EBML added MaxBlockAdditionID AlphaMode

I think this issue has caused...
I have discovered that webm recorded with chrome 59 can not be played even if mkclean or ffmpeg copy.

@legokichi
Copy link
Owner

@mzielezny
Copy link
Author

mzielezny commented Sep 11, 2017

Sadly issue still occurs - when I record over 1 minute of video I could seek in first part but then after time of video it still playing "lost" part, and I couldn't seek if record is shorter than even 30 seconds.

@Venryx
Copy link

Venryx commented Jun 27, 2020

Yeah, I get the same issue with the video sometimes having a "lost" part that plays after the listed duration is reached. (I don't have the issue of being unable to seek for <30s videos, though)

Anyway, my program was in Electron, so I opted to just use ffmpeg for the add-seekability task. (ffmpeg -i not_seekable.webm -c copy seekable.webm)

ts-eblm works fairly well overall, but if it's easy to do (ie. your program is in electron so has access to utils like ffmpeg), one might as well use those utils since they don't have the (sometimes) incorrect-duration issue. (plus ffmpeg doesn't have the "thumbnail not getting generated in Windows explorer" issue, and presumably it also runs a bit faster, though I haven't confirmed this)

It's nice that a library like ts-eblm exists, though, for cases where you need a pure Javascript solution. (eg. adding basic seekability to result from MediaRecorder, before downloading to disk, but having access to no native utils)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants