Login    Register

[HOWTO] install PS3 Media Server on full nas4free install

Only Admin's or Moderators can move thread's to this sub-forum.
Nobody should start a new thread on this sub-forum.
Anybody can reply to a thread on this sub-forum.
Forum rules
Set-Up GuideFAQsForum Rules
  • Author
    Message

[HOWTO] install PS3 Media Server on full nas4free install

Postby rocket » 02 Jul 2012 05:51

first off, you will need a full nas4free install and not mind mucking about a lot with command lines. I also resort to a few tricks like downloading stuff to my own computer, then copying it to my nas because I couldn't get it to download via command-line easily. I'm sure there is a better way to do a lot of teh stuff I did, but I'm a little inexperienced with freeBSD.

I stole liberally from http://stepbystep.wikkii.com/wiki/PS3Me ... rOnFreeNAS which helped a lot, but didn't cover all the packages I need, as we are using a newer version of freeBSD in nas4free.

things you will need to download and then put on your NAS, I copied them to /mnt/stuff, but use whatever drives you have assigned for storage:

AMD64 build:
ftp.freebsd.org:///pub/FreeBSD/releases/amd64/amd64/9.0-RELEASE/base.txz
i386 build:
ftp.freebsd.org:///pub/FreeBSD/releases/i386/i386/9.0-RELEASE/base.txz

and here is the command that will download the right base.txz for you from your nas4free command line:
Code: Select all
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/`uname -m`/`uname -r | cut -d- -f1-2`/base.txz


download the freeBSD install CD for your platform from http://www.freebsd.org/releases/9.0R/announce.html, but make sure you choose the right copy for your system architecture obviously eg. 64bit = amd64.
mount it on your local computer, and copy the following files to your nas4free drive:
/FREEBSD_INSTALL/BOOT/KERNEL/LINUX.KO
/FREEBSD_INSTALL/USR/BIN/MKFIFO

okay, first thing:

ssh to your nas4free machine, and execute the following:

Code: Select all
nas4free:/# mkdir /freebsd && cd /freebsd && mkdir chroot
nas4free:/# cd /var


copy the base.txz file from wherever you stored it (i.e. /mnt/stuff) to where you are:

Code: Select all
nas4free:/var# cp /mnt/stuff/base.txz .


and now set up a mini developer environment with the following commands:

Code: Select all
nas4free:/var# cat base.txz | tar --unlink -xpzvf - -C chroot
nas4free:/var# cp /etc/resolv.conf chroot/etc/ && cp /etc/localtime chroot/etc/
nas4free:/var# mount -t devfs devfs chroot/dev/
nas4free:/var# chroot chroot/ freebsd-update fetch install
nas4free:/var# chroot chroot/ portsnap fetch extract
nas4free:/var# mount_unionfs /freebsd/chroot/usr/ /usr/
nas4free:/var# rehash


to check to make sure gcc is installed, type:
Code: Select all
nas4free:/var# gcc -v


now to download and compile MediaInfo and libraries:

Code: Select all
nas4free:/var# fetch http://downloads.sourceforge.net/mediainfo/MediaInfo_DLL_0.7.58_GNU_FromSource.tar.bz2
nas4free:/var# tar -xvf MediaInfo_DLL_0.7.58_GNU_FromSource.tar.bz2 && cd MediaInfo_DLL_GNU_FromSource


before compiling, edit the SO_Compile.sh and add "--enable-shared" to the configure options to enable shared zenlib libraries:

Code: Select all
 ./configure $ZenLib_Options --enable-shared --libdir=/usr/lib $*


now compile:

Code: Select all
nas4free:/var/MediaInfo_DLL_GNU_FromSource# ./SO_Compile.sh
nas4free:/var/MediaInfo_DLL_GNU_FromSource# cd /var/MediaInfo_DLL_GNU_FromSource/ZenLib/Project/GNU/Library && make install
nas4free:/var/MediaInfo_DLL_GNU_FromSource/ZenLib/Project/GNU/Library# cd /var/MediaInfo_DLL_GNU_FromSource/MediaInfoLib/Project/GNU/Library && make install


