#----------------------------------------------------------------------------- # PS3 Media Server renderer configuration profile for PlayStation 3 # DO NOT MODIFY THIS (OR AT YOUR OWN RISK) # # This configuration profile serves two purposes: # # - Allow PMS to recognize a specific connecting renderer # - Define the possibilities of that renderer # #----------------------------------------------------------------------------- # RENDERER INFORMATION # # RendererName: Determines the name that is displayed in the PMS user # interface when this renderer connects. # Do not use "@" or "," in the name. RendererName = PlayStation 3 # RendererIcon: Determines the icon that is displayed in the PMS user # interface when this renderer connects. By default, these icons are # bundled with PMS in pms.jar, but they can easily be customised: # http://www.ps3mediaserver.org/forum/viewtopic.php?f=6&t=3507&p=49536#p49536 RendererIcon = ps3.png #----------------------------------------------------------------------------- # RENDERER RECOGNITION # # When a renderer connects, it sends a "User-Agent" header. PMS tries to # match that header with all configuration profiles. If none of the profiles # match, the message "Unknown User-Agent:" will be displayed in the logs and # PMS will switch to a default profile. # # Because matching involves all renderer configuration profiles, it is # important to match as long a string as possible. This increases the chances # that a match is unique. Version numbers are best avoided. # # To learn the exact headers of any renderer, set the logging level in # "logback.xml" to "TRACE" and look for messages like "Received on socket:". # # ============================================================================ # PlayStation 3 uses the following strings: # # User-Agent: PLAYSTATION 3 # --- # User-Agent: UPnP/1.0 # X-AV-Client-Info: av=5.0; cn="Sony Computer Entertainment Inc."; mn="PLAYSTATION 3"; mv="1.0"; # --- # User-Agent: UPnP/1.0 DLNADOC/1.50 # X-AV-Client-Info: av=5.0; cn="Sony Computer Entertainment Inc."; mn="PLAYSTATION 3"; mv="1.0"; # ============================================================================ # # UserAgentSearch: Optional regular expression to detect a connected renderer. # The expression is case insensitive. When the expression is empty User-Agent # headers are not used, this is the default. Note that one renderer can use # several different User-Agent headers. # # Examples: # # UserAgentSearch = Platinum/.*DLNADOC/|yxplayer2|MPlayer |NSPlayer/ # UserAgentSearch = Windows-Media-Player-DMS|Microsoft-Windows # # Ignoring the "UPnP/1.0" and "UPnP/1.0 DLNADOC/1.50" headers since they are # too general, plus they can be detected from the additional header. UserAgentSearch = PLAYSTATION # UserAgentAdditionalHeader: Optional additional HTTP header for better # detection. When defined, PMS also considers this header when trying to find # a match. Even when the standard UserAgentSearch match fails, this extra # header can provide a positive match. UserAgentAdditionalHeader = X-AV-Client-Info # UserAgentAdditionalHeaderSearch: Regular expression to search for in the # additional HTTP header. UserAgentAdditionalHeaderSearch = PLAYSTATION #----------------------------------------------------------------------------- # BASIC CAPABILITIES # # This indicates to PMS what kind of media the renderer can handle. Files that # the renderer cannot handle will be hidden from it. # # Video: Set to "true" if the renderer can play video. Video = true # Audio: Set to "true" if the renderer can play audio. Audio = true # Image: Set to "true" if the renderer can display images. Image = true # LongFileNameFormat: Override the PMS.conf filename_format_long value # for this renderer. See the "Filename templates" section of PMS.conf # for more details. LongFilenameFormat = # LongFileNameFormat: Override the PMS.conf filename_format_short value # for this renderer. See the "Filename templates" section of PMS.conf # for more details. ShortFilenameFormat = #----------------------------------------------------------------------------- # DLNA SETTINGS # # SeekByTime: Set to true to use the DLNA feature seek-by-time instead of # the default seek-by-byte method. # # Valid values: # # true: # # The renderer supports seek-by-time. # # false: # # The renderer doesn't support seek-by-time, so it should # only use the default seek-by-byte method. # # exclusive: # # While most renderers that support seek-by-time also support # seek-by-byte, some (e.g. the PS3 [1] and Panasonic TVs [2]) # behave unreliably if both are permitted when transcoding files. # This option works around this by disabling seek-by-byte for # transcoded files when permitting seek-by-time. # # The default is false. # # [1] Seeking via "Go To" with the PS3 (firmware 4.31) and MEncoder works with "exclusive", but hangs or crashes with "true". # [2] http://www.ps3mediaserver.org/forum/viewtopic.php?f=6&t=15841 SeekByTime = exclusive # DLNALocalizationRequired: Serve different flavors of localization in the # DLNA parameters (PAL/NTSC, NA/EU/JP) to allow every world wide renderer to # see the files. Important for Sony Bravia TVs. DLNALocalizationRequired = false # CBRVideoBitrate is useful for renderers without SeekByTime support. It does time2byte conversion to support FF/RW. # Only possibility how to predict where we are when seeking is using CBR bitrate instead of VBR used by default # Creating a CBR stream with MEncoder is 3 times slower than using VBR so bear this in mind if you have a slow computer! # Speed can hopefully be optimized a little bit in the future: # http://www.ps3mediaserver.org/forum/viewtopic.php?f=14&t=8883&p=53706&hilit=ditlew#p53700 # http://www.ps3mediaserver.org/forum/viewtopic.php?f=11&t=11284&p=62765&hilit=1835#p62765 # CBRVideoBitrate=15000 # ByteToTimeseekRewindSeconds is used for fine-tuning, so the default is 0 # ByteToTimeseekRewindSeconds=0 #----------------------------------------------------------------------------- # MEDIAINFO # # MediaInfo: Set to "true" if PMS should parse files with MediaInfo. This will # give PMS more accurate information, speed up browsing and prevent potential # playback errors. It also enables the use of "Supported" to more accurately # define the supported formats for the renderer. MediaInfo = true # CreateDLNATreeFaster: Use faster method to create the DLNA tree using the # MediaInfo library. Since this is a UPnP specification violation, it is not # supported by some renderers and false by default. CreateDLNATreeFaster = true #----------------------------------------------------------------------------- # TRANSCODING AND MUXING CAPABILITIES # # It is very likely that a renderer cannot render all file formats. If this is # the case, PMS should transcode or mux the file to a format that the renderer # can display. This section defines the format that PMS should transcode or # mux to. # # TranscodeVideo: Profile to use for transcoding video files. # One of the following: # # Profile Video Audio Container # --------------------------------------------- # MPEGPSAC3 MPEG-2 AC-3 MPEG-PS # MPEGTSAC3 MPEG-2 AC-3 MPEG-TS # H264TSAC3 H.264 AC-3 MPEG-TS # WMV: WMV 2 (WMV 8) WMA 2 ASF # # XXX MPEGPSAC3 was previously named MPEGAC3. The old name is deprecated. # These profiles are supported by the MEncoder, FFmpeg and VLC engines. # Default: MPEGPSAC3 TranscodeVideo = MPEGPSAC3 # TranscodeAudio: Profile to use for transcoding audio files # Currently supported: "LPCM", "MP3" or "WAV". # Default: LPCM TranscodeAudio = WAV # DefaultVBVBufSize: Whether or not to use the default DVD buffer size. Setting # this to "false" means a greater bitrate and faster encoding, but it can # generate incompatible videos dependent on the renderer. DefaultVBVBufSize = false # MuxH264ToMpegTS: Set to "true" if the media renderer supports H.264 and MPEG-2 # in a MPEG-TS file. Ignored if MediaInfo = true. MuxH264ToMpegTS = true # MuxDTSToMpeg: Set to "true" if the media renderer supports DTS in an MPEG # file. Ignored if MediaInfo = true. MuxDTSToMpeg = false # WrapDTSIntoPCM: Set to "true" if the media renderer supports DTS wrapped # into LPCM in a MPEG file. WrapDTSIntoPCM = true # MuxLPCMToMpeg: Set to "true" if the media renderer supports LPCM in an MPEG # file. Ignored if MediaInfo = true. MuxLPCMToMpeg = true # MaxVideoBitrateMbps: The maximum bitrate supported by the media renderer. # Setting to "0" means unlimited. # If computer is low on resources it is better to avoid using bandwidth limit which is much CPU demanding # It is better to lower quality settings by defining "CustomMencoderQualitySettings". # By lowering quality also bitrate is decreased but it is not so CPU aggresive so it is preferred to use it this way MaxVideoBitrateMbps = 0 # MaxVideoWidth: Maximum width supported by the media renderer. Setting to "0" # means unlimited. This setting is ignored for files matching "Supported" # formats when MediaInfo = true. MaxVideoWidth = 1920 # MaxVideoHeight: Maximum height supported by the media renderer. Setting to # "0" means unlimited. This setting is ignored for files matching "Supported" # formats when MediaInfo = true. MaxVideoHeight = 1080 # H264Level41Limited: Set to "true" if the media renderer supports only H.264 # L4.1 at most. H264Level41Limited = true # TranscodeAudioTo441kHz: Set to "true" if music files need to be resampled at # 44.1kHz. TranscodeAudioTo441kHz = false # TranscodeFastStart: Set to "true" if the renderer has a short timeout delay # and needs to receive transcoded video with minimal delay. If set to "false", # PMS will take some time to buffer some of the transcoded video. TranscodeFastStart = true # TranscodedVideoFileSize: The amount of transcoded data is unknown at the # time of transcoding. Still, some renderers expect a size for the video file # to be returned. Possible values are: # 0: No size is sent to the renderer (default value) # 100000000000: Fake size of 100 GB is sent to the renderer. # -1: Specific value that works perfect for the PS3. It is against # the DLNA spec though. TranscodedVideoFileSize = -1 # MimeTypesChanges: A list of mimetype transformations in the format # "old/mime1=new/mime1|old/mime2=new/mime2|...". Ignored if MediaInfo = true. MimeTypesChanges = video/avi=video/x-divx # TranscodeExtensions: Comma separated list of file extensions that are forced # to be transcoded and never streamed. Best left empty if MediaInfo = true, # and define "Supported" formats instead. TranscodeExtensions = # StreamExtensions: Comma separated list of file extensions that are forced # to be streamed and never transcoded. Best left empty if MediaInfo = true, # and define "Supported" formats instead. StreamExtensions = # ForceJPGThumbnails: Some renderers (e.g. Sony Bravia TVs and Blu-ray # players) require thumbnails to be represented as JPEGs (JPEG_TN) in the # DLNA directory XML. Set this to true to force PMS to fake this representation. # Note: this has no effect on real thumbnail file formats or content-type headers. ForceJPGThumbnails = false # ThumbnailAsResource: Set to true if the renderer requires the use of the # "res" element instead of the "albumArtURI" element for thumbnails in DLNA # reponses. E.g. Samsung 2012 models do not recognize the "albumArtURI" # element. # Default value is false, i.e. use "albumArtURI" # ThumbnailAsResource = # ChunkedTransfer: Some renderers are particular about the "Content-Length" # headers in requests (e.g. Sony Blu-ray players). By default, PMS will send # a "Content-Length" that refers to the total media size, even if the exact # length is unknown. Default value is false. Set this option to true to omit # sending a length when it is unknown. ChunkedTransfer = false # CustomMencoderQualitySettings: Overrides the MEncoder transcoding quality # settings in PMS for this renderer. Default is empty, which means the PMS # settings will be used. CustomMencoderQualitySettings = # CustomMencoderOptions: Overrides the MEncoder custom options in PMS for # this renderer. Default is empty, which means the PMS # settings will be used. CustomMencoderOptions = # SubtitleHttpHeader: Some devices recognize a custom HTTP header for # retrieving the contents of a subtitles file. Set this option to the name of # that custom header and PMS will send the URL for the subtitles file in that # header (e.g. Samsung devices recognize the "CaptionInfo.sec" header). # Default value is "", which means PMS will not send such header information. SubtitleHttpHeader = # PadVideoWithBlackBordersTo169AR: Some renderers like Panasonic TV internally rescale the video. # This option forces MEncoder and FFmpeg to pad video with black borders to 16:9 AR. # Default value is false. PadVideoWithBlackBordersTo169AR = # RescaleByRenderer: Normally the renderer is responsible for video rescaling to output (TV) resolution. # If this option is false then PMS will do rescaling. # It can make better video quality but the CPU and bandwidth are more utilised and can # produce jerking video on WiFi. # Works only for FFmpeg and together with PadVideoWithBlackBordersTo169AR. # Default value is true. RescaleByRenderer = #----------------------------------------------------------------------------- # Other useful hidden params and their default values if not defined: # # Display audio tag in TRANSCODE folder if defined in container (useful to find out correct audio track like commentary etc.) # ShowAudioMetadata = true # Display subtitle tag in TRANSCODE folder if defined in container (showing subtitles info like forced, full, documentary etc.) # ShowSubMetadata = true # Some renderers can't show length of DVD titles so it will add it directly to title name to be shown # ShowDVDTitleDuration = false # Specified extension will be added to every file shared by PMS # UseSameExtension = null # ???????????????????????????? # DLNAProfileChanges = null # PN is defined for every file sent to the renderer via DLNAOrgPN value. If # this value is wrong, the renderer may refuse listing or playing this file. # When it is set to false, no DLNAOrgPN is sent to renderer, which can help # with troubleshooting. # The PN is a description of the file, e.g. AVC_TS_HD_60_AC3_ISO # Most renderers require this to be true. # DLNAOrgPN = true # ???????????????????????????? # MediaParserV2_ThumbnailGeneration = false #----------------------------------------------------------------------------- # IMAGES # # AutoExifRotate: Many cameras store information in the image file about the # orientation of the camera while the picture was taken, allowing viewers to # know which way was up. Set this option to "true" to allow PMS to rotate JPEG # files based on EXIF information contained in the file, and relieve the # renderer of that task. AutoExifRotate = true #----------------------------------------------------------------------------- # SUPPORTED MEDIA FORMATS # # This section defines which media formats are supported by this renderer. If # a file is supported and its mediainfo indicates that it falls within the # capabilities of this renderer, PMS will stream the file to the renderer. All # other files will be transcoded to the format specified in "TranscodeVideo" # or "TranscodeAudio" before being sent to the renderer. # # Each format that the renderer supports should result in a "Supported" line # that defines the capabilities of the renderer. When MediaInfo = true, media # files are parsed and their properties are matched against all "Supported" # lines. If a value for a specific property cannot be parsed, that property # is assumed to match. # # The order of the "Supported" lines matters: when multiple lines match, the # first match is used. # # The media parser and this configuration file will recognize the following # formats and codecs. Use lower case names only. Regular expressions are # supported. # # aac (Advanced Audio Codec) # ac3 (Audio Coding 3) # aiff (AIFF) # alac (Apple Lossless) # ape (Monkey's Audio) # atrac (Atrac) # avi (AVI container) # bmp (Bitmap) # divx (DivX Video) # dts (Digital Theater Systems) # dtshd (Digital Theater Systems) # dv (Digital Video) # eac3 (Extended AC3) # flac (Free Lossless Audio Codec) # flv (Flash Video) # gif (GIF) # h264 (H.264) # jpg (JPEG) # lpcm (Linear PCM) # mjpeg (M-JPEG) # mkv (Matroska) # mov (Quicktime container, Apple) # mp3 (MPEG Audio Layer 3) # mp4 (ISOM/MPEG4 container, or MPEG4 codec) # mpa (MPEG Audio) # mpc (MusePack) # mpeg1 (Codec used in VCD) # mpeg2 (Codec used in DVD Videos and HDTV) # mpegps (MPEG presentation stream, used in DVD Videos, VCDs, etc.) # mpegts (MPEG transport stream, used in sat TV, Blu-ray discs (BDAV) etc.) # ogg (Ogg Vorbis) # png (PNG) # ra (Real Audio) # rm (Real Media, RMVB) # tiff (TIFF) # truehd (TrueHD) # vc1 (VC-1) # wavpac (WavPack) # wav (WAVE file) # wma (Windows Media Audio) # wmv (Windows Media Video, tag also used for asf files) # # und (Undetermined, if the parser did not recognize one of above) # # Each of the "Supported" lines contains the following parameters separated by # spaces or tabs: # # f: Regular expression to match the format of a file as parsed by the # MediaInfo library (see the list above). This parameter is mandatory. # Be careful when matching everything with ".+"; the renderer must be # able to handle all formats. # # v: Regular expression to match the video codec of the file as parsed by # the MediaInfo library (see the list above). # # a: Regular expression to match the audio codec of the file as parsed by # the MediaInfo library (see the list above). # # m: The MIME type to send to the renderer. Use of this parameter is # strongly recommended. If it is not set, an estimated value will be # assigned. # # n: The maximum number of audio channels used in the file as parsed by # the MediaInfo library. # # s: The maximum audio sample frequency used in the file as parsed by # the MediaInfo library, specified in Hertz. # # b: The maximum audio bit rate used in the file as parsed by the # MediaInfo library, specified in bits per second. # # w: The maximum video width used in the file as parsed by the MediaInfo # library, specified in pixels. # # h: The maximum video height used in the file as parsed by the MediaInfo # library, specified in pixels. # # qpel: Quarter pixel codec setting in the file as parsed by the MediaInfo # library. # # gmc: The number of global motion compensation warp points in the file as # parsed by the MediaInfo library. # # # ============================================================================ # # Taken from: http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html # # The following types of files can be played under (Video). # Memory Stick Video Format # - MPEG-4 SP (AAC LC) # - H.264/MPEG-4 AVC High Profile (AAC LC) # - MPEG-2 TS(H.264/MPEG-4 AVC, AAC LC) # MP4 file format # - H.264/MPEG-4 AVC High Profile (AAC LC) # MPEG-1 (MPEG Audio Layer 2) # MPEG-2 PS (MPEG2 Audio Layer 2, AAC LC, AC3(Dolby Digital), LPCM) # MPEG-2 TS (MPEG2 Audio Layer 2, AC3(Dolby Digital), AAC LC) # MPEG-2 TS (H.264/MPEG-4 AVC, AAC LC) # AVI # - Motion JPEG (Linear PCM) # - Motion JPEG (mu-Law) # AVCHD (.m2ts / .mts) # DivX # WMV # - VC-1(WMA Standard V2) # # ============================================================================ # # Our PS3-specific notes: # None of the entries declare DTS as a supported audio codec. # No H.264 for AVI files, plus specific MediaInfo attributes for better # auto-detection and no gmc support. # WMV files are supported, but not with 5.1 audio. # Apple lossless not supported. # Supported video formats: Supported = f:mpegps|mpegts v:mpeg1|mpeg2|mp4|h264 a:ac3|lpcm|mpa m:video/mpeg Supported = f:avi|divx v:mp4|divx|mjpeg a:mp3|lpcm|mpa|ac3 m:video/x-divx gmc:0 Supported = f:mp4 v:mp4|h264 a:ac3 m:video/mp4 Supported = f:mp4 v:mp4|h264 a:aac m:video/mp4 n:2 Supported = f:wmv v:wmv|vc1 a:wma m:video/x-ms-wmv n:2 # Supported audio formats: Supported = f:wav a:dts|lpcm n:6 s:48000 m:audio/wav Supported = f:wav n:2 s:48000 m:audio/wav Supported = f:mp3 n:2 m:audio/mpeg Supported = f:aac n:2 m:audio/x-m4a a:(?!alac).+ Supported = f:wma n:2 m:audio/x-ms-wma Supported = f:atrac n:2 m:audio/x-oma # Supported image formats: Supported = f:jpg m:image/jpeg Supported = f:png m:image/png Supported = f:gif m:image/gif Supported = f:tiff m:image/tiff