- Last Zeranoe build that works on XP with this patch: f41e37b (13-Jul-2016 22:10).
- You can also try rogerdpack XP compatible builds.
------------------------------------------------------------rogerdpack wrote:I try to do some xp compat. builds for my own here, anybody want to try them out?
https://sourceforge.net/projects/ffmpeg ... rce=navbar
The following applies to Zeranoe builds from 29-Feb-2016 to 13-Jul-2016 22:10 incl. and it is not working with the latest builds.
It works with both static and shared (thanks, manolito) builds (32 and 64 bits). Thanks to 2225936589, that registered in this forum just to provide the solution.
Thanks also to stahlworks for Swiss File Knife.2225936589 wrote:If you want to run in xp
You need to modify the ffmpeg ffplay
Use winhex Find _wfopen_s, then changed _wfopen
Note things _s (hex 5F 63) -> (00 00)
There are three similar functions also need to be modified
1.- Download last version of FFmpeg and un-7zip it.
2.- Download sfk (http://swissfileknife.sourceforge.net/).
3.- Rename the last version of sfk (it will be sfkxxx.exe) to sfk.exe.
4.- Create a FixFF4XP.bat with the following code:
Code: Select all
@for %%a in (/7363616E665F73/7363616E660000/ /7374726E6370795F73/7374726E6370790000/ /5F77666F70656E5F73/5F77666F70656E0000/ /737472746F6B5F73/737472746F6B0000/) do sfk replace -binary %%a -dir bin -file .exe .dll -yes
6.- Double click FixFF4XP.bat.
You should have now working versions of ffmpeg.exe, ffplay.exe and ffprobe.exe under XP.
If you want to watch the .bat work, open cmd.exe in the folder of the .bat and run it. You may also add a pause command at the end of the bat to see what happened before it closes.
When a new version of FFmpeg is available, only steps 1 and 6 are needed to keep easily your XP with FFmpeg up-to-date.
Although this is not exclusively for XP, I add a way to keep FFmpeg updated without user interaction. I assume you have 7zip installed (you must find 7z.exe in your installation and change the sixth line accordingly), a copy of wget somewhere and know how to schedule a task in Windows to be run daily.
Create updateFF.bat with the following commands and put it next to FixFF4XP.bat:
Code: Select all
@echo off setlocal set ffver=32 if "%1"=="64" set ffver=64 wget -N --no-check-certificate https://ffmpeg.zeranoe.com/builds/win%ffver%/static/ffmpeg-latest-win%ffver%-static.7z 7z x ffmpeg-latest-win%ffver%-static.7z -o. * for /d %%a in (ffmpeg-*) do set ffdir=%%a xcopy /e /h /r /y /k %ffdir%\*.* . rmdir /s /q %ffdir% call FixFF4XP endlocal
That leaves the ffmpeg-latest-win[32|64]-static.7z file in the FFmpeg folder but, on the other hand, it allows wget (with -N) to check the date against the one in ffmpeg site and save the downloading if there's no new version.
updateFF 64 downloads the latest x64 build. Passing any other first parameter (or none), the 32-bits one.
2016/07/03 added strtok_s to be replaced.