=> you must use the supplied VLC package for AVC to work
=> the settings file pmp.ini has changed !
=> pmp.ini now contains a switch to enable AVC, you must set horizontal and vertical resolution to 480x272
=> to test installation first try to play VLC-ENABLE.AVI from memstick. It should play no matter what settings are made in pmp.ini. Then try to play a file from your video directory.
=> these sample pmp.ini files and streaming instructions will get you up to speed fast: sample pmp.ini files + streaming instructions
binary: PMPVLC009Rev4-test-binaries.zip (Rev.4 for firmware versions 1.0, 1.50 and Dark Alex OE firmwares Kernel 1.50 mode)
Your Download-Link: http://www.fx-world.org/download/jockyw ... naries.zip
binary: PMPVLC009_OE_Rev4-test-binaries.zip (Rev.4 for Dark Alex OE firmwares Kernel 3.x mode)
Your Download-Link: http://www.fx-world.org/download/jockyw ... naries.zip
Notes: Rev4 for Dark Alex OE firmwares supports WPA enabled WLAN. This test version currently only supports AVC hardware decoding, so your pmp.ini must have use_avc_hw = 1 and you must use the modified VLC package. Unzip and copy the directory PMPVLC009_OE_JockyW to the GAME3xx directory on your PSP (e.g. GAME330 if you use 3.30-OE)
binary: vlc-0.8.6a-psp-x264-wait-win32.exe (required for streaming AVC !!). This is VLC version v0.8.6a (currently latest official release) with support for AVC hardware decoding.
Your Download-Link: here
binary: pmpvlc009_mojojojo_mod_alpha7.zip, playlist script support for VLC by Mojojojo.
Your Download-Link: here
binary: vlc-0.8.5-psp-x264-win32.exe (required for streaming AVC !!)
Your Download-Link: here
or:
here
sourcecode: PMPVLC009Rev4-source.zip
here
sourcecode: PMPVLC009Rev1-source.zip
Your Download-Link: here
or:
here
Changelog:
Rev4 (02/28/2007) for firmware versions 1.0, 1.50 and Dark Alex OE firmwares Kernel 1.50 mode:
1) in AVC hardware mode it is no longer needed to play a file from memstick before playing a network file or stream. A big thx to jonny for pointing me in the right direction! :)
2) uses Ffmpeg build 7991 (02/15/2007)
3) can play Youtube videos from memstick
4) can play mpeg1 and mpeg2 files and streams
5) fixed bug where VLC plays unintended previous playlist item
6) improved general stability
7) nice background and icons made by "shadow-evillink" and "raven"
8) additional settings in PMP.INI: vid_extra and aud_extra
Rev2 (07/22/2006)
1) added AVC hardware video decoding support for high quality streaming and playback from memstick (requires the also supplied VLC 0.8.5 with x264 support for PSP)
2) scaling does now work correctly (pressing start during playback toggles screen mode if picture resolution < 480x272)
3) pressing right trigger in main menu now really connects to network and the IP address is shown
4) up to 5 video and 5 music directories can be added in pmp.ini
5) network path no longer displayed in filenames, except for the selected entry. Note: left out in 0.0.9Rev1
6) the supplied VLC 0.8.5 package automatically installs the required pspfiles.html file
7) solved several vlc and net directory buffer issues where there was crap at the end of the listing
8) the supplied VLC 0.8.5 can be used to encode video files, DVDs, live streams, capture device sources etc. to AVC avi files
9) fixed a bug where the previous track in the playlist was played again
10) pressing triangle buttton during playback toggles clock speed between 266 and 333MHz
Stick to the recommendations given below for pmp.ini before you start experimenting. The text below is a copy of the accompanying readme.
Have fun,
JockyW
===============PMP VLC Player ==============
PMP VLC Player
==============
version: v.0.0.9Rev2
date: 07-22-2006
by: JockyW
Contents
========
1. Changelog
2. What can you do with it?
3. Installation
4. Usage with VLC
5. Usage with PMP Server
6. PMP.INI example
7. Issues and future features
8. Credits
Annex1: Dbox2/Dreambox/TiVo live TV streaming
Annex2: How to stream (internet) video podcasts to PSP
Annex3: How to stream from TV cards to PSP
Annex4: Network connection diagnostic info
Annex5: How to convert mediafiles to AVC AVI files playable on PSP
Annex6: How to compile VLC for win32
1. Changelog
============
v0.0.9Rev2
Further bug fixes to improve stability and to avoid stalling in non-AVC mode
v0.0.9Rev1
Bug fix: left out following feature in 0.0.9Rev1
1) network path no longer displayed in filenames, except for the selected entry.
v0.0.9 (07-14-06)
1) added AVC hardware video decoding support for high quality streaming and playback from memstick (requires the also supplied VLC 0.8.5 with x264 support for PSP)
2) scaling does now work correctly (pressing start during playback toggles screen mode if picture resolution < 480x272)
3) pressing right trigger in main menu now really connects to network and the IP address is shown
4) up to 5 video and 5 music directories can be added in pmp.ini
5) network path no longer displayed in filenames, except for the selected entry
6) the supplied VLC 0.8.5 package automatically installs the required pspfiles.html file
7) solved several vlc and net directory buffer issues where there was crap at the end of the listing
8) the supplied VLC 0.8.5 can be used to encode video files, DVDs, live streams, capture device sources etc. to AVC avi files
9) fixed a bug where the previous track in the playlist was played again
10) pressing triangle buttton during playback toggles clock speed between 266 and 333MHz
v0.0.8 (06-25-06)
1) added DVD and (S)VCD streaming from PC to PSP
2) left trigger in main screen toggles between PMP server and VLC server (initially VLC server)
3) separate entries in pmp.ini for ip and port for VLC and PMP server
4) can only play music in PMP server mode (allows playing music in original format, no transcoding)
5) uses VLC 0.8.5 (!!!!! location of pspfiles.html changed (see ch3) !!!!!!!)
6) uses latest ffmpeg ogg routines, can now use mp3 in ogg container
7) tidied up this readme
8) added network connection diagnostic info (see annex4)
v0.0.7 (06-22-06)
1) first release
2) uses VLC 0.8.4a
2. What can you do with it?
===========================
PMP VLC Player plays mediafiles:
A) from memorystick
* Videos from PSP/VIDEO
* Music from PSP/MUSIC
B) from Optixx' PMP Server via WiFi (requires Python)
This is similar to the PMP MOD 2.00 version with network support, but it requires you to manually transcode all your video files to PSP format. I added it this feature for playing music files in native format (.mp3 and .m4a) where there is no need for transcoding. You can toggle between PMP and VLC server by pressing left trigger in the main screen
C) transcoded and streamed from VLC via WiFi (requires VLC 0.8.5)
Now that's really new :)
You can now play mediafiles on your PSP which are stored on your PC, with no need to first manually transcode and copy them to memstick. So if you are a lazy bumb like myself and if your PC runs all the time and you like to watch movies or tv on your PSP this proggie is just what you need. The transcoding is done by VLC in real time (that is if your PC is fast enough. My CPU is a AMD XP2400 with 768MB RAM and runs just fine). The PMP VLC client controls your VLC server: you can open a file for playback, pause, stop and seek (forward, rewind) it. Streaming protocol is http via tcp.
If you have a TV card or any live stream source you can have VLC transcode and stream it to your PSP. I use a Dbox2 digital sat receiver which send the stream to VLC which in turn sends a transcoded stream to my PSP. Atm I'm watching WC Soccer Brasil ag. Japan 1:1 The ball is a bit small but bigger than on my UMTS mobile :)
And beginning with v0.0.8 you can also stream DVD and (S)VCD. Now isn't that nice? And it's getting better, beginning with v0.0.9 you can use the AVC hardware video decoder for higher quality video and longer battery lifetime.
Note1: the AVC hardware support is still experimental and doesn't work flawlessly for stream playback. It is used when you set "use_avc_hw" to 1 in pmp.ini. The main problem is in the stream demuxer which often can't detect the picture dimensions. It can also mean that VLC is buggy and can't produce a compliant stream. However, I believe the problem is somewhere in a ffmpeg demux function. Anyhow, I'm still working on it.
Note2: Before you can play streams with AVC hardware support, you must play a few seconds of the video clip "vlc-enable.avi" (480x272) from the memstick. I hope I can avoid this annoyance soon, but for the moment I have no clue why this is necessary. I suspect also a buggy ffmpeg TS stream demuxer. You should always play streams with a horizontal size of 480.
Note3: if you enabled AVC hardware video decoding support then video files on the memstick must be AVI files with AVC video
(you can use the supplied VLC 0.8.5 to encode such files, see Annex5 for that)
An additional advantage is that VLC runs on many platforms (linux, windoz, mac, etc.)
PMP VLC is actually an extension of JiniCho's PMP 0.06 (Nov '05) with jonny's performance improvements, and magiK and jonny's AVC support. I've added network streaming and VLC control support. Essentially it is a PSP port of Ffmpeg's ffplayer.
3. Installation
===============
1) If you have another VLC version installed, first uninstall it and make sure to delete preferences and cache!!
(delete directory c:\Documents and Settings\"yournamehere"\Application Data\vlc)
2) install the supplied VLC 0.8.5 on your PC. The file is called vlc-0.8.5-psp-x264-win32.exe available in a separate binary of the distribution. Sorry this is for windows only. Someone has to (cross-)compile versions for Mac and Linux. Maybe if I have time I will do it myself.
3) On windows create a shortcut to vlc.exe where target looks like this:
"D:\Program Files\VideoLAN\VLC\vlc.exe" --extraintf=http
(note that your path may be different from mine).
On other platforms make sure that vlc is started with the parameters:
--extraintf=http
4) copy the PMP VLC binaries to your PSP (/PSP/GAME/PMPVLC009_JockyW and PMPVLC009_JockyW%)
5) edit pmp.ini and copy it to /PSP/GAME/PMPVLC009_JockyW
6) copy the file VLC-ENABLE.AVI (in the VLC directory of the distribution) to your memstick in /PSP/VIDEO/
==> See below for an example of pmp.ini <==
4. Usage with VLC
=================
!! Before you start, make sure that there is at least one file in each of the /PSP/MUSIC and /PSP/VIDEO directories on the memorystick.
1) start VLC with the parameters: --extraintf=http
2) start PMP VLC 0.0.9 on your PSP
3) in the main menu press the right trigger to enable WiFi and network support
left trigger toggles between PMP server and VLC server (initially VLC server)
4) click the select button and from the media menu select video, music, live stream, dvd stream or (s)vcd stream
5) if you select video or music a directory listing shows mediastick and network files. The latter are shown with the prefix "net:/" (backslashes are shown with some kind of weird character, prolly because the font I use does not have it or whatever. That's just cosmetics which doesn't interest me so much). If you select dvd or (s)vcd make sure you have one in the drive which is indicated in pmp.ini (e.g. d:)
6) during video, dvd and (s)vcd playback you can use:
square -> stop playback
cross -> pause
D-pad R -> forward 10 sec
D-pad L -> rewind 10 sec
D-pad U -> forward 1 min
D-pad D -> rewind 1 min
R-trig -> forward 5 minutes
L-trig -> rewind 5 minutes
(Note1: the D-pad and triggers are disabled in livestream mode)
(Note2: with some files seeking/skipping doesn't work)
7) during music playback you can use:
R-trig -> play next track in directory
L-trig -> play previous track in directory
square -> stop playback
cross -> pause
==> If you play music it is transcoded <==
5. Usage with PMP Server
========================
1) start PMP server
* I've added Optixx' PMP server (pmp_server.py) in the package
* The music path can be edited in a text editor (windows: line 56, linux: line 58, default path is d:\music)
2) start PMP VLC 0.0.9 on your PSP
3) in the main menu press the right trigger to enable WiFi and network support and press the left trigger to enable PMP Server mode
4) click the select button and from the media menu select music
5) a directory listing shows mediastick and network files. The latter are shown with the prefix "net:/"
6) during music playback you can use:
R-trig -> play next track in directory
L-trig -> play previous track in directory
square -> stop playback
cross -> pause
6. PMP.INI example
==================
It consists of 3 sections:
1) [net] for network settings
con: the WiFi profile
vlc_server: ip address of running VLC server (the IP of your PC)
vlc_port: port number of your VLC You can set it to 8080 (same port is used for control) or to any free port on your PC.
pmp_server: ip address of your PMPserver
pmp_port: port number PMPserver. PMPserver uses 3333 by default but you can change it in the pmp_server.py script.
debug: set it to 1 if you want to debug with psplink
videopath: the path on your PC where your movies are stored
musicpath: the path on your PC where your music is stored
*) Note: only for VLC, the PMPserver directory is hard coded in pmp_server.py
dvd_drive: e.g. in windows d: if that is the dvd drive containing a dvd or (s)vcd (can also be a virtual drive of course, like a daemon tools virtual cd drive), in linux /dev/dvd
2) [transcode] for VLC audio/video transcoding settings
This is a tricky part where you can spend quite some time with :)
For background info on this see:
http://www.videolan.org/streaming/features.html
http://www.videolan.org/doc/streaming-h ... to-en.html
NEW: for streaming AVC (h264) set use_avc_hw = 1 and set res_horiz = 480 and res_vert=272 for best results. The container is automatically set to ts and the audio codec to mp3 if you stream files.
For non AVC streaming, I recommend these settings as they are most stable and deliver quite good quality:
res_horiz = 360;
res_vert = 272;
vid_codec = DIV3;
vid_bitrate = 600;
vid_fps = 25;
aud_codec = mp3;
aud_bitrate = 48;
aud_channels = 2;
container = ogg;
I found that ogg container format works best, followed by asf. The asf demuxer often fails with an assertion.
aud_codec = mp3 with aud_bitrate = 64 can work nice and fluent too.
You should experiment to find your optimal settings. You can probably raise the bitrate a bit and you can try other videocodecs such as mp4v.
I had little success using ts and ps containers. However, for streaming AVC (h264) the ts container is required and is automatically set when you set use_avc_hw = 1;
3) [live] live stream server IP and Port numbers
Note that lines starting with a # are treated as comments
Code: Select all
# Net Io Config
[net]
con = 1;
vlc_server = 192.168.1.13;
vlc_port = 8080;
pmp_server = 192.168.1.13;
pmp_port = 3333;
debug = 0;
videopath1 = d:\Movies\;
videopath2 = m:\Movies\;
videopath3 = ;
videopath4 = ;
videopath5 = ;
musicpath1 = D:\Music\;
musicpath2 = ;
musicpath3 = ;
musicpath4 = ;
musicpath5 = ;
dvd_drive = g:
# VLC transcoding settings
[transcode]
# set res_horiz = 480 if you use AVC
res_horiz = 360;
res_vert = 272;
# use_avc_hw is heavily experimental !!
# if set to 1 then automatically vid_codec = h264, aud_codec = mp3, and container = ts are set
# your pmp.ini settings are then superseded
use_avc_hw = 1;
vid_codec = DIV3;
#vid_codec = mp1v;
#vid_codec = mp2v;
#vid_codec = mp4v;
#vid_codec = DIV1;
#vid_codec = DIV2;
#vid_codec = h263;
#vid_codec = h264;
#vid_codec = WMV1;
#vid_codec = WMV2;
#vid_codec = mjpg;
#vid_codec = theo;
vid_bitrate = 600;
vid_fps = 25;
# next transcoding parameter is only used if vid_codec = h264 !!
venc = x264{me=dia,subme=1,analyse=none,bframes=0,b-adapt=none,chroma-me=none,merange=1};
# here you can put additional video transcode options, e.g. vid_extra = canvas-aspect=16:9,canvas-width=480,canvas-height=360;
vid_extra =
#aud_codec = mpga;
#aud_codec = mp2a;
aud_codec = mp3;
#aud_codec = mp4a;
#aud_codec = a52;
#aud_codec = vorb;
#aud_codec = flac;
#aud_codec = spx;
#aud_codec = s16l;
#aud_codec = fl32;
aud_bitrate = 48;
aud_channels = 2;
# resample is experimental and enables audio resampling on VLC server,
# it could offload the psp cpu a bit since if the sampling rate isn't 44100Hz
# PMP VLC will do resampling.
# However I noticed that sometimes playback of .mp4 files didn't work
# properly with resample=1
resample = 1;
aud_samplerate = 44100;
aud_extra =;
container = ogg;
#container = ts;
#container = ps;
#container = mpeg1;
#container = mp4;
#container = mov;
#container = wav;
#container = raw;
#container = asf;
#container = asfh;
#container = mpjpeg;
# live stream server
[live]
liveserver = 192.168.1.13;
liveport = 1234;
7. Issues and future features
=============================
- there are still many stability and performance issues. Usually the first video starts and stops immediately, the second time it usually continues to play well. I've added an automatic restart mechanism to cope with this, but it's not bullet proof.
- automatic detection of videoformat and compliant setting of transcoding resolution
- with jonny's GU color space conversion I can probably gain a few frames per second.
- use latest ffmpeg
- dvd navigation (chapters via shoulder buttons)
- subtitles (dvb?)
- audio track selection
- editor for pmp.ini settings (I can use Dickydick's code do_options() )
- it would be cool if VLC would support jonny's pmp container ;) (can be done since VLC is open source)
- nicer gui (Raphael?)
- resolve start button bug
- integrate media menu in main screen
- changedir support
- TV card channel zapping support
- Dbox/Dreambox channel zapping support
- automatic activation of AVC hw upon recognition of AVC files/streams, otherwise activation of the me
- the next version will definitely be better :)
8. Credits
==========
* JiniCho is the genius who started PMP player based on ffmpeg and ffplay.
* jonny is the genius who created the PMP MOD player with many performance enhancements
* all other devs of ps2dev.org
* all ffmpeg devs (amazing, educating and incredible fun)
* all devs of tuxbox.org (a community dedicated to dbox2 DVB receivers)
* and to all I forgot ...
Annex1: Dbox2/Dreambox/TiVo live TV streaming
=============================================
Here are instructions for streaming from Dbox2/Dreambox to PSP via VLC.
(Note TiVo boxes should work similar with variant 1. Anyone with such a box please give feedback)
Variant 1)
----------
No need for Neutrino GUI and/or Neutrino TV
I tested this with RTL on digital Astra 19.2E and it worked fine.
1) zap to RTL channel on Dbox2/Dreambox
2) start VLC on PC
3) File - Open Network Stream ...
4) in Open textbox paste http://192.168.1.250:31339/0,002C,00A3,0068,006A,0069 (IP you should be your Dreambox)
5) check 'Stream output' and click Settings button
6) in destination target paste the following line (*without* the code and /code tags but *with* the starting ':'
Code: Select all
:sout=#transcode{vcodec=DIV3,vb=600,width=360,height=272,fps=25,acodec=mp3,ab=48,channels=2}:duplicate{dst=std{access=http,mux=ogg,url=0.0.0.0:1234}}
7) no further settings necessary, just click OK twice
8) start PMP VLC on PSP
9) select Live Stream and enjoy RTL live on your PSP, of course this will work for all other channels too
Variant 2)
----------
I'm using the Neutrino GUI on my Dbox2 for which there is this cool app called NeutrinoTV.
Check it out here:
http://forum.tuxbox.org/forum/viewtopic.php?t=41590
(I hope you can read german too :))
So if your Dreambox runs Neutrino then you only need to install NeutrinoTV (which can stream radiochannels as well), configure it with your Dreambox IP and run it.
NeutrinoTV picks up the stream from your Dreambox and acts as the VLC server for the PSP. In my distribution you find a directory VLC in which there are 4 streaming profiles for NeutrinoTV:
EnablePSPStreamingServer-ogg-mp3.nvo
EnablePSPStreamingServer-ogg-vorbis.nvo
EnablePSPStreamingServer-x264-ts-mpga.nvo
EnablePSPStreamingServer-x264-ts-mp3.nvo
On the PSP you'd select play Live Stream and in your pmp.ini in the live section the port number should be set to 1234 (this corresponds with the port number in the 3 profiles). Of course you change that.
I recommend the latter profile for near perfect streaming comfort !
Works great for me.
PS: even if your Dbox2 or Dreambox has a VLC plugin it can not be used without NeutrinoTV.
Your box simply does not have enough horsepower to do the on-the-fly transcoding !
Annex2: How to stream (internet) video podcasts to PSP
======================================================
1) start VLC on PC
2) File - Open Network Stream ...
3) in Open textbox paste the url of the video stream, e.g.:
http://i.a.cnn.net/cnn/services/podcast ... 2.affl.m4v
4) check 'Stream output' and click Settings button
5) in destination target paste the following line:
Code: Select all
:sout=#transcode{vcodec=DIV3,vb=600,width=360,height=272,fps=25,acodec=mp3,ab=48,channels=2}:duplicate{dst=std{access=http,mux=ogg,url=0.0.0.0:1234}}
6) no further settings necessary, just click OK twice
7) start PMP VLC on PSP
8) select Live Stream and enjoy a transcoded stream on your PSP
Annex3: How to stream from TV cards to PSP
==========================================
1) start VLC on PC
2) File - Open Capture Device ...
3) enter capturing card details in the dialog
4) check 'Stream output' and click Settings button
5) in destination target paste the following line:
Code: Select all
:sout=#transcode{vcodec=DIV3,vb=600,width=360,height=272,fps=25,acodec=mp3,ab=48,channels=2}:duplicate{dst=std{access=http,mux=ogg,url=0.0.0.0:1234}}
6) no further settings necessary, just click OK twice
7) start PMP VLC on PSP
8) select Live Stream and enjoy a transcoded stream from your capture or TV card on your PSP
PS: This threead is also very interesting: "Videolan TV-Streaming and remote channel changing SUCCESSFUL"
(http://forum.videolan.org/viewtopic.php?t=7065)
Annex4: Network connection diagnostic info
==========================================
Start the PMP VLC and after clicking the right shoulder button to enable Wifi and network support.
You should see shortly this:
========================================================================
Connecting to Access Point...
connection state 0 of 4
connection state 2 of 4
connection state 4 of 4
IP Address = 192.168.1.39 (that's my ip address, you should see yours)
Connection is okay if returncode is 0 => returncode = 0
========================================================================
All should be well if that is the case.
As of v0.0.9 the PSP's IP address is shown in green when the network is enabled.
Annex5: How to convert mediafiles to AVC AVI files playable on PSP
==================================================================
On your PC open a command window in your video directory and enter this command to convert to AVI:
Code: Select all
"D:\Program Files\VideoLAN\VLC\vlc.exe" -vvv inputfile --sout #transcode{vcodec=h264,vb=800,width=480,height=272,fps=25,acodec=mp3,ab=64,channels=2}:standard{access=file,mux=avi,dst="output.avi"}
For example:
Code: Select all
D:\Movies>"D:\Program Files\VideoLAN\VLC\vlc.exe" -vvv sp02.avi --sout #transcode{vcodec=h264,vb=800,width=480,height=272,fps=25,acodec=mp3,ab=64,channels=2}:standard{access=file,mux=avi,dst="output.avi"}
Annex6: How to compile VLC for win32
====================================
In the VLC directory of the distribution you'll find:
- "vlc-cygwin-compile.txt" which describes it all
- "configure-vlc" which contains the correct configure options
nfigure options
=============================