Monday, May 28, 2012

Howto play HD clips in PS3

PS3 cannot play HD clips encoded in the matroska format, popularly known as MKV format . PS3 mostly supports MP4 containers with h.264 video and AAC-LC audio.

The good news is that the MKV is just a container for H.264 HD format video. Therefore, the video need not be re-encoded. It just have to extracted from the MKV container and pasted into the MP4 container. However, MKV files contain uncompressed audio files in the PCM/WAV format. So these audio files have to extracted and converted to the lossy low complexity AAC formats. The LC in AAC-LC stands for low complexity.

It is pretty easy to do. The required steps are same for Linux, Mac or Windows but the softwares used might be different. I would focus on Linux only.

The video repackaging steps are taken from The audio part is mine.

1. Reconnaissance -- Find which channels contain which format.

 mkvmerge --identify video.mkv

File 'video.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_PCM/INT/LIT)
Track ID 3: audio (A_AC3)

2. Track 1 is video. Track 2 and 3 are audio. Any one of the audio tracks would do.

 mkvextract tracks video.mkv 1:video.h264 2:audio.wav

The extension would b WAV for A_PCM and AC3 for A_AC3. However, it is only bookkeeping in Linux. Linux identifies the files from header data and not from extension like Windows.

3. Now, encode the WAV file to AAC-LC.

-- Open the file in Audacity and downmix to Stereo. See for step by step guide on howto downmix tracks in Audacity.

-- Export the file to AAC.

It generates a m4a file. The work is half done. Re-encode to AAC using FFMPEG.

ffmpeg -i audiofile.m4a audiooutput.aac

4. Now, pack the video and audio into one single MP4 container.

-- First, verify the fps of the video and audio.

mplayer video.h264

libavformat file format detected.
[h264 @ 0x7f5699402280]no frame!
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [H264]  1920x816  24bpp  25.000 fps  8266.5 kbps (1009.1 kbyte/s)

--- Use the fps as an argument into packing.

MP4Box -fps 25 -add video.h264 -add audiooutput.aac video.mp4

5. Rename the video.mp4 to something intelligible.

6. Copy the file to an pendrive and plug into the USB port of the PS3.

7. Open PS3, navigate to videos, USB disk. Display All from the options key.

8. Select the file and .....

9. ENJOY !!

No comments:

Removing audio noise from a video

The basic steps are to extract the audio, remove noise, and then re-insert the noise-free audio back into the video wrapper. Step I: Ext...