now reboot to remobe the temporary /usr/ that we installed to (there may be a better way, but I don't know it)

log in as root again, and copy the libzen files from the developer /usr/ to the proper /usr:

Code: Select all
nas4free:~# cd /usr/lib
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.so.0 .
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.la .
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.a .
nas4free:/usr/lib# ln -s libzen.so.0 libzen.so
nas4free:/usr/lib# cd /


now we add a bunch of support packages (this may take a while)

Code: Select all
nas4free:/# pkg_add -v -r xtrans
nas4free:/# pkg_add -v -r xproto
nas4free:/# pkg_add -v -r xextproto
nas4free:/# pkg_add -v -r javavmwrapper
nas4free:/# pkg_add -v -r ffmpeg
nas4free:/# pkg_add -v -r gtk
nas4free:/# pkg_add -v -r mplayer
nas4free:/# pkg_add -v -r openjdk7
nas4free:/# pkg_add -v -r mencoder


now, copy the LINUX.KO and MKFIFO to their proper places (yours may be lower-case, but it is how my computer mounted the FreeBSD disc) and install tsmuxer:


Code: Select all
nas4free:/# cp /mnt/stuff/LINUX.KO /boot/kernel/linux.ko
nas4free:/# cp /mnt/stuff/MKFIFO /usr/bin/mkfifo
nas4free:/# chmod 555 /usr/bin/mkfifo
nas4free:/# kldload linux
nas4free:/# pkg_add -v -r linux-tsmuxer


last thing, install PS3 Media Server:
Code: Select all
nas4free:/# cd /var
nas4free:/var# fetch "http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.54.0.tgz"
nas4free:/var# tar -xvf pms-generic-linux-unix-1.54.0.tgz
nas4free:/var# mv pms-1.54.0 PMS


now, inside /var/PMS, you will need to edit PMS.conf to include your video folders. I found a bit of a problem with playback of .mov, .m4v, .mpg, and .avi files, so I forced those to be not-transcoded. I probably messed something up in the install, because with the first install I did, they worked fine.

here is a copy of my PMS.conf:

Code: Select all
# ============================================================================
# Configuration file for PMS
# ============================================================================
# Introduction:
#
# This "PMS.conf" file holds the configuration settings for PMS. These settings
# are usually set using the PMS graphical user interface. If you are running
# PMS on a headless system, you may not be able to kick off the GUI; instead,
# you can edit the PMS.conf file to control the operation of PMS. A restart of
# PMS is required after editing this file.
#
# Commenting out an option or leaving it empty forces the PMS default
# that is indicated.
#
# Key value pairs
# ---------------
# The configuration file contains key/value pairs separated by an equals (=)
# sign; the key on the left and the value on the right. The value is edited
# in this file or set using the PMS GUI and saved. The value can take a number
# of different forms:
#
#  - toggle: a checkbox or boolean; either "true" or "false"
#  - selector: a dropdown menu in the GUI, generating a string or numeric
#              value. Available options will usually be stated below
#  - string: a short text or a number
#  - text: a longer text with embedded line breaks
#  - list: a comma-separated list of strings or numbers
#
# In the file below the value type is shown after the GUI option label.
#
# ----------------------------------------------------------------------------
# General Configuration Screen
# ----------------------------------------------------------------------------
# ---< General Settings >-----------------------------------------------------

# Interface Language
# -------------------
# GUI option: Language (selector)
# The language to use for the GUI and other dialogues.
# The following translations are available:
#   ar = Arab
#   bg = Bulgarian
#   ca = Catalan
#   zhs = Chinese (Simplified)
#   zht = Chinese (Traditional)
#   cz = Czech
#   da = Danish
#   nl = Dutch
#   en = English
#   fi = Finish
#   fr = French
#   de = German
#   el = Greek
#   is = Icelandic
#   it = Italian
#   iw = Hebrew
#   ja = Japanese
#   ko = Korean
#   no = Norwegian
#   pl = Polish
#   pt = Portuguese
#   br = Portuguese (Brazilian)
#   ro = Romanian
#   ru = Russian
#   sl = Slovenian
#   es = Spanish
#   sv = Swedish
#   tr = Turkish
# The short-form code (e.g. = en) is used to set the language.
# The default value is "", which means PMS will follow the locale.
language =

# Operating Mode
# --------------
# GUI Option: Start Minimized (toggle)
# Sets whether the GUI should start when the program is launched.
# On headless systems, this should be "true"; default is "false".
minimized = false

# Check for updates
# -----------------
# GUI Option: Check automatically (toggle)
# Default value is false.
auto_update = false

# ---< Network Settings >-----------------------------------------------------
# Generally these settings should not need to be changed from their defaults or
# settings determined automatically by the system. Changing them may make your
# PMS server disappear from your other devices.

# Interface
# ---------
# GUI Option: Force networking on interface (selector)
# Specifies the (physical) network interface to attach to, should only be
# relevant when the server has more than one network interface and PMS picks
# the wrong one. The selector displays all available network interfaces.
# E.g. network_interface = eth0
# The default value is "", which means PMS will automatically select a network
# interface.
network_interface =

# Specifies a comma separated list of network interfaces to ignore when
# scanning for a suitable network interface to attach to. This is typically
# used to ignore virtual interfaces created by other applications.
# Default value is "tap,vmnet,vnic", which ignores interfaces named "tap0",
# "tap1" and "tap2", but it allows an interface named "eth0".
skip_network_interfaces =

# IP Address
# ----------
# GUI Option: Force IP of the server (string)
# A network interface can be have multiple IP addresses associated with it.
# This sets which one should be used.
# The default value is "", which means PMS will automatically select an IP
# address.
hostname =

# Server port
# -----------
# GUI Option: Force the port of the server (string)
# Sets the port PMS will listen on; usually should not need to be set unless
# another service has already grabbed the port.
# The default value is "", which means PMS will automatically pick port 5001.
port =

# Client Filter
# -------------
# GUI Option: Use an IP filter (string)
# Set the IP address(es) and/or IP address range(s) of the clients permitted to connect.
# When no filter is specified, PMS will allow any IP address to connect to the
# service.
# Multiple IP addresses and/or IP address ranges can be separated with a comma
# or semicolon e.g.: 127.0.0.1,192.168.0-1.*
# The default value is "".
ip_filter =

# Max Bandwidth
# -------------
# GUI Option: Maximum bandwidth in Mb/s (string)
# Set the maximum bandwidth to be consumed by the server.
# Leaving the setting blank or zero switches off bandwidth throttling.
maximumbitrate = 0

# ---< Advanced HTTP and system settings >------------------------------------

# HTTP Engine v2
# --------------
# GUI Option: HTTP Engine v2 (toggle)
# Experimental feature - see documentation
http_engine_v2 = true

# Do not sleep
# ------------
# GUI Option: Prevent OS from sleeping while streaming (toggle)
# If your host server has a power-saving mode, use this option to prevent
# the server hibernating or sleeping while it is streaming data.
prevents_sleep_mode = false

# GUI Option: Default renderer when automatic detection fails (selector)
# PMS can recognize many renderers automatically. Sometimes a renderer will
# connect which PMS does not recognize. This option defines which renderer PMS
# should assume. Default value is empty, which means PMS will assume the
# "Unknown renderer".
renderer_default =

# GUI Option: Force default renderer (disable automatic detection) (toggle)
# By default PMS tries to automatically detect what renderers try to connect
# to it. By settings this option to true, PMS will assume any renderer that
# connects is the default renderer.
renderer_force_default = false

# ---< Plugins >--------------------------------------------------------------

# The directory where PMS can find the plugins. Default value is "plugins".
plugins = plugins

# ----------------------------------------------------------------------------
# Navigation/Share Settings Screen
# ----------------------------------------------------------------------------

# ---< Thumbnails >-----------------------------------------------------------

# Generate Thumbnails
# -------------------
# GUI Option: Generate Thumbnails
# Set whether or not to generate thumbnails of media files for the client.
thumbnails = true

# Thumbnail seeking position
# --------------------------
# GUI Option: Thumbnail seeking position (string)
# Amount of time (in seconds) to skip in video media before generating
# thumbnail data, designed to pass over usual black screen before movies
# start. Default value is 60 seconds.
thumbnail_seek_pos = 60

# Use MPlayer for Thumbnails
# --------------------------
# GUI Option: Use MPlayer for video thumbnails (toggle)
# Whether or not to use MPlayer to generate the thumbnails for video;
# can produce better results than built-in method.
# Default is false, which will use the built-in method.
use_mplayer_for_video_thumbs = false

# DVD thumbnails
# --------------
# GUI Option: DVD ISO thumbnails (toggle)
# Choose whether or not to show thumbnails of ISO images. Default value is
# false.
dvd_isos_thumbnails = false

# Image thumbnails
# --------------
# GUI Option: Image thumbnails (toggle)
# Choose whether or not to show thumbnails of images. Default value is true.
image_thumbnails = true

# Album cover art
# ---------------
# GUI Option: Audio thumbnails display (selector)
# Choose how to get thumbnails for audio files (cover art), value is a
# number from the following list (equivalent to GUI dropdown order):
#  0 - Alphabetical (A-Z) - search local filesystem
#  1 - download from Amazon
#  2 - download from Discogs
# Default value is 0.
audio_thumbnails_method = 0

# Source of video cover art
# -------------------------
# GUI Option: Alternate video cover art folder (selector)
# Specify a folder below which appropriate cover art for videos might be
# located. Providing no value (default) effectively disables video thumbnails.
# The GUI offers a file-system navigator which generates an absolute path.
alternate_thumb_folder =

# ---< Navigation/Parsing settings >------------------------------------------
# Instructs the system on how to find media and various controls on giving
# clients access to transcoding facilities and features.

# Compressed Archives
# -------------------
# GUI Option: Browse compressed archives (toggle)
# Should the system browse compressed files looking for media? Files are
# extracted only when selected for viewing.
# Archives supported include zip, rar, cbr and possibly others. Default value
# is false.
enable_archive_browsing = false

# Hide Video settings
# -------------------
# GUI Option: Hide Video settings (toggle)
# Control visibility of the Video Settings folder on clients; contents
# of the folder allow direct editing of PMS settings for video. Default value
# is false.
hidevideosettings = false

# Hide Transcode folder
# ---------------------
# GUI Option: Hide Transcode folder (toggle)
# Control visibility of the Transcode folder on clients; contents of the
# folder provide control over transcoding of video. Default value is false.
hide_transcode_folder = false

# Hide file extensions
# --------------------
# GUI Option: Hide file extensions (toggle)
# Choose whether or not to show file extensions when showing file name in
# client listings. Default value is false.
hide_extensions = false

# Hide engine names
# -----------------
# GUI Option: Hide engine names (toggle)
# Choose whether or not to show transcoding engine names for video; see
# also "Hide Transcode Folder" setting. Default value is false.
hide_enginenames = false

# Hide non-media folders
# ----------------------
# GUI Option: Hide non-media folders (toggle)
# Choose whether or not to show folders which contain no viewable content.
# Switching this on can slow down browsing in the client (folders must be checked
# for content first before showing them); using a cache (see below) can help.
# Default value is false.
hide_empty_folders = false

# Show iTunes library
# -------------------
# GUI Option: Show iTunes library (toggle)
# Choose whether or not to show the iTunes library as a folder in PMS. Default
# value is false.
itunes = false

# Show iPhoto library
# -------------------
# GUI Option: Show iPhoto library (toggle)
# Choose whether or not to show the iPhoto library as a folder in PMS. Default
# value is false.
iphoto = false

# Show Aperture library
# ---------------------
# GUI Option: Show aperture library (toggle)
# Choose whether or not to show the Aperture library as a folder in PMS.
# Default value is false
aperture = false

# Enable cache
# ------------
# GUI Option: Enable cache (toggle)
# Without a cache, when the client browses a folder, content is listed in
# real-time. With a cache, additional information becomes available and
# the cache can be browsed directly. Default value is false.
usecache = true

# Hide cache folder
# -----------------
# GUI Option: Hide cache folder (toggle)
# Controls whether or not the cache can be browsed directly by the client.
# Default value is false.
hide_media_library_folder = false

# File ordering
# -------------
# GUI Option: File ordering (selector)
# Determines the order of listed content when a client browses a folder; the
# GUI selector generates a numeric indicator according to the following.
#  0 - Alphabetical A-Z
#  1 - By date (newest first)
#  2 - By reverse date (oldest first)
#  3 - ASCIIbetical (i.e. using ASCII code values)
#  4 - Alphanumeric (AKA natural sort e.g. "Season 2" before "Season 10")
# Default value is 0.
key_sort_method = 4

# ---< Shared folders >-------------------------------------------------------

# Media Locations
# ---------------
# GUI Option: Shared folders dialogue (list)
# Either define a list of specific folders containing media to be shared or
# allow the system to browse the whole disk of the server. The GUI provides
# a system navigation to generate a list of folders.
# The list should contain a comma-separated list of absolute path names, or
# leave it empty to let the system find media. Default value is empty.
folders = \/export\/video\/animation,\/export\/video\/anime,\/export\/video\/film,\/export\/video\/tv,\/export\/video\/downloads


# ----------------------------------------------------------------------------
# Transcoder Settings
# ----------------------------------------------------------------------------

# Transcoder engines
# GUI Option: Ordered list of engines (selector)
# System generates list of available engines, list depends on host.
# Default value is "mencoder,avsmencoder,tsmuxer,ffmpegaudio,mplayeraudio,tsmuxeraudio,vlcvideo,mencoderwebvideo,mplayervideodump,mplayerwebaudio,vlcaudio,ffmpegdvrmsremux,rawthumbs"
engines = mencoder,avsmencoder,tsmuxer,ffmpegaudio,mplayeraudio,tsmuxeraudio,vlcvideo,mencoderwebvideo,mplayervideodump,mplayerwebaudio,vlcaudio,ffmpegdvrmsremux,rawthumbs

# ----------------------------------------------------------------------------
# Transcoding Settings: Common settings
# ----------------------------------------------------------------------------

# Transcode buffer size
# ---------------------
# GUI Option: Transcode buffer maximum size (string)
# Size of buffer in MB before transmitting to client. Maximum value is 400,
# which is also the default value.
maxvideobuffer = 400

# Cores for Transcoding
# ---------------------
# GUI Option: Number of cores for transcoding (selector)
# Choose the number of processor cores that should be used for transcoding.
# The default value is empty, which will make PMS figure this out itself.
nbcores =

# Chapters #--TRANSCODE--# folder support
# -----------------------------------
# GUI Option: Chapters #--TRANSCODE--# folder support (toggle)
# Makes PMS create virtual chapter markers in a video file. These let
# you jump to a specific point in a video. Default value is false.
chapter_support = true

# Chapters #--TRANSCODE--# folder support interval
# --------------------------------------------
# GUI Option: Chapters #--TRANSCODE--# folder support interval (string)
# Determines the interval time in minutes for virtual chapter markers.
# Default value is 5.
chapter_interval = 5


# ---< Audio settings >-------------------------------------------------------

# PS3 Media Server decides what to do with the audio track by checking options in the following order:
# 1. (AC3 and DTS tracks) Keep DTS track / Keep AC3 track => remuxes track as-is
# 2. (all tracks) Use LPCM transcoding => transcodes track with LPCM transport (lossless)
# 3. (all tracks) Use AC3 transcoding => transcodes track with AC3 transport (lossy)

# AC3 transcoding audio channels
# --------------
# GUI Option: Maximum audio channels (selector)
# The maximum number of channels used for AC3 transcoding. Default value is 6.
# Do not change this value even if you use 2.0 speakers because of an MEncoder downmixing bug!
audiochannels = 6

# AC3 transcoding audio bitrate
# -----------------
# GUI Option: AC3 re-encoding audio bitrate (string)
# Specify the bitrate for AC3 transcoding; do not exceed the quality supported by the
# AV receiver or amplifier. Default value is 640.
audiobitrate = 640

# Keep AC3 track
# ---------------
# GUI Option: Keep AC3 track (no re-encode, may cause inaudible dialog and A/V sync issues) (toggle)
# The default value is true.
mencoder_remux_ac3 = true

# Keep DTS track
# ------------------
# GUI Option: Keep DTS track (no re-encode, compatible with AV receiver through optical or HDMI output) (toggle)
# Default value is false.
embed_dts_in_pcm = true

# Use LPCM for audio
# ---------------------------
# GUI Option: Use LPCM for audio (no re-encode) (toggle)
# Choose whether or not the Pulse Code Modulation (PCM) audio format should be
# used instead of AC3 with the MEncoder transcoding engine. Offers lossless transcoding quality but higher bitrate.
# Bandwidth requirements are about 1.5 Mbit/s for 2.0 and 4.6 Mbit/s for 5.1 audio.
# Not suitable for Wi-Fi streaming! The default value is false.
mencoder_usepcm = false

# Use LPCM only for HQ audio
# ---------------------------
# GUI Option: none
# Limit LPCM audio transcoding to high quality audio tracks (DTS, TrueHD, etc) only. Use AC3
# transcoding for others.
mencoder_usepcm_for_hq_audio_only = false

# Remux DVD
# ---------
# GUI Option: Remux DVD ISO video track (toggle)
# The default value is true.
mencoder_remux_mpeg2 = true

# ---< Video quality settings >-----------------------------------------------

# MPEG-2 options
# --------------
# GUI Option: MPEG-2 options (string)
# Sets the quality for MPEG-2 conversion; MPEG-2 is the fallback format if the client
# does not support a video format natively. The default value is "keyint=5:vqscale=1:vqmin=2"
mencoder_encode = keyint=5:vqscale=1:vqmin=2

# ---< Misc options >---------------------------------------------------------

# Definitely disable subitles
# ---------------------------
# GUI Option: Definitely disable subtitles (toggle)
# The default value is false.
mencoder_disablesubs = false

# Skip transcode for extensions
# -----------------------------
# GUI Option: Skip transcode for extensions (list)
# Do not transcode files with an extension in the list. The default value is
# empty.
notranscode = "avi,mov,m4v,MOV,M4V,MPG,mpg,mpeg"


# Force transcode for extensions
# ------------------------------
# GUI Option: Force transcode for extensions (list)
# Always transcode file with an extension in the list. The default value is
# empty.
forcetranscode =

# ----------------------------------------------------------------------------
# Transcoder Settings: MEncoder
# ----------------------------------------------------------------------------

# ---< Video/Audio decoder settings for MEncoder engine >---------------------

# Use Multiple cores
# ------------------
# GUI Option: Use multiple CPU cores (toggle)
# Choose whether or not to use the multicore variant of MEncoder. The default
# value is empty, which lets PMS figure this out itself.
mencoder_mt =

# Skip loop filter
# ----------------
# GUI Option: Skip loop filter
# Default value is false.
skiploopfilter = false

# A/V sync alternative true
# -------------------------
# GUI Option: A/V sync alternative
# Default value is true.
mencoder_nooutofsync = true

# Use Video Scaler
# ----------------
# GUI Option: Use Video Scaler
# Default value is false.
mencoder_scaler = false
# GUI Option: Video scaler width
# Default value is 0.
mencoder_scalex = 0
# GUI Option: Video scaler height
# Default value is 0.
mencoder_scaley = 0

# Force framerate
# ---------------
# GUI Option: Force framerate
# Default value is false.
mencoder_forcefps = false

# Deinterlace filter
# ------------------
# GUI Option: Deinterlace filter
# Default value is false.
mencoder_yadif = false

# Remux videos
# ------------
# GUI Option: Remux videos
# Default value is true.
mencoder_mux_compatible = true

# Codec specific parameters
# -------------------------
# GUI Option : Use application default codec parms
# Default value is true.
mencoder_intelligent_sync = true

# GUI Option: Codec specific parameters (text)
# Sets additional codec-specific configuration options for MEncoder. Default
# value is empty.
codec_spec_script =

# ---< Specific options >-----------------------------------------------------

# Custom options
# --------------
# GUI Option: Custom options (string)
# Default value is empty.
mencoder_decode =

# Audio language priority
# -----------------------
# GUI Option: Audio language priority (list)
# A comma-separated list of language codes that defines the priority for
# MEncoder when choosing audio languages, where "und" stands for "undefined".
# For example: "eng,fre,jpn,ger,und". Default value is empty, which will let
# PMS pick the priority.
mencoder_audiolangs = jpn,eng,und

# ---< Subtitle settings >----------------------------------------------------

# Subtitle language priority
# --------------------------
# GUI Option: Subtitle language priority (list)
# A comma-separated list of language codes that defines the priority for
# MEncoder when choosing subtitle languages, where "und" stands for
# "undefined". For example: "eng,fre,jpn,ger,und". Default value is empty,
# which will let PMS pick the priority.
mencoder_sublangs = eng,und

# Force subtitle language
# -----------------------
# GUI Option: Force subtitle language (string)
# Default is empty, which will let PMS pick the subtitle language.
forced_sub_lang =

# Forced tags
# -----------
# GUI Option: Forced tags (string)
# The tag string that identifies the subtitle language that will be forced
# upon MEncoder. The default value is "forced".
forced_sub_tags = forced

# Audio language priority
# -----------------------
# GUI Option: Audio language priority (string)
# Determine the string of audio language and subtitle language pairs
# ordered by priority for MEncoder to try to match. Audio language and
# subtitle language should be comma separated as a pair; individual pairs
# should be semicolon separated. "*" can be used to match any language.
# Subtitle language can be defined as "off".
# For example: "en,off;jpn,eng;*,eng;*;*". Default value is empty.
mencoder_audiosublangs = en,off;eng,off;jpn,eng;jpn,en;*,eng;*,en;*,*

# Subtitles codepage
# ------------------
# GUI Option: Subtitles codepage (string)
# The character encoding (or code page) that MEncoder should use for
# displaying subtitles. Default value is "cp1252".
mencoder_subcp = cp1252

# FriBiDi
# -------
# GUI Option: FriBiDi (toggle)
# Determine whether or not MEncoder should use FriBiDi mode, which is
# needed to display subtitles in languages that read from right to left,
# like Arabic, Farsi, Hebrew, Urdu, etc. Default value is false.
mencoder_subfribidi = false

# Subtitle font blank
# -------------------
# GUI Option: Subtitle font (string)
# GUI offers a navigator to a folder generating an absolute path.
# Default value is empty.
mencoder_font =

# Subtitles folder blank
# ----------------------
# GUI Option: Subtitles folder (string)
# GUI offers a navigator to a folder generating an absolute path.
# Default value is empty.
alternate_subs_folder =

# Use ASS/SSA styling
# -------------------
# GUI Option: Use ASS/SSA styling (toggle)
# Choose whether or not MEncoder supports ASS/SSA subtitles. Default
# value is empty, which will let PMS decide.
mencoder_ass = true

# Enable mencoder with fontconfig
# -------------
# GUI Option: Fontconfig/Embedded fonts (toggle)
mencoder_fontconfig = true

# Use embedded style
# ------------------
# GUI Option: Use embedded style (toggle)
# Default value is true.
mencoder_ass_defaultstyle = true

# Subtitle colour
# ---------------
# GUI Option: Subtitle colour (string)
# The integer value for the subtitle colour. GUI offers a palette to choose
# from that will generate a number. Default is empty, causing PMS to pick
# white.
subs_color =

# Style font scale
# ----------------
# GUI Option: Style font scale
# The font scale used for ASS subtitling. Default value is 1.0.
mencoder_ass_scale = 1.0

# GUI Option: Styled font outline
# The outline parameter used for ASS subtitling. Default value is 1.
mencoder_ass_outline = 1

# GUI Option: Styled font shadow
# The shadow parameter used for ASS subtitling. Default value is 1.
mencoder_ass_shadow = 1

# GUI Option: Styled margin
# The margin used for ASS subtitling. The default value is 10.
mencoder_ass_margin = 10

# Plain font scale
# ----------------
# GUI Option: Plain font scale
# The subfont text scale parameter used for subtitling without ASS. The default
# value is 3.
mencoder_noass_scale = 3

# GUI Option: Plain font outline
# The subfont outline parameter used for subtitling without ASS. Default value
# is 1.
mencoder_noass_outline = 1

# GUI Option: Plain font blur
# The subfont blur parameter used for subtitling without ASS. The default value
# is 1.
mencoder_noass_blur = 1

# GUI Option: Plain margin
# The subpos parameter used for subtitling without ASS. Default value is 2.
mencoder_noass_subpos = 2

# Load subtitles
# --------------
# GUI Option: Load subtitles
# Choose whether PMS should check for external subtitle files with the same
# name as the media (*.srt, *.sub, *.ass, etc.). The default value is true.
autoloadsrt = true

# DVD/VOB subtitle quality
# ------------------------
# GUI Option: DVD/VOB subtitle quality
# The default value is 3.
mencoder_vobsub_subtitle_quality = 3

# Add borders
# -----------
# GUI Option: width
# The default value is 0.
mencoder_overscan_compensation_width = 0

# GUI Option: height
# The default value is 0.
mencoder_overscan_compensation_height = 0

# ----------------------------------------------------------------------------
# Transcoder Settings: Video decoder for tsMuxeR
# ----------------------------------------------------------------------------

# Force FPS from FFmpeg
# ---------------------
# GUI Option: Force FPS pased from FFmpeg in the meta file
# Default value is true.
tsmuxer_forcefps = true

# Mux all audio
# -------------
# GUI Option: Mux all audio tracks
# Default value is false.
tsmuxer_mux_all_audiotracks = false

# Audio resampling
# ----------------
# GUI Option: Automatic audio resampling (toggle)
# Default value is true.
audio_resample = true

# ============================================================================
# Additional settings

# ---< Active - but not settable in GUI >-------------------------------------

# Default value is 850.
charsetencoding = 850

# Set to "true" if PMS should pass the flag "convertfps=true" to AviSynth.
# Default value is true.
avisynth_convertfps = true

# The template for the AviSynth script. The script string may contain the
# character "\u0001", which will be treated as newline character.
avisynth_script = #AviSynth script is now fully customisable !\u0001#You must use the following variables (\"clip\" being the avisynth variable of the movie):\u0001#<movie>: insert the complete DirectShowSource instruction [ clip=DirectShowSource(movie, convertfps) ]\u0001#<sub>: insert the complete TextSub/VobSub instruction if there's any detected srt/sub/idx/ass subtitle file\u0001#<moviefilename>: variable of the movie filename, if you want to do all this by yourself\u0001#Be careful, the custom script MUST return the clip object\u0001<movie>\u0001<sub>\u0001return clip

# Default value is false.
transcode_block_multiple_connections = false

# Default value is true.
transcode_keep_first_connection = true

# Default value is "-threads 2 -g 1 -qscale 1 -qmin 2"
ffmpeg = -threads 2 -g 1 -qscale 1 -qmin 2

# The maximum size (in MB) that PMS should use for buffering audio. Default
# value is 100.
maxaudiobuffer = 100

# The minimum size (in MB) that PMS should use for the streaming media buffer.
# Default value is 1.
minwebbuffer = 1
uuid = 4b13608d-aec3-4b77-b031-ecfd4db5aab9


now, you will need to add to your rc.conf file in your nas4free web gui under System->Advanced->rc.conf:
linux_enable = YES
Image

and to start PMS on startu, add the following command:
Code: Select all
cd /var/PMS; ./PMS.sh &

Image


if you want to enable audio streaming of web playback, you will also need to install vlc:
Code: Select all
nas4free:/# pkg_add -v -r vlc




and there you have it. on my dual-core AMD64 machine with 4gb ram, I can get 1080p playback on my ps3.

I'm still working out the occasional audio glitch, hopefully someone here can chip in, as I have just about reached the end of my knowledge.
-rocketgal
Last edited by rocket on 04 Jul 2012 06:44, edited 1 time in total.
----
Version 9.0.0.1 - Sandstorm (revision 139)
Platform x64-full on AMD Phenom(tm) II X2 555 Processor
System ASUSTeK Computer INC. M4A785T-M Bios: 2002 03/18/2010
rocketgirls know how to have fun
PowerUser
rocket
 
Posts: 38
Joined: 24 Jun 2012 22:48
Location: california

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby stealth915 » 03 Jul 2012 01:15

Wow thanks! I've been looking for an updated guide for PMS for Nas4Free, as all the other guides don't work. Will try this later tonight.
NewUser
stealth915
 
Posts: 7
Joined: 03 Jul 2012 01:10

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby moblix » 10 Jul 2012 05:12

thankyou for the guide. i got around to doing this today.

i just wanted to check something though. When i got to the media info / dev part i got stuck. i continued with the rest of the guide skipping the media info part and came back to it after but i just could not get it to work. a constant tar : could not chdir to chroot error was presented by my terminal. then i noticed the original guide does something the other way around

Yours

Code: Select all
nas4free:/# mkdir /freebsd && cd /freebsd && mkdir chroot
nas4free:/# cd /var


Original code

Code: Select all
freenas:/var# mkdir /freebsd && cd /freebsd && mkdir chroot
freenas:/freebsd# rsync -av ftp.de.freebsd.org::FreeBSD/releases/`uname -m`/`uname -r | cut -d- -f1-2`/base/ `uname -r | cut -d- -f1-2`_`uname -m`_bas


so should it actually be like this?

Code: Select all
nas4free:/# cd /var
nas4free:/var# mkdir /freebsd && cd /freebsd && mkdir chroot
nas4free:/freebsd#


because then if i did this and carry on with your guide it works.

Code: Select all
nas4free:/# cd /var
nas4free:/var# mkdir /freebsd && cd /freebsd && mkdir chroot
nas4free:/freebsd# fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/`uname -m`/`uname -r | cut -d- -f1-2`/base.txz

nas4free:/freebsd# cat base.txz | tar --unlink -xpzvf - -C chroot
nas4free:/freebsd# cp /etc/resolv.conf chroot/etc/ && cp /etc/localtime chroot/etc/
nas4free:/freebsd# mount -t devfs devfs chroot/dev/
nas4free:/freebsd# chroot chroot/ freebsd-update fetch install
nas4free:/freebsd# chroot chroot/ portsnap fetch extract
nas4free:/freebsd# mount_unionfs /freebsd/chroot/usr/ /usr/
nas4free:/freebsd# rehash


but apart from that, great guide and thanks.
NewUser
moblix
 
Posts: 7
Joined: 29 Jun 2012 12:41

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby rocket » 10 Jul 2012 07:15

ooh, I'll look in to that. I'll do a fresh install from scratch and see how it goes.

I certainly may have had a command or two backwards, as I took copious notes over about four nights of build, fail, find dependency, build, fail, rinse, repeat.
----
Version 9.0.0.1 - Sandstorm (revision 139)
Platform x64-full on AMD Phenom(tm) II X2 555 Processor
System ASUSTeK Computer INC. M4A785T-M Bios: 2002 03/18/2010
rocketgirls know how to have fun
PowerUser
rocket
 
Posts: 38
Joined: 24 Jun 2012 22:48
Location: california

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby sangrehirviendo » 25 Jul 2012 07:06

Thank you very very much for this tutorial, I now have it working with full functionality on my humble nas4free box.

Cheers.
NewUser
sangrehirviendo
 
Posts: 1
Joined: 09 Jul 2012 17:36

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby rverli » 26 Jul 2012 13:44

the libzen files is not found when i make this.

nas4free:~# cd /usr/lib
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.so.0 .
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.la .
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.a .
nas4free:/usr/lib# ln -s libzen.so.0 libzen.so
nas4free:/usr/lib# cd /
Version 9.0.0.1 - Sandstorm (revisão 148)
Platform x64-full AMD Phenom(tm) II X4 945 Processor
ASUSTeK Computer INC. M5A78L-M LX Bios: 0801 11/30/2011
8Gb RAM Kingston
NewUser
rverli
 
Posts: 1
Joined: 06 Jul 2012 11:28

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby Aldaris » 28 Aug 2012 10:09

Thank you very much for this tutorial, it works like a charm!

I have one question regarding the developer environment. If I see it right, it is only needed to compile mediainfo. However, this package is available in the ports tree (http://www.freshports.org/multimedia/mediainfo/), although in as an older version... . So I am wondering if the developer environment is still necessary. Hope you can help me linux noob ;).

Best regards
NewUser
Aldaris
 
Posts: 7
Joined: 27 Jun 2012 15:41

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby donricouga » 04 Sep 2012 04:36

I am also having the same issue as the user above. Specifically libzen.so.0 isn't found there?

nas4free:~# cd /usr/lib
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.so.0 .
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.la .
nas4free:/usr/lib# cp /freebsd/chroot/usr/lib/libzen.a .
nas4free:/usr/lib# ln -s libzen.so.0 libzen.so
nas4free:/usr/lib# cd /
NewUser
donricouga
 
Posts: 2
Joined: 03 Sep 2012 16:01

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby 30_Rounds » 05 Sep 2012 03:33

After trying from place to place I found an older but somewhat simpler tutorial for me (not to say this one hasn't helped at all here) over at http://www.homemultimedianetwork.com/Gu ... reeNAS.php

However after the many attempts at installing, uninstalling, using methods here and there I've reached a breaking point and literally rage quit on this entire thing. First off is that like donricouga, I am getting the same errors he is getting. I'm also getting an error whenever I try to do a pkg_add with linux-tsmuxer. Near the end it mentions something about file either not being found or corrupted. Regardless of the earlier problems, I can still see the PS3 Media Server and the files on it, however I always have an issue with the PMS.conf file. If I use the one linked here, or linked on the website that I put in this post. I can see my media with no problem, however when it comes to playing my media such as MP4's or MKV's I get a "Data is corrupted" error on my Playstation 3. So if anyone out there has any idea or clue to how it is I could fix this it would be helpful to me.

Thanks.
NewUser
30_Rounds
 
Posts: 1
Joined: 05 Sep 2012 03:25

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby donricouga » 05 Sep 2012 04:32

i did correct the issue I faced. My problem was that i rebooted before copying the files as was stated in this guide. Acutally, you should copy the libzen files over to /usr/lib before you reboot. I went through everything and no issues. But, non of my devices are picking up ps3 media server??? I guess it's not running? If i can't get this to work, i'll try to use that other tutorial which seems simpler

Should I be able to run PMS.sh directly from the shell? If so, i'm getting

exec: java: not found

update :

I do see the process running when I do ps -ax but none of devices see the PS3 Media Server ???? :?

2635 v0- S 0:03.96 /usr/local/openjdk7/bin/java -Xmx768M -Xss1024k -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Djna.nosys=true -classpath update.jar:pms.jar net.pms.PMS

another update if anyone is actually reading this thread.

i see


WARN 2012-09-06 20:29:49.854 [main] Error loading libzen: Unable to load library 'zen': /usr/lib/libzen.so : invalid file format
INFO 2012-09-06 20:29:49.855 [main] Loading MediaInfo library
INFO 2012-09-06 20:29:49.858 [main] Error loading MediaInfo library: Unable to load library 'mediainfo': S hared object "libmediainfo.so" not found, required by "java"
INFO 2012-09-06 20:29:49.858 [main] Make sure you have libmediainfo and libzen installed

So funny thing is that my Ipad can see the ps3 media server and play the files but my actual PS3 cannot see the ps3 media server?? Any ideas?
NewUser
donricouga
 
Posts: 2
Joined: 03 Sep 2012 16:01

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby Raverlution » 03 Oct 2012 21:00

hello

i also have the error
exec: java: not found

what can i do about that??

please help, cant find any other guide
NewUser
Raverlution
 
Posts: 1
Joined: 03 Oct 2012 20:45

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby raulfg3 » 04 Oct 2012 05:41

Raverlution wrote:what can i do about that??
install java and test that install works
Code: Select all
nas4free:/# pkg_add -v -r openjdk7


plese revise first post and test that all packages are installed well.
Site Admin
raulfg3

User avatar
 
Posts: 4022
Joined: 22 Jun 2012 20:13
Location: Madrid (ESPAÑA)

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby bselars » 20 Feb 2013 11:20

Hello,
i have a problem, when i use "pkg_add -v -r xtrans" i have a error. What´s the Problem?

thx

Code: Select all
nas4free:~# pkg_add -v -r xtrans
scheme:   [ftp]
user:     []
password: []
host:     [ftp.freebsd.org]
port:     [0]
document: [/pub/FreeBSD/ports/amd64/packages-9.1-release/Latest/xtrans.tbz]
---> ftp.freebsd.org:21
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:21
<<< 220 beastie.tdk.net FTP server (Version 6.00LS) ready.
>>> USER anonymous
<<< 331 Guest login ok, send your email address as password.
>>> PASS root@nas4free.local
<<< 230 Guest login ok, access restrictions apply.
>>> PWD
<<< 257 "/" is current directory.
>>> CWD pub/FreeBSD/ports/amd64/packages-9.1-release/Latest
<<< 550 pub/FreeBSD/ports/amd64/packages-9.1-release/Latest: No such file or dir      ectory.
>>> CWD pub
<<< 250 CWD command successful.
>>> CWD FreeBSD
<<< 250 CWD command successful.
>>> CWD ports
<<< 250 CWD command successful.
>>> CWD amd64
<<< 250 CWD command successful.
>>> CWD packages-9.1-release
<<< 550 packages-9.1-release: No such file or directory.
>>> QUIT
<<< 221 Goodbye.
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9.1-      release/Latest/xtrans.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages      -9.1-release/Latest/xtrans.tbz' by URL
pkg_add: 1 package addition(s) failed
PowerUser
bselars
 
Posts: 19
Joined: 20 Feb 2013 11:16

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby pilothaz » 14 Mar 2013 13:31

bselars wrote:Hello,
i have a problem, when i use "pkg_add -v -r xtrans" i have a error. What´s the Problem?

thx

Code: Select all
nas4free:~# pkg_add -v -r xtrans
scheme:   [ftp]
user:     []
password: []
host:     [ftp.freebsd.org]
port:     [0]
document: [/pub/FreeBSD/ports/amd64/packages-9.1-release/Latest/xtrans.tbz]
---> ftp.freebsd.org:21
looking up ftp.freebsd.org
connecting to ftp.freebsd.org:21
<<< 220 beastie.tdk.net FTP server (Version 6.00LS) ready.
>>> USER anonymous
<<< 331 Guest login ok, send your email address as password.
>>> PASS root@nas4free.local
<<< 230 Guest login ok, access restrictions apply.
>>> PWD
<<< 257 "/" is current directory.
>>> CWD pub/FreeBSD/ports/amd64/packages-9.1-release/Latest
<<< 550 pub/FreeBSD/ports/amd64/packages-9.1-release/Latest: No such file or dir      ectory.
>>> CWD pub
<<< 250 CWD command successful.
>>> CWD FreeBSD
<<< 250 CWD command successful.
>>> CWD ports
<<< 250 CWD command successful.
>>> CWD amd64
<<< 250 CWD command successful.
>>> CWD packages-9.1-release
<<< 550 packages-9.1-release: No such file or directory.
>>> QUIT
<<< 221 Goodbye.
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9.1-      release/Latest/xtrans.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages      -9.1-release/Latest/xtrans.tbz' by URL
pkg_add: 1 package addition(s) failed


The reason you are having an issue is that your setenv PACKAGESITE is to an old one which doesn't exist anymore. You will have to view the ftp site, here is a paste of the info:

Name Size Date Modified
[parent directory]
.message 1.0 kB 12/3/11 12:00:00 AM
packages 0 B 4/19/07 12:00:00 AM
packages-10-current/ 7/17/12 12:00:00 AM
packages-7-stable/ 10/7/12 8:18:00 AM
packages-8-stable/ 10/11/12 4:19:00 PM
packages-8.2-release/ 2/10/11 12:00:00 AM
packages-8.3-release/ 3/28/12 12:00:00 AM
packages-9-current 0 B 12/9/11 12:00:00 AM
packages-9-stable/ 10/16/12 9:26:00 PM
packages-9.0-release/ 12/29/11 12:00:00 AM
packages-current 0 B 12/3/11 12:00:00 AM
packages-stable 0 B 11/7/11 12:00:00 AM


I would suggest using the packages-9-stable version and here is the code you will have to post within the SSH:

Code: Select all
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest


All will be good when you try the pkg_add again. Note: This will only change the PACKAGESITE for that current session unless you change it within the .cshrc which can be done this way if you want:
(using Nano, don't know if you have this installed).
Code: Select all
cd ~
nano .cshrc


Once you are within the file, paste the following line anywhere (I chose near the other setenv arguments).
Code: Select all
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/


Save the file and reboot. All should be good.
NewUser
pilothaz
 
Posts: 6
Joined: 16 Jul 2012 01:48

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby fliger » 16 Apr 2013 17:41

Hey,
ive the following error while starting PMS

ELF interpreter /libexec/ld-elf.so.1 not found
Abort

What can I do to solve this problem ?
Thanks
NewUser
fliger
 
Posts: 1
Joined: 13 Apr 2013 12:36

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby raulfg3 » 16 Apr 2013 19:18

locate file in last FreeBSD (based in BSD 9.1) DVD and copy to lib in Nas4Free.

PD: perhaps others users can say / sugest other better ways.
Site Admin
raulfg3

User avatar
 
Posts: 4022
Joined: 22 Jun 2012 20:13
Location: Madrid (ESPAÑA)

Re: [HOWTO] install PS3 Media Server on full nas4free instal

Postby raulfg3 » 09 Oct 2013 12:56

Site Admin
raulfg3

User avatar
 
Posts: 4022
Joined: 22 Jun 2012 20:13
Location: Madrid (ESPAÑA)

Return to [HowTo]

Who is online

Users browsing this forum: No registered users and 0 guests