RipBot264 PS3, Xbox 360 H.264 Encoding Guide

Original Page URL: http://www.digital-digest.com/articles/RipBot264_PS3_Xbox_360_Guide_page1.html
Author/Publisher:
Date Added: Jul 1, 2008
Date Updated: Jul 1, 2008


The PlayStation 3 and the Xbox 360 seems to have been developed by two teams with very different ideas about what a game console should be like. However, there is one area that both consoles share a commonality, and that is support for H.264 (MPEG-4 AVC) video files using the MP4 container. H.264 is a very advanced video codec used in Blu-ray/HD DVD, and offers better quality and smaller file sizes than DivX/XviD, at the cost of slightly more processing power (and encoding time). The processing power requirement for playback becomes less of an issue with the powerful PS3 and Xbox 360, so you can enjoy self made high quality HD videos with full framerates. Of course, encoding time is the real problem at the moment since it could take more than 10 hours to encode a full movie even on the fastest CPUs. Future technology promises accelerated encoding, but for now, encoding small clips or having a dedicated computer running overnight is the only option.

I have already covered this area before in my Xbox 360 and PS3 H.264 conversion guides, using the tool MeGUI. This guide uses a different tool called RipBot264, which wasn't available at the time those other guides were written. RipBot264 (and despite having the name "Rip", it doesn't rip DVDs, so to the copyright police, please don't get too excited just yet) makes the whole process a lot more user friendly than MeGUI, and encoding speed is top notch too. For people that have been around for a bit, you might say that RipBot264 is to MeGUI as AutoGK is to Gordian Knot. In other words, it's aimed at beginners and so is this guide.

For the PS3, the original H.264 encoding guide also provided two alternative container formats that one can use, VOB and M2TS. Both container formats have their advantages over MP4 (mainly in the file size limit and support for 5.1 channel audio). The VOB method will not be covered as it has problem with file seeking, but if you still want to use it, use our original guides instead. The M2TS method will be covered to allow you to skip past the MP4 file size limitation and have AC3 5.1 audio.

The appendix section of this guide will include instructions on how to get what RipBot264 has produced to these two other container formats (without having to re-encode the video, which means that "conversion" is almost instantaneous), but these instructions are for more advanced users and beginners (which this guide is mainly aimed at) can happily ignore these instructions. The Xbox 360 only supports H.264 through the MP4 container, so it's somewhat less complicated.

Special thanks goes to "Breakthrough" for the M2TS method that he kindly posted on the official PS3 board.

Note that the file produced will have a file size limit of 4 GB if using MP4, so be wary of this limit and split your files accordingly.

It is obviously advantageous to make sure you are able to playback H.264 clips on your computer first. Otherwise, you can't test what you have encoded until you get the file to your Xbox 360/PS3. Consult our H.264 Playback Guide if you are unsure.

As stated before, this guide is aimed at beginners. But it would be better if users already have some knowledge in regards to video conversion. You will also need to know some network basics for PS3/Xbox 360 to TVersity connection, such as knowing what your network IP address is, configuring your firewall or port forwarding if your computer is not on the same LAN as your PS3/Xbox 360.

Software you'll need (all freeware):

Hardware you'll need:

  • PS3 (with firmware 2.01 or above)
  • Xbox 360 (with Spring 2007 Update or later)

Step 1: Installation

Installation is probably the hardest part of RipBot264's usage. Unlike other software, RipBot264 doesn't come with an installer, which is both a blessing and a curse. It's good because it's easy to uninstall. It's bad because you will have to manually install other pieces of software before RipBot264 would even start.

The first thing you need to do is to download and install Microsoft's .NET Framework version 2.0. It's a fairly large file and installation could take more than half an hour (typical Microsoft software then).

The author of RipBot264 states that you should not have any codec pack installed prior to installing RipBot264, and this is sort of true because different codec packs use different versions of the required software packages, or different packages altogether, which might cause RipBot264 to not function. However, I use the K-Lite Codec Pack and I was able to use RipBot264 without any problems, so it's worth trying to use RipBot264 without uninstalling anything first.

The next thing you need to download and install AviSynth. If you are using a codec pack, most likely this is already installed, but it doesn't hurt to install the latest stable version.

The next piece of software you need is Haali Media Splitter. Installing this software might interfere with your current encoding setup if you have certain software that doesn't like this splitter, but in most cases, it should not affect anything (and you are probably already using it anyway). Download and install.

Lastly, you need a fairly recent revision of ffdshow, which many codec packs also use (K-Lite is built around it). Now many people don't like ffdshow as compared to using individual codecs (eg. DivX, Xvid), but ffdshow is very easy to configure to make it still use your individual codecs, or to switch back to ffdshow usage, and all without even restarting your computer. It's easy to uninstall too. I also prefer ffdshow based playback rather than DivX or Xvid, and of course, encoders like RipBot264 love ffdshow as compared to DivX and Xvid. So download and install ffdshow. Follow the installer until you get to the "Select Additional Tasks" screen, where I recommend you select any video format that you wish to convert with under the option "Decode the following video formats with ffdshow":

ffdshow: Installer


ffdshow: Installer


As you can see from my above setup, I have ffdshow decoding a whole bunch of stuff. But if you only want to convert DivX files to H.264, then I recommend selecting DivX and so on. Scroll down to the "Decode the following audio formats with ffdshow" section and here I have "AAC" selected. To be honest, I'm not quite sure how RipBot264 uses H.264, so even these selections might not be needed, but RipBot264 won't run unless it detects ffdshow installed, so there you go. You can still change these settings after the installation is complete by locating the "ffdshow" start menu folder and using the configure audio/video decoder functions (see screenshot below). Simply run it, go to the "Codecs" section and under the "Decoder" column, select a decoder to have ffdshow do the decoding (same as checking the check box in the installer), or select "disabled" to not let ffdshow decode it (and go back to using your previously installed codecs).

ffdshow: Start Menu Folder


ffdshow: Video Configuration


Anyway, continue with the installation of ffdshow until it completes. You can now finally go and download RipBot264. RipBot264 uses the .7z compression format, so you will need to decompress the package. If you have WinRAR installed, it will do the job. If not, use the free 7-Zip software to extract the entire contents of the package to a folder on your computer (I created a folder located at "C:\Program Files\RipBot264\" and extracted the contents of the package to this folder). When you are ready to start RipBot264, simply go to the folder that you extracted the package to, located the executable file "RipBot264" and run it.

That's the installation finished. I told you it was a bit hard.



Step 2: Configuring and Encoding in RipBot264

Start RipBot264. It looks pretty simple now, because this is only the job queue screen. A job is one unique encoding, so RipBot264 supports multiple jobs, which means you can queue them one by one and encode many files overnight or something without human interference. Anyway, click on the "Add" button to add in our first RipBot264 job.

RipBot264: Job Queue


Now the screen looks a bit more complicated, and rather blank (but don't worry, we will fill in the details soon enough). Next the video input box, click on the "..." button to select your input video file(s).

RipBot264: Encoding Settings


If you are converting from a DVD source, then RipBot264 will only support unencrypted DVD files. If you are using a commercial DVD, you will need to rip the DVD to your hard-drive. Because ripping a commercial DVD may be illegal in your country, we won't cover these steps here.

For DVD sources, the DVD folder (video_ts folder) will contain a lot of files, but you only need to load in the first file in the VOB set that contains the content you want to convert. For example, if you want to convert the main movie, then locate the set of VOB files that are largest in size. For example, I have this DVD folder with 15 VOB sets (VTS_01 to VTS_15). I determined that the VTS_04 set was the largest since it had two files with 0.99 GB (the largest that VOB files can be), with the entire set 3.02 GB in this 4.35 GB folder. So obviously, the VTS_04 set would be the main movie. I would then load the first file in this set (VTS_04_0.VOB) into RipBot264 ... RipBot264 will automatically load the other files in the set for you.

For other sources, simply load in the file.

Regardless of the type of input, RipBot264 will then scan the file and demux the audio (everything will be put into a temp folder). This could take quite a long time depending on the length of the movie, possibly 10 minutes or so for a typical DVD movie, for example. Once the processing is complete, the "Encoding Settings" screen now looks a bit less empty.

RipBot264: Encoding Settings


Let's go through section by section and explain the settings you need to configure. First up is the audio and video input boxes, which has now been filled with details of your input file. By default, the audio track used will be the one found in your input video file, but you can also load in a separate audio file if you wish. For DVD sources that have multiple language tracks, you might need to use the "..." button next to the audio input box and select a different audio track - they should be in the temp folder that the current loaded audio file (most likely an .ac3 file) is in. What's also interesting is that above the input boxes on the right hand side is a grey box that will list what kind of audio/video format is being inputted. Not very useful, but interesting.

RipBot264: Audio/Video Inputs


Next up is the video and audio profiles. A profile is a set of encoding settings that will be compatible with certain types of devices. Clicking on the "..." button next to the video profile lets you see the details of the video profile settings (which this beginner's guide won't cover), and even allows you to create/delete profiles. For the purpose of this guide, select the "[ level 4.1 ] HD . BluRay . Consoles" profile. For the audio profile, you again have several choices, but for compatibility, I recommend one of the LC profiles. 96 Kbps should roughly equal a 128 Kbps MP3 file, but for extra quality, select the "AAC-LC 128 Kbps" profile. If your audio input file is 5.1 channels, you will also get some 5.1 channel options. Note that the PS3/Xbox 360 using the MP4 container does not support outputting the full AAC 5.1 channel audio (it will downmix to 2 channels). If you want 5.1 channel audio, then you will have to follow the instructions in our appendix to make a M2TS file - if this is what you want to do, select one of the 5.1 channel profiles here. Otherwise, select one of the LC 2.0 channel profiles.

RipBot264: Audio/Video Profiles


The next set of boxes show the duration/FPS information for the loaded files. Nothing to change here except making sure the FPS and duration matches your inputs. If it doesn't, then your output might not be 100% working.

RipBot264: Duration, FPS


The next set of setting are the most important, as it will determine the output file size and quality. First up, click on the "Properties" button. The new window that opens will let you specify quite a few options, like de-interlacing, crop or resize. If your input video has black bars, and you can use the "Automatically" option under "Crop" to automatically crop out the black bars (which is a good thing to do). RipBot264 will take a while to analyze the video and then automatically give you the crop settings. Resize does exactly what it says, allowing you to resize the video - "Do not resize" is probably what you will be using. Press the ">" button to skip to two further sets of configuration options, but you won't need them in most cases so I won't cover them. The only option that might be slightly useful is on the last screen for "Denoise". If your source is recorded from VHS or something, then it might be useful, otherwise, it will just soften your picture too much. Press "OK" to close this window.

RipBot264: Output Properties


Back to the main "Encoding Settings" screen, to the left of the "Properties" button is what we will configure next. There are two video encoding mode options, "CQ" (constant quantizer) and "CRF" (Constant Rate Factor). The higher the CRF, the lower the file size/quality. A CRF of 18 will give you almost lossless quality (100% quality), while a CRF of "22" (default) will look quite good indeed. The only problem with using this is that the file size is not predictable, as the encoding is based on a quality factor, not a file size factor. To have a predictable file size, use the "2-Pass" option instead - a new "Lock Size" option will show up under the "Output" text box - check the "Lock Size" check box and enter in the file size you want for the output file (includes audio track). Alternatively, if you don't check the "Lock Size" box, you can specify a bit-rate to use in Kbps. For a 720p HD video file, a minimum Kbps of 5000 is required for decent quality.

RipBot264: Output Settings


For the audio equivalent, there is a "Normalize" option which will "even out" the audio volume to give you a more constant volume. If you have a high quality sound system, leave this option to "Off" to here the full dynamic range. There is also an option to specify what RipBot264 should do if the audio and video lengths do not match (cut of the audio, or stretch or do nothing).

We're nearly done. You can also select a subtitle file to load. RipBot264 will include this SRT subtitle file with the encoding, as a selectable subtitle file (ie. you can turn it on and off is the player supports subtitle files). Neither the PS3 nor the Xbox 360 supports this type of subtitle files so it's all a bit pointless to include them.

And finally, choose where you want to output the file and the output format. The PS3 and Xbox 360 only supports the MP4 container, and not the MKV container, so select MP4 here. Press the "Done" button to close and save these encoding settings and return to the job queue screen.

RipBot264: Job Queue


You can see that a job has been created from the encoding settings we just configured. We can start the encoding now by pressing the "Start" button, or we can add in more jobs by repeating the above instructions.

When RipBot264 finishes encoding your job, you will have a MP4 file ready to play on your computer and on the PS3/Xbox 360. If you want to play the file on your Xbox 360, please follow the instructions on this page. The PS3 equivalent of the instructions can be found here.

Finito!

(Unless you want to read on about turning this MP4 file into a M2TS file for playback on your PS3, with the added advantage of having no file size limit and AC3 5.1 audio)



Appendix A: MP4 to M2TS Conversion

As mentioned previously, this method allows you to use a M2TS container to hold your H.264 file, and allows for increased file size supports (MP4 playback on the PS3 is limited to 4 GB, which is pretty useless for HD video files). M2TS also allows you to have AC3 5.1 audio, but you will have to separately convert the 5.1 channel AAC encoded audio we've created using this guide into an AC3 file. This section of the guide is for more advanced users though, so beware. Xbox 360 owners should be skipping this page since the 360 cannot play M2TS files.

The process is as follows: first, we extract the H.264 and AAC track from the MP4 file created using the earlier parts of this guide using YAMB. Then if the audio is 5.1 channels, we convert the AAC audio to AC3 using MeGUI. Next, we use tsMuxeR to create our M2TS file.

We will first use YAMB to extract the H.264 (.h264) and AAC streams from our newly created MP4 file. Yes I do know that the temp folder that RipBot264 creates will already contain these two files, if you don't close RipBot264 that is (it will then delete the temp files), but hunting around for temp files and possibly accidentally closing RipBot264 is not a great all around solution. So YAMB it is. Download YAMB and install it. Start it up and click on the "Editing" button on the left hand side, select the "Click to extract streams ..." option (demuxing).

YAMB: Demuxing


From the Input box, load in your MP4 file. The info box below will now list all the streams found in this file, which should be a H.264 stream and an AAC stream. Select the H.264 stream first, with the option down below set to "Extract to Raw Format" and then click on the "Next" button to extract out this stream from the MP4 file (the MP4 file will be untouched). Then select the AAC file and repeat the same step. After YAMB processes both streams, you should now have two additional files - one .h264 and one .aac in the same folder as your original MP4 file.

YAMB: File Extraction


Now if your AAC file was 5.1 channels, we will now have to convert that to AC3 so the PS3 can decode it properly (the PS3 cannot decode AAC 5.1 at time of publishing). I've searched around for a good tool to do it, and ffmpeg is the best but it is a command line tool. None of the GUIs I tried supported AAC input, so basically I'm going to use MeGUI. It's not my ideal choice because I would rather have a simple tool that does the encoding, but alas, I could not find one (I know VideoLAN does it, but it doesn't support 384 Kbps encoding for some reason). Luckily, MeGUI shares the same set of pre-requisites as RipBot264, so you should already have .NET framework 2.0 and AviSynth installed. So go on and download MeGUI.

Install MeGUI. Start it up and most likely, it will prompt you to update the software used by MeGUI - click "Yes" to launch the update Manager.

MeGUI: Update Prompt


MeGUI: Updater


Press the "Update" button to start the update process - MeGUI will automatically download and launch the install for the required software. When all the updates are completed, you can now close the MeGUI updater.

In the Audio section of MeGUI, load in the AAC file that YAMB extracted. Select an output location/filename. From the "Codec" section, select "FFMPEG AC-3" and press the "Config" button. The codec configuration window should show up.

MeGUI: FFMPEG AC-3 Config


Ensure "Output Channels" is set to use "Keep Original Channels". You can adjust the bitrate to use - 384 kbps is the minimum used by commercial DVD AC3 5.1 tracks, while many use 448 kbps for extra quality. You can press the "New" button and save the current profile (eg. name it "AC3 5.1, 384 kbps") for future use if you wish. Press "OK" to close the codec configuration window.

MeGUI: FFMPEG AC-3 Config - Save Profile


Press the "Enqueue" button at the bottom of the "Audio" section to queue the encoding job. Click on the "Queue" tab at the top and then click on the "Start" button to start the encoding. Once it is done, you will now have a new 5.1 channel AC3 file. You don't need the original AAC file anymore, but better keep it around until we've finished everything.

Now we should have an .h264 file and either an .aac or .ac3 file. We will now recombine these two files into a M2TS file using tsMuxeR.

Download and extract the tsMuxeR ZIP file to a folder on your hard-drive, and run the "tsMuxerGUI" executable file to start tsMuxeR. In the "Input files" section, first use the "add" button to load in your .h264 file, and then to load in the .aac/ac3 file (in this order, .h264 first and then the .aac/ac3 file). In the "Output" section below, select "M2TS muxing" and use the "Browse" button to select an output filename/location. Press the "Start muxing" button at the bottom to beging the muxing process.

tsMuxeR


After tsMuxeR finishes process (it should say "Done!" in the text log area), we should now have a .m2ts file. You can delete all the other files, other than this .m2ts file. In order for TVersity to function, the .m2ts file must be renamed to have a .m2t extension (basically get rid of the last 's' in the extension). For playback from a USB/CD/DVD, the renaming is not necessary. You can now use the TVersity instructions in my original PS3 H.264 guide to get TVersity to stream this .m2ts file to your PS3. We're done!



About Digital Digest | Help | Privacy | Submissions | Sitemap

© Copyright 1999-2011 Digital Digest. Duplication of links or content is strictly prohibited.