PS4 News on Facebook! PS4 News on Twitter! PS4 News on YouTube! PS4 News RSS Feed!

  1. #1

    CodecSys H.264 Encoder API for PS3 / OtherOS Reversed

    For those who didn't update to PS3 Firmware v3.21 yet, here is CodecSys H.264 Encoder API for PS3/OtherOS reversed.

    When CodecSys version 1.3 came out I gave it a try and liked the speed you get, just sucks that you're quite limited concerning cropping and stuff, even multiple passes is disabled for the PS3 version.

    So I did take a look at it. I usually hate .Net but in this case it made things a lot easier and by a lot I mean a lot. Long things short, I reversed mosted of the api dll which connects to the PS3 and stuff and used it to encode some frames.

    Rebooting and stuff works as well, the cecom running on the PS3 seems to be buggy though and doesn't reboot to game_os for me, not even with the original application. Attached source is more or less based on QT, and still a work in progress, just wanted to share it.

    Download: CodecSys H.264 Encoder API for PS3/OtherOS / CodecSys H.264 Encoder API for PS3/OtherOS v0.1

    v0.1 Changelog:

    • corrected a bug in my yuv calculation
    • removed IP address since it's not neccassarry, most likely it's just to specify an interface on which to listen
    • put the sending and receiving in a thread
    • added wrapper around the CodecSys functions
    • added a basic commandline interface

    I'm not sure but it might be easier to just get some open source encoder run on the PS3 with speed but I'm no good with PPC + SPU, at least not yet

    From the ReadMe file: The IP is hardcoded as I just finished to reverse the api of the DLL so you have to change the corresponding string and length of the string.

    For testing purpose I added an image which is converted to yuv420
    and then added multiple times to the stream. No threading for now so you can only add a handful of frames until the buffer of the ps3 is full.

    The resulting file will be raw h264.ES container which I added to a mp4 which mp4box to see what it looks like

    Sometimes the PS3 doesn't get an IP, that's a YDL/CodecSys issue.

    CodecSys H.264 Encoder API for PS3 / OtherOS Reversed

    More PlayStation 3 News...
    Attached Files Attached Files

  2. #2
    Join Date
    Apr 2005
    I moved this to the Site News now... Very nice, and +Rep for sharing it as well Zerotacg!

  3. #3
    oooooh!!! nice, i'll give it a shot!! thanks you sharing!!!

  4. #4
    just found out that you don't need to set an ip and I think it's to specify the local interface to listen on. I'm currently playing around with ffmpeg to be able to open videos and encode them. oh and there's a lil bug with calculating the U value from RGB so the result looks a bit greenish, I'll update the code later on when I integrated ffmpeg.

  5. #5
    Join Date
    Sep 2008
    very nice and useful

  6. #6
    yey, just packed up a more friendly version. lot's of wrapper code to ease it up and ffmpeg to be able to encode some vids
    even added a binary which makes it actually somewhat usable, at least for testing since the parameters are hardcoded for now

    if anyone want's to mash up a gui, preferably in qt I'd appreciate it. I'm not quite sure how to do a 2 pass run, I just could imagine u do a normal pass and log some stats for the frames and change matrixes etc in the second run, anyone with knowledge in that direct that would know how?
    Attached Files Attached Files

  7. #7
    Join Date
    Apr 2005
    I have now updated the first post with v0.1 and the changelog as well. +Rep!

  8. #8
    Join Date
    Apr 2010
    Kinda confused on how to utilize the binary, do I start it in windows or the otherOS, anyone wanna help the newbie out by posting instructions?

  9. #9
    you need to install the PS3 Part of CodecSys install it as otherOS and boot it, for me I then have to boot it a second time since it doesn't get an IP on first run, and then execute the binary, from windows. Here [1] are the Instructions from Fixstars on how to do it.

    For my binary there's a readme explaining the usage a bit, and you might need some QT Libraries. if you use it to encode a video you'll get a H264 ES Container wich is like raw H264 Stream and you have to add it to an mp4 with mp4box for example.

    But to warn you it's not really an end-user version it's mainly to show the api usage
    CodecSys updated theire site and it seems you can no longer get the trial there could someone upload the otherOS.bld from them?


    just found a link [1] in my history that still works

    Last edited by Zerotacg; 04-05-2010 at 06:33 AM Reason: Automerged Doublepost

  10. #10
    Join Date
    Apr 2010


    The link is down, mind posting a mirror for the file, thanks.


Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  • Register, Login or Activate Your Account to post on the forums.