-
Notifications
You must be signed in to change notification settings - Fork 143
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
(Windows) error: Video support is permanently disabled in this executable. #226
Comments
Building ffmpeg on Windows is a pain. I've managed to get it working on Linux and macOS, but I have no hope of fixing it on Windows. You'll have to use a separate command to make PNG frames. |
Would these help @kornelski https://www.gyan.dev/ffmpeg/builds/ |
No, these are builds of |
It does provided a "shared" build for dynamic linking. I have successfully built gifski with it before, and I remember it being a relatively painless process — just followed the instruction here. Of course, trying to build it statically is a whole other beast…… |
ah, ok |
I've tried gyan.dev/ffmpeg/builds. Only ffmpeg-4.4.1-full_build-shared.7z contained libraries. Even though they were supposedly static .lib files, compiling the ffmpeg crate with them made gifski.exe depend on these DLLs:
and it crashes without them (exit code: 0xc0000135, STATUS_DLL_NOT_FOUND). To repro:
|
Ah yes…… That's the thing. The "static .lib files" actually just reexport from the DLLs, and do not contain the code itself (their sizes are too small for that). I've spent a long time trying to do the same thing and eventually decided it's not possible. I had to build my own ffmpeg in the end, which was fun. |
Hello, I tried it but i end up with an error :
Am i doing it wrong or missing something please ? I'd rather use the files i have from vcpkg as I enabled the Avisynth+ switch there so i could feed Gifski directly with .avs files. Right now i already have a simplified way to use Gifski but if i could avoid the step where i need to extract the png's it will be a big plus, no matter if i need the dll's from ffmpeg. PS : also saw vcpkg-rs with the RUSTFLAGS=-Ctarget-feature=+crt-static parameter that could maybe help avoid the separate dll's, well i think... this is far behind my knowledge and after looking around i still have no clue how to use this in a rust package. Thanks a lot. |
Should have waited to post my previous comment... after many more failed attempts i have it finally working, seems like adding LIBCLANG_PATH to env. variable did the trick, i already had the rest correctly set and according to the doc it's one or the other if you have LLVM path set but I'm just happy it works. Used the FFmpeg files from windows vcpkg package i had already, of course i still need FFmpeg dll's like mentioned in your attempts but this is just a minor annoyance compared to the benefits of having FFmpeg built-in. Bonus : it have avisynth support, so i can feed Gifski directly with a simple .avs script containing a few lines to trim,crop,resize video using a better resizing filter or add any other avisynth supported filters/plugins to it in a blink which is what i had in mind since i discovered this tool some years ago. Now it is time to play with this and test it deeply, thank you very much guys :) Edit : Tried with the static version of ffmpeg via vcpkg using triplet vcpkg install ffmpeg:x64-windows-static (previously was with x64-windows only ) then cargo build --release --features=video-prebuilt-static for gifski, ffmpeg seems to compile, but when it makes Gifski itself it appears a lot of link.exe issues and fails...
Seems linked to how vcpkg works sadly : microsoft/vcpkg#9571 (comment) Well it ain't for this time to succeed with this, it had been too easy I guess, but as long as i have it working with additional dll's it's fine for now :) |
So... getting the ffmpeg static files needed : then : and most important to fix the link.exe errors i had because of how vcpkg works and skip libraries :
Then Only big down for me is that vcpkg doesn't seems able to get the static FFMEG with avisynth feature enabled, seems possible only with a dynamic version, but i'll have to see this with ffmpeg's vcpkg guys directly in the next days I guess, hopefully this can be fixed since we can have a avisynth static version from vcpkg. Anyways, after spending so many time on this it works so I'm happy and it might help someone else who knows ^^ Edit : After messing a bit with the vcpkg port for ffmpeg i managed to build the static files with Avisynth support, in the meantime i had asked on vcpkg page about it and we will see what they say but seems like it could be fully supported. The first time i asked on this project about ffmpeg and avisynth support for windows it was more than 4 years ago, always had been disappointed to not see this possible on windows, better late than never, thanks a lot, I'm done now :) |
@jalba69 upload EXE |
Here it is : gifski.zip v1.7.2.0 SHA-256 for the zipped file : AB05114DBF0CEAF9974A0C1D1A2346841726A334E4D387E8C7697E549FB6142C VirusTotal scan for the zip : https://www.virustotal.com/gui/url-analysis/u-2dbffbefbbc162183294b2a1f6ae021d28fbc48647cda708e92117900967185e-1666291294 It have ffmpeg & avisynth support + added infos details in the proprieties and a dedicated icon for the .exe using a .res file. Enjoy ;) @kornelski : if you have a problem with me uploading the .exe here let me know, i'll remove my post asap, thanks again for this nice tool :) |
Thanks, but why you're worrying so much.. |
not worried, just used to do it that way, plus this might start to travel around on the net so adding infos from the starting source ;) |
The release binaries doesn't support video input, but in the same page it says video as input should be possible.
The text was updated successfully, but these errors were encountered: