Coder Social home page Coder Social logo

Support Windows Platform about ffmpeg-kit HOT 11 OPEN

arthenica avatar arthenica commented on July 20, 2024 66
Support Windows Platform

from ffmpeg-kit.

Comments (11)

redbrain avatar redbrain commented on July 20, 2024 11

+1, would be great if support for all desktop platforms existed

from ffmpeg-kit.

mgenware avatar mgenware commented on July 20, 2024 4

FWIW, you can always embed pre-compiled ffmpeg / ffprobe binaries and run them directly in a windows app. Unlike Apple's app store, Microsoft (at least now) doens't force you to statically link all app components. We have published Microsoft store apps working just fine with embedded (ffmpeg, imagemagick, cwebp...) binaries.

from ffmpeg-kit.

seamory avatar seamory commented on July 20, 2024 3

+1, that will be great to using ffmpeg.

from ffmpeg-kit.

remcova avatar remcova commented on July 20, 2024 2

UPDATE: I've looked into the web implementation first for CHROME extensions. The option I came across was using ffmpeg in WASM. Unfortunately, Manifest V3.0 brings a lot of issues. With Manifest V2.0 you can get it working but it will stop working in January 2023 in Chrome, so this won't be worth the effort to implement.

To port it to Manifest V3, the code will need to be placed in a worker which doesn't have access to the DOM (document). Also, it can't be published on Chrome Store due to Manifest V2.

I haven't found an alternative yet to create an implementation for the web, it looks like this will be a pain in the ass

from ffmpeg-kit.

Sandst4 avatar Sandst4 commented on July 20, 2024

Any chance there is an update for Windows support? For a new project I'm working on the Windows support is really appreciated. Thanks!

from ffmpeg-kit.

git-boya avatar git-boya commented on July 20, 2024

Hope to support Windows
thanks

from ffmpeg-kit.

nukes avatar nukes commented on July 20, 2024

+1 for windows support

from ffmpeg-kit.

PaulineMoovency avatar PaulineMoovency commented on July 20, 2024

Is there any news about this?

from ffmpeg-kit.

stephane-archer avatar stephane-archer commented on July 20, 2024

Any news? It feels like it will never come...

from ffmpeg-kit.

stephane-archer avatar stephane-archer commented on July 20, 2024

@mgenware that would mean two code path, one for FFmpeg Kit and one for the embedded version right?
this would work but I wish FFmpeg was including this by default.
To run the embedded executable, do you copy it in a temporary folder then use Process.run ?

from ffmpeg-kit.

mgenware avatar mgenware commented on July 20, 2024

@stephane-archer Right, windows has a seperate code path. No need to copy EXEs to a temp folder in our case. We are using flutter. Put all pre-built executables into a folder like (bin) and copy it to flutter windows build folder. The msix packaging tool automatically bundles them into a msix package.

To run a specific executable, e.g. bin/ffmpeg.exe:

// Do it only on windows.
assert(Platform.isWindows);

var args = ['a', 'b', 'c'];
// Get current process directory.
var processDir = p.dirname(Platform.resolvedExecutable);
// Get external executable path.
final exe = p.join(processDir, 'bin', 'ffmpeg.exe');

debugPrint('[Run process] $exe ${args.join(' ')}');
final res = await Process.run(exe, args);
if (res.exitCode != 0) {
  throw Exception('Code: ${res.exitCode}\n stdout: ${res.stdout}\n stderr: ${res.stderr}}');
}
// Return process output.
return res.stdout.toString();

Lastly, if you are submitting your app to Microsoft store, do test those pre-built EXEs on new windows 10 and 11 (not a dev machine already have many runtime DLLs installed). If it runs into any missing DLLs issues (e.g. vcomp140.dll), grab one and put it in bin folder as well.

from ffmpeg-kit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.