PSP video guide
Encoding videos suitable for PSPs
IF YOU HAVE A PSP AND HAVE ANY FEEDBACK ABOUT THE FOLLOWING INFORMATION, PLEASE CONTACT ME.
I find Sony very frustrating for not publishing information on what video formats are supported by the PSP, it seems to me that they’re only hurting themselves, unless they think it will make more people by their software. Through a combination of high level reverse engineering of some files created with the High AVC and Low AVC profiles in Media Manager that someone put on-line, and some trial and error and scouring the internet, I have come to the following conclusions about the PSP’s capabilities with recent official firmwares.
Restrictions
- BIT_RATE <= 768 kbps
- Up to 320×240 or up to 368×208
- Up to 30 fps
- H.264 Main Profile up to Level 2.1
- Up to 2 reference frames
- LC AAC audio up to 48kHz (Media Manager uses 128kbps)
Note: To decide the resolution of the video, I would suggest using up to 368×208 for videos with an aspect ratio greater than 14/9:1 else use up to 320×240. Resolutions less than these also work, so for a 2.35:1 anamorphic video, use 368×160. Just use your common sense.
Note: Apparently the PSP cannot decode any h.264 streams which use multiple slices, so if you’re using an older revision (<607) of x264 and want to use multiple threads to encode your PSP files, you’re out of luck. However, you shouldn’t have any problem updating to the current svn trunk code for x264.
For one pass:
ffmpeg -i INPUT -acodec libfaac -ab 128k -ar 48000 -s WIDTHxHEIGHT -r FRAME_RATE -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method umh -subq 6 -trellis 1 -refs 2 -bf 1 -coder 1 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 4M -bufsize 4M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 21 -threads 0 OUTPUT.mp4
For two pass:
ffmpeg -i INPUT -an -pass 1 -s WIDTHxHEIGHT -r FRAME_RATE -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method dia -subq 1 -trellis 0 -refs 1 -bf 1 -b_strategy 1 -coder 1 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 4k -bufsize 4k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -threads 0 OUTPUT.mp4
ffmpeg -i INPUT -acodec libfaac -ab 128k -ar 48000 -pass 2 -s WIDTHxHEIGHT -r FRAME_RATE -vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 2 -bf 1 -b_strategy 1 -coder 1 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt BIT_RATE -maxrate 4k -bufsize 4k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 21 -threads 0 OUTPUT.mp4