-
Notifications
You must be signed in to change notification settings - Fork 14
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
Rendered webm files are broken (Chrome 52.0.2743.116) #78
Comments
Also, I tested earlier builds of the extension (1.2.25, 1.2.23 and 2.0 beta) and the result was the same with webm files being unplayable. |
Confirmed in Chrome 54.0.2824.0. It may be related to antimatter15/whammy#43, the reporter in that issue is working with fewer frames than are in a typical replay. |
I looked in to this a bit this evening and confirmed Whammy is not working in my Chrome version (52.0.2743.116) but continued to work in my older Opera version (until I restarted Opera and it auto-updated, now no longer works). As best as I could tell by comparing them, the problem probably lies somewhere in the compiling step in the Whammy code (i.e., Unfortunately the Whammy code that does the compiling is kind of hard to follow. I couldn't directly compare the blobs that resulted after compiling, so it's still possible that those were identical too in Chrome and the old Opera, but that would mean that the problem lies in one of the steps to download the file (turning the blob into a url, most likely I guess?), but that seems less likely to me. |
This project apparently also uses Whammy. Might be of use to see if they're also having problems recently? |
This demo is still working for me (though I don't think it's using Whammy). After it records it displays the video, and I can right click and download it. Possible replacement for Whammy? |
Okay, I figured out the issue. In Whammy here it skips the first 4 bytes of the VP8* chunk, assuming there's no additional metadata. Well now there is, but it isn't what the webp format is expecting. Replacing I will patch the version used by the extension, do an additional test, and push out an update. It may be worth taking a look at alternatives to Whammy in the future. |
Wow! Very, very nice work! |
This will also need to be fixed in 2.x. |
A Chrome update added metadata to generated WebP, which caused videos generated by Whammy to be invalid. @chrahunt [describes the fix](chrahunt/TagProReplays#78 (comment)): > Okay, I figured out the issue. In Whammy [here](https://github.com/antimatter15/whammy/blob/a1c8e861a3269387ffac519fe6e96c645efb6686/whammy.js#L192) it skips the first 4 bytes of the VP8* chunk, assuming there's no additional metadata. Well now there is, but it isn't what the webp format is expecting. Replacing `4` with `webp.data.indexOf('\x9d\x01\x2a') - 3` did the trick (get to the `start_code` then back up 3 bytes for the `frame_tag` as detailed [here](https://tools.ietf.org/html/rfc6386#section-19.1). I did a local test and was able to generate a webm that ffmpeg approved of.
Refocusing dev effort to converge onto something that looks like 2.x instead of maintaining 2 separate branches and making a big jump. |
A Chrome update added metadata to generated WebP, which caused videos generated by Whammy to be invalid. @chrahunt [describes the fix](chrahunt/TagProReplays#78 (comment)): > Okay, I figured out the issue. In Whammy [here](https://github.com/antimatter15/whammy/blob/a1c8e861a3269387ffac519fe6e96c645efb6686/whammy.js#L192) it skips the first 4 bytes of the VP8* chunk, assuming there's no additional metadata. Well now there is, but it isn't what the webp format is expecting. Replacing `4` with `webp.data.indexOf('\x9d\x01\x2a') - 3` did the trick (get to the `start_code` then back up 3 bytes for the `frame_tag` as detailed [here](https://tools.ietf.org/html/rfc6386#section-19.1). I did a local test and was able to generate a webm that ffmpeg approved of. Patch applied from: https://github.com/conundrumer/whammy/commit/eba8047f7006c3c683ec2bfe3cd68f797b248871.patch Fix #2
After rendering replays with latest Chrome (or Opera) the webm files can't be played by any video player, uploaded to streamable/gfycat ("ffmpeg exited with code 69") or converted to other formats. It happens to new and old replays. The preview in browser still works, sometimes after rendering the checkmarks don't show up, or the render bar gets stuck some way along the way (and the extensions has to be reloaded). Now, installing the extension in Coowon works, the replays get rendered and play just fine, so it has to be something with the latest Chrome that causing this.
The text was updated successfully, but these errors were encountered: