Ubuntu 9.04 PMS

From Hurlster Wiki
Revision as of 13:36, 23 September 2009 by Gqwill69 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

(PMS) ps3mediaserver

Get Support Packages

These will allow you to build apps

apt-get install subversion build-essential git-core checkinstall yasm libgpac-dev

These are needed for building

some modification will be needed based upon 32bit or 64bit
apt-get install em8300-headers gawk gettext html2text intltool-debian \
ladspa-sdk libaa1-dev libasound2-dev libatk1.0-dev libaudio-dev \
libaudio2 libaudiofile-dev libavahi-client-dev libavahi-common-dev libcaca-dev \
libcairo2-dev libcdparanoia0-dev libcucul-dev libdbus-1-dev libdbus-glib-1-dev \
libdirectfb-dev libdirectfb-extra libdts-dev libdv4-dev libenca-dev libenca0 \
libesd0-dev libexpat1-dev libfaac-dev libfaac0 libfontconfig1-dev libfreebob0 \
libfreetype6-dev libfribidi-dev libggi-target-x libggi2 libggi2-dev libggimisc2 \
libggimisc2-dev libgif-dev libgii1 libgii1-dev libgii1-target-x libgl1-mesa-dev \
libglib2.0-dev libglide3 libglu1-mesa-dev libglu1-xorg-dev libgtk2.0-dev libice-dev \
libjack-dev libjack0 libjpeg62-dev liblzo-dev liblzo1 liblzo2-2 liblzo2-dev libmad0 \
libmad0-dev libmail-sendmail-perl libmp3lame-dev libmp3lame0 libmpcdec-dev libmpcdec3 \
libncurses5-dev libogg-dev libopenal-dev libopenal1 libpango1.0-dev libpixman-1-dev \
libpng12-dev libpopt-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-dev \
libpulse-mainloop-glib0 libsdl1.2-dev libslang2-dev libsm-dev libsmbclient-dev \
libspeex-dev libsvga1 libsvga1-dev libsys-hostname-long-perl libsysfs-dev \
libtheora-dev libtwolame-dev libtwolame0 libvorbis-dev libx11-dev libxau-dev \
libxcb-render-util0-dev libxcb-render0-dev libxcb1-dev \
libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev \
libxft-dev libxi-dev libxinerama-dev libxrandr-dev libxrender-dev libxt-dev libxv-dev \
libxvidcore4 libxvidcore4-dev libxvmc-dev libxvmc1 libxxf86dga-dev libxxf86vm-dev \
mesa-common-dev po-debconf sharutils x11proto-composite-dev x11proto-core-dev \
x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev \
x11proto-randr-dev x11proto-render-dev x11proto-video-dev x11proto-xext-dev \
x11proto-xf86dga-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev \
xtrans-dev zlib1g-dev libschroedinger-dev libstdc++5 libfaad-dev \
libgsm1-dev libdc1394-22-dev libfaad-dev libsdl1.2-dev

Optional

libartsc0 libartsc0-dev libxcb-xlib0-dev

Build Support Apps

FFMPEG

Multi-Threaded Single Core CPU **ONLY CHOOSE ONE

cd /usr/local/src/
git clone git://gitorious.org/ffmpeg/ffmpeg-mt.git
cd ffmpeg-mt/
git clone git://git.ffmpeg.org/libswscale/
./configure
make
checkinstall -D --install=yes --fstrans=no --pkgname=ffmpeg-svn --pkgversion "1:0.svn`date +%Y%m%d`-ubuntu" -y

Single Multi-Core CPU **ONLY CHOOSE ONE

cd /usr/local/src/
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure
make
checkinstall -D --install=yes --fstrans=no --pkgname=ffmpeg-svn --pkgversion "1:0.svn`date +%Y%m%d`-ubuntu" -y

Mplayer/Mencoder

cd /usr/local/src/
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
cd mplayer/

if using multi-core setup use this...
cp -rf ../ffmpeg/libavcodec libavcodec
cp -rf ../ffmpeg/libavformat libavformat
cp -rf ../ffmpeg/libavutil libavutil
if using multi-threaded setup use this...
cp -rf ../ffmpeg-mt/libavcodec libavcodec
cp -rf ../ffmpeg-mt/libavformat libavformat
cp -rf ../ffmpeg-mt/libavutil libavutil

./configure
make
checkinstall -D --install=yes --fstrans=no --pkgname=mencoder-svn --pkgversion "1:0.svn`date +%Y%m%d`-ubuntu" -y
export LD_LIBRARY_PATH=/usr/local/lib/

