#does this work

8 messages · Page 1 of 1 (latest)

oak anchor
#

fluent-ffmpeg

how do i do ffmpeg

light umbraBOT
#

Hi @oak anchor. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:

#

Based on the knowledge sources, using ffmpeg (and by extension, fluent-ffmpeg, which is a wrapper around ffmpeg) in Convex actions is problematic and not officially supported at this time.

Here’s what we know:

  • Attempts to use ffmpeg (via npm packages like @ffmpeg-installer/ffmpeg) in Convex actions have resulted in errors. The Convex team has indicated that ffmpeg relies on native system libraries that are not available in the Convex Node.js runtime, and there are bundling issues with esbuild. There is no indication that these issues have been resolved yet. One suggestion was to try the external packages feature, but there is no confirmation that this works for ffmpeg or fluent-ffmpeg, and the documentation explicitly lists @ffmpeg.wasm as unsupported due to Node.js incompatibility and size limits Functions > Bundling Discord: ffmpeg support?.

  • The external packages feature allows you to mark dependencies as external in convex.json, but the documentation specifically mentions that @ffmpeg.wasm does not work, and there is no mention of fluent-ffmpeg being supported. The main issue is that ffmpeg and its wrappers often require native binaries and system-level dependencies, which are not present in the Convex runtime.

Summary:
I'm sorry, but based on the available information, using ffmpeg or fluent-ffmpeg in Convex actions is not currently supported due to missing native dependencies and bundling limitations. If you need ffmpeg functionality, you may need to run it outside of Convex (e.g., in a separate server or cloud function) and integrate with Convex via API calls or file storage.

#

If you want to experiment, you could try marking fluent-ffmpeg and its dependencies as external in your convex.json, but there is no evidence in the knowledge sources that this will work, and it is likely to fail due to the reasons above.

If you have a specific use case, you might want to reach out to the Convex team on their Discord for the latest updates or possible workarounds.

Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:

#

@oak anchor Kapa.ai is still learning and improving, please let me know how I did by reacting below.

oak anchor
#

@light umbra

can i put an audio track over a video track in convex? what would be the best way to do that....

light umbraBOT
#

Let me check the knowledge base for you again. One moment! :books:

#

Based on the knowledge sources, Convex does not currently support running ffmpeg or similar native libraries within actions, which means you cannot directly process or combine audio and video tracks (such as overlaying an audio track onto a video) inside Convex itself. Attempts to use ffmpeg or wrappers like fluent-ffmpeg in Convex actions have resulted in errors due to missing native dependencies and bundling limitations. The Convex team has acknowledged these limitations and there is no indication that this functionality is supported at this time Discord: ffmpeg support?.

Best Practice:
If you need to combine audio and video tracks (e.g., overlay an audio track onto a video), you should perform this processing outside of Convex, such as in a separate server, cloud function, or a third-party service that supports media processing. After processing, you can upload the resulting file to Convex file storage for further use in your application.

In summary, Convex is not designed for media processing tasks like combining audio and video tracks. It is best used for managing state, file storage, and backend logic, while heavy media processing should be handled by specialized tools or services outside of Convex.

Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: