The debug.log can be opened in a text editor (from which it can then be saved anywhere) by clicking the "debug.log" button at the bottom right-hand corner of the "Logs" tab as shown in the image below. If that doesn't work, or if you're running PMS in a headless environment (or the GUI won't start), the default location can be found here: FAQ: Where are the PMS config, log, database files etc. located?

Problem: During remuxed or transcoded video playback your video either skips sections of the movie (forward or back) or the video crashes entirely. When you check the debug.log file, you find the phrase "Not enough memory", "OutOfMemory" or "Cannot grow buffer size from 50.000.000 bytes to ... bytes.".

Solution:PMS is exceeding the available Java heap memory allocated when PMS starts. Newer versions of PMS handle this error by half-ing the transcode buffer (sometimes leading to skips or crashes depending on the renderer) while older versions just let the video crash.The heap is the sum of the transcode buffer memory plus all of the overhead memory (the actual PMS application, media library, iTunes support, Radio plugin, etc), and the overhead memory can grow quite a bit if the "extra" features (iTunes, Radio plugin, etc) are enabled.

The quick solution is just decrease the size of the transcode buffer or disable some of the extra features. How much you need to decrease or what features depends on your system and may require some basic guess and check.

However, if you need the larger transcode buffer (better playback) or the extra features (or just want to better manage the memory on your system), then you need to increase the available heap size.

Locate the file "PMS.bat" (Windows), "PMS.sh" (Linux) or "/Applications/PS3 Media Server.app/Contents/MacOS/pms.sh" (Mac OS X) and open it in a text editor

heavy network (wired 100mbit ethernet will work for most, but wired gigabit recommended)

Note1: there are actually two parts to the CPU. First is the individual core clock speed, which is more important for VC-1 videos as they aren't multi-core capable yet in PMS. The other is the number of threads/cores, which is more important for H.264/AVC videos as they are multi-core capable in PMS.

Note2: the specs listed above apply to transcoding source 1080P or lower quality videos. Lower specs may still work for lower quality videos.

*Note: this excludes DivX AVI's with embedded XSubs on the PS3

**Related items not covered in this topic but should be elsewhere in this tutorial thread, the forum, or theGoogle:What codecs/containers/specs your device supportsHow to diagnose stuttering playbackConfiguring PMS for optimal CPU and network usageProper network setup for maximum LAN bandwidthWhy soft subtitles need transcodingGeneral asynchronous playbackA/V sync issues due to a framerate mismatch

Edit: Upped clock speed for transcoding since 2.6 still seems to stutter on some intense files.

I provide NO application support via PM or email, so please post your question to the forum per the Forum Rules.

If you get a "command not found" error, or similar, first make sure Java is installed. If you know the location where it is installed, navigate to the directory where the java binary is located and try the command again. On Windows, this will be something like:

If the command works from the Java bin directory, but not elsewhere, then Java hasn't been configured properly. Two environment variables (PATH and JAVA_HOME) need to be set to ensure that the system can find the Java binaries and libraries. These are covered in detail here and here.

Once the PATH and JAVA_HOME variables have been set, open a command prompt/terminal and check that the java binary can be invoked from any location, and that:

runs without error. If that command executes but returns an error (and PATH and JAVA_HOME have been set correctly as described above), then Java is not installed properly, or the installation has become corrupted. In both cases, Java needs to be thoroughly purged and then reinstalled. Tools and instructions for doing this on Windows can be found here:

The cover art image file is in the same directory as the video file or in your specified "Alternate videos cover art folder"

From the readme inside PMS:

Just drop an image in the same folder as your movie file (jpeg or png) called <mymovie>.jpg (or .png) /also supported: <mymovie>.cover.jpg (or .png). For example, for a movie called 'tokyo.mkv',the cover file can be named 'tokyo.png' or 'tokyo.mkv.cover.png'

In order to apply the same image to all videos, just drop a folder.jpg file in this directory.

I provide NO application support via PM or email, so please post your question to the forum per the Forum Rules.

As of PMS 1.22, it is possible to specify a path to a custom renderer icon inside a renderer .conf file. The icon can be specified via the RendererIcon option. This can take three different types of value:

Alternatively, simply drop a custom icon in the renderers directory with the same name as the built-in icon (e.g. ps3.png), and remove the file if it's no longer needed. That way the custom icon can be enabled/disabled simply by adding/removing the file.

The renderer icon should be around 200 x 166 pixels (width x height) and the format should be PNG (preferably 24-bit).

A collection of PMS configuration settings is called a profile. Profiles are stored in text files with a .conf extension. The default profile is saved as PMS.conf.

A new profile can be created by launching the PMS profile selector (see below) and either navigating to a directory without a PMS.conf file (the profile will be saved there as PMS.conf), or navigating to any directory and manually adding the new profile filename (with a .conf extension) after the directory in the file name field. Alternatively, a new profile can be created by copying and editing an existing profile in a text editor (the options are documented here).

New profiles configured in the GUI should be saved via the Save button if they are to be reused, and each profile should use a different port if it needs to run at the same time as other profiles.

A profile can be loaded interactively by launching the PMS profile selector (see below), navigating to a directory with a saved .conf file, and selecting it. For automatic loading options (e.g. via shortcuts), see below.

Profile name

To distinguish between different profiles in the renderer, set the name option (this must currently be set manually in the .conf file) e.g.:

# this is just an example; don't copy ituuid = abcd1234-1234-1234-1234-12345678abcd

A new UUID is created and saved automatically (when PMS exits) whenever PMS creates a new profile (e.g. the first time it is run), but profiles that are copied and edited manually will need to be given a new UUID. The easiest way to do this is to delete the UUID from the new profile. This allows PMS to create and save a new UUID the next time that profile is loaded. Alternatively, you can change one or more of the digits in the copied file's UUID — as long as you make sure the UUID in each profile is different. (If you run two instances of PMS with different profiles that share the same UUID, the renderer will see them as one server.)

As of PMS 1.30.0, it's possible to select a custom profile or create a new one by launching PMS via the "PS3 Media Server (Select Profile)" Start Menu shortcut on Windows and Linux. A similar shortcut/launcher may be available in builds on other platforms.

PMS also supports multiple profiles by means of the PMS_PROFILE environment variable. This is mainly useful on Unix systems where environment variables can be set on a per-process basis, though it can also be used on Windows e.g. to set a global profile directory/path for all users.

If PMS_PROFILE is an absolute or relative (to the working directory) path pointing to an existing directory, then PMS.conf is loaded from and saved to that directory. If PMS_PROFILE is set, but doesn't point to an existing directory, it is assumed to be a relative or absolute path to a profile file. Note: while the file doesn't need to exist, the directory containing it must exist if the file is to be saved.