Log in

View Full Version : ffmpeg preset's default directory? (Win)


Gew
8th August 2009, 11:57
Hiya!

What's the deal here? I snatched this recent ffmpeg build, threw ffmpeg.exe in my C:\WINNT dir, simple-style, easy access from anywhere, and still avoiding the need for another line in $PATH.

So..

Everything's fine, but where does it look for ffpresets? It says that it will look under $HOME/.ffmpeg by pre-compiled default, under *NIX that would be like /usr/gew/.ffmpeg I suppose, but now I'm in XP.

"mkdir C:\Documents and Settings\Gew\.ffmpeg" ..???
And copy the .ffpreset files there? Tried it, but ffmpeg won't sense the presets.

Actually. I made a .ffmpeg folder with all .ffpresets (even a subdir called ffpresets, with an extra stack of the .ffpreset files, just in case), and copied it to all sorts of places. my Docs & Settings\accountname folder, the Program files\Shared files folder, the WINDOWS folder (since ffmpeg.exe is there), all varies of Local settings\Application data folders..

NOTHING works.

File for preset 'libx264-fastfirstpass' not found

..and datt wus all she wrote!

AAaawrgh! ;'( Is this an issue without solution, since I'm under an environment that (I suppose) ffmpeg wasn't ment for to begin with. Something cygwin-like? It won't find a proper $HOME-like var under Windoze?

"... -vpre "c:\folder-of-my-choice\libx264-fastfirstpass.ffpreset" ..."

Seems to work. Is this the ONLY way under Win? No possibility to have ffmpeg fetch it just by entering i.e. "-vpre fastfirstpass"..?

Thankfor for all answers!

Regards~

J_Darnley
8th August 2009, 14:11
You either have to set %HOME% and then place the presets in %HOME%\.ffmpeg, get a build that was compiled with a different path set for FFMPEG_DATADIR or a build in which that was replaced by some Windows path so that it isn't (for me) /Mingw/usr/share/ffmpeg

Otherwise, give the full path to the preset file.

Gew
8th August 2009, 18:27
Setting the %HOME% variable was a great way of solving this.

Thanks!

von_Runkel
10th August 2009, 16:44
If you don't want to clutter your environment variable space, you can keep the presets in a folder named:

<drive letter>:\usr\local\share\ffmpeg

This is mimicking the default Linux paths for a build and then install. Found out this by examining what paths ffmpeg is searching for with a nice tool from Sysinternals called Process Monitor,

http://download.sysinternals.com/Files/ProcessMonitor.zip

Highly recommended

chaynik
23rd January 2010, 10:41
Thank you, von_Runkel, your method of mimicking the Linux path worked perfectly!

As far as setting the %HOME% variable, I'm still confused. %HOME%\.ffmpeg implies a directory with a leading period, but afaik that's a no-no in Windows?

von_Runkel
26th January 2010, 16:34
This is done from the command line:


md c:\my_presets
md c:\my_presets\.ffmpeg
copy <existing presets directory> c:\my_presets\.ffmpeg
setx HOME c:\my_presets


Use

setx HOME c:\my_presets /m


to make it system wide, not only for the currently logged on user. Close the command prompt, open a new one and try to encode with a preset.

I also found that this environment variable method eliminates the need for a "\usr..." directory on each drive I want to run my scripts from.

patronanejo
13th February 2012, 02:36
This is a common problem for Windows users of FFMPEG and this thread contains the best answers any Google bot has thus far encountered--the above advice is clear, current, and complete.

A comparatively frivolous suggestion: My_Presets quickly becomes a non-sequitur if your system hosts other applications that were ported over from Linux--in addition to the H.264 presets you copied into .ffmpeg, your simulated $HOME folder it is likely to be populated by a number of unrelated files. A name change won't make the folder invisible to other processes, but it can preclude the anxiety of having seemingly redirected an entire constellation of environment variables--it is a trivial matter to give the folder a more generally-applicable description like Linux_HOME:

md %AllUsersProfile%\Linux_HOME
md %AllUsersProfile%\Linux_HOME\.ffmpeg
copy "C:\Program Files (x86)\FFmpeg\presets" %AllUsersProfile%\Linux_HOME\.ffmpeg
setx HOME %AllUsersProfile%\Linux_HOME\ /m