x264

cd /usr/local/src/
git clone git://git.videolan.org/x264.git
cd x264/
./configure --enable-shared
make
checkinstall -D --install=yes --fstrans=no --pkgname=x264-svn --pkgversion "1:0.svn`date +%Y%m%d`-ubuntu" -y
ldconfig

Get Code

I usually start in /usr/local/src/

SVN
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://ps3mediaserver.googlecode.com/svn/trunk/ ps3mediaserver-read-only
Source
http://ps3mediaserver.googlecode.com/files/pms-linux-1.10.5.tgz

If compiling from SVN, you will need the following packages

apt-get install ant ant-gcj ant-optional ant-optional-gcj \
ca-certificates-java default-jdk default-jre default-jre-headless gcj-4.3-base java-common \
libaccess-bridge-java libgcj-bc libgcj-common libgcj9-0 libgcj9-jar libjaxp1.3-java \
libjaxp1.3-java-gcj libxerces2-java libxerces2-java-gcj openjdk-6-jdk openjdk-6-jre \
openjdk-6-jre-headless openjdk-6-jre-lib rhino ttf-bengali-fonts ttf-kannada-fonts \
ttf-oriya-fonts ttf-telugu-fonts ttf-wqy-zenhei tzdata-java

Compile from SVN

The "ant" command (re)builds the pms.jar file. This needs done every svn update.
cd /usr/local/src/ps3mediaserver-read-only/ps3mediaserver
ant

Old Packages:

ffmpeg-svn* libavcodec-dev* libavcodec52* libavformat-dev* libavformat52* libavutil-dev* libavutil49*
libffmpegthumbnailer-dev* libffmpegthumbnailer2* libswscale0* mt-daapd*

Renderer Configs

DirecTV

directv.conf

#------------------------------------------------------------
#Actually MP3 requires transcoding, but nearly all media servers have this built-in. 
#The DVRs require the input to be LPCM 
#(possibly WAV will work also since it is based on LPCM).
#
#MPEG2 video should be TS (Transport Stream) or there may be problems 
#with the audio tracks, particularly if they are DD. MPEG Streamclip 
#is a good (and free) programming for transcoding, but does not accept all formats.
#
#Video bitrate should be less than 10 Mbps. 
#
#------------------------------------------------------------
# General informations / detection
RendererName=DirecTV HR2x
RendererIcon=xbox360.png

# UserAgent: regular expression to detect the connected renderer
UserAgentSearch=DIRECTV

# Basic capabilities
Video=true
Audio=true
Image=true

#------------------------------------------------------------
# DLNA settings
# Use the DLNA feature seek by time and not by range
SeekByTime=false

#------------------------------------------------------------
# Transcoding/Muxing capabilities
#

# Transcode codecs for video and audio engines
# currently supported: MPEGAC3 or WMV for video, PCM or WAV for audio 
TranscodeVideo=MPEGAC3
TranscodeAudio=WAV

# Use default DVD buffer size: false = greater bitrate and faster encoding,
# but can generate incompatible videos, depends of your media renderer
DefaultVBVBufSize=true

# Muxing capabilities: 
# Does the media renderer support H264 and MPEG2 in a mpegts file ?
MuxH264ToMpegTS=false

# Does the media renderer support DTS in a mpeg file ?
MuxDTSToMpeg=false

# Does the media renderer support DTS wrapped into LPCM in a mpeg file ?
WrapDTSIntoPCM=false

# Does the media renderer support LPCM in a mpeg file ?
MuxLPCMToMpeg=false
#MuxLPCMToMpeg=true

# Maximum bitrate supported by the media renderer (0=unlimited)
MaxVideoBitrateMbps=8

# Max Width and Height supported by the media renderer (0=unlimited)
MaxVideoWidth=1920
MaxVideoHeight=1080

# Does the media renderer support only H264 L4.1 at most ?
#H264Level41Limited=true

# Fix MP3 audio in AVI
#MuxMp3ToMpeg=true

#------------------------------------------------------------
# Misc Files

# Mime types transforms (oldmime=newmime|olemime2=newmime2|...)
MimeTypesChanges=audio/wav=audio/L16

# Extensions management:
# What extensions are forcefully transcoded
#TranscodeExtensions=mp3,mkv,mp4,avi
TranscodeExtensions=wav,mpg,mpeg,mpe,ts,tp,m2t,m2ts,m2p,mts,vob,gif,tif,tiff,png,bmp,avi,mp3,mp4

# What extensions are forcefully streamed as is (and not transcoded)
StreamExtensions=