Encoding PSP movies with wine.
Well, the Sony Playstation Portable (PSP) is out in the U.S, and one of the cool things you can do with it is encode movies for playback on the system. Sony hasn't released their encoder yet, but you can use a program called ffmpeg to convert videos to the quirky PSP Mpeg4 format...
...kinda
The Linux version of ffmpeg can encode PSP movies, however the id tag is hardcoded, and you don't get any data about the Name of the movie or it's length or anything. (It's just called "-" in the browser.
You have to pull from the cvs version, the homepage is here... http://ffmpeg.sourceforge.net/index.php
There is a Japanese fork of ffmpeg for win32. As it's GPLed software, the source was released. This includes all kinds of cool hacks for better streaming and also support for the ID tag for the PSP. Sadly, the id tags require Unicode, (As it's a Japanese machine) , and the hack involves a call to MultiByteToWideChar() to convert the title to something the PSP can display. Last night I tried to backport the hack to the Linux version using mbtowc() and failed horribly. My code-fu is much too weak.
The Japanese fork is here http://www.nurs.or.jp/~calcium/3gpp/sources/ffmpeg-050310-0.30.tar.gz
and a patch to update it to .31 http://www.nurs.or.jp/~calcium/3gpp/sources/ffmpeg_patched_diff_031.tar.gz
You can also grab a compiled win32 version here. http://www.nurs.or.jp/~calcium/3gpp/3GP_Converter031.zip
The program is located in the /cores dir.
So, I as I couldn't "fix" the Linux version, I gave wine a spin and came up dead in the water. I'm afraid I don't have the debug version of wine installed, but here's what I can give you as output
halkun@dokkun:~/temp/3GP_Converter031/cores> wine ./ffmpeg.exe fixme:ver:VERSION_GetLinkedDllVersion Unknown EXE OS version 4.0, please report !! err:comm:GetCommState tcgetattr or ioctl error 'Invalid argument' fixme:ntdll:NtQueryObject Unsupported information class 1 fixme:ntdll:NtQueryObject Unsupported information class 1 fixme:ntdll:NtQueryObject Unsupported information class 1 Segmentation fault halkun@dokkun:~/temp/3GP_Converter031/cores>
Well, ending on a segfault is pretty much writes that program off the list. I'm also noticing it's calling an undocumented function in ntdll. Anyone want to take a go at this to see what's happening?
It would be nice to get PSP encoding to work right under Linux.
Oh, my version of wine is 20050310.
-Halkun