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

Upgrade to emscripten 1.35.0, ffmpeg 3.1.3 #55

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

dinedal
Copy link

@dinedal dinedal commented Sep 11, 2016

This PR fixes both the all codecs and lgpl only build paths.

I tried to keep all emscripten only configure patches to either sed or .patch files, this way it makes it a little easier to upgrade dependencies later.

I had to make a change to the JS other changes for this to work; in this version of emscripten, using -O2 somehow breaks the synchronous API in ffmpeg-pre.js and ffmpeg-post.js. You must now use an asynchronous API during conversion; by specifying Module['returnCallback'] = function(result) { ... } see worker-asm.js for a full example. If you disable the -O2, the synchronous API from before works, I can only imagine that the new emscrpiten is culling the changes in optimization now.

I also upgraded libvpx to 1.6 and x264 to x264-snapshot-20160910-2245

@dinedal dinedal changed the title Upgrade to emscripten 1.3.5, ffmpeg 3.1.3 Upgrade to emscripten 1.35.0, ffmpeg 3.1.3 Sep 11, 2016
@MadLittleMods
Copy link

Was running into the following error but it was solved by providing Module['memoryInitializerPrefixURL'] = 'http://localhost:3000/' here,

// TOTAL_MEMORY: 268435456

XMLHttpRequest cannot load . Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

ffmpeg-all-codecs.js:83 Uncaught could not load memory initializer ffmpeg-all-codecs.js.mem

Why is the mem file necessary now?


Anything left to move this forward to get a merge?

I suppose the new async nature needs to be decided on.

@dinedal
Copy link
Author

dinedal commented Nov 26, 2016

Why is the mem file necessary now?

The newer Emscripten generates it. https://kripken.github.io/emscripten-site/docs/optimizing/Optimizing-Code.html#memory-initialization

@davidturissini
Copy link

davidturissini commented May 28, 2018

@dinedal I pulled this down and everything seems to work except png output. Can you advise what needs to change for png output to behave as expected?

For reference, the following ffmpeg command fails at /demo:
-i input.webm -filter_complex showwavespic -frames:v 1 output.png

Output: Encoder (codec png) not found for output stream #0:0

Whereas, this command runs as expected:
-i input.webm -filter_complex showwavespic -frames:v 1 output.jpg

@MadLittleMods
Copy link

@bgrins Friendly ping on timeline to review/merge?

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

Successfully merging this pull request may close these issues.

3 participants