Friday, August 24, 2012

Batch Encoding H.264 Video with HandBrake

Batch Encoding H.264 Video with HandBrake

(Just as in the previous section, in this section I’m going to use “H.264 video” as a shorthand for “H.264 baseline profile video and AAC low-complexity profile audio in an MPEG-4 container.” This is the combination of codecs+container that works natively in Safari, in Adobe Flash, on the iPhone, and on Google Android devices.)
HandBrake also comes in a command-line edition. As with ffmpeg2theora, the command-line edition of HandBrake offers a dizzying array of options. (Type HandBrakeCLI --help to read about them.) I’ll focus on just a few:
  • --preset "X", where “X” is the name of a HandBrake preset. The preset you want for H.264 web video is called “iPhone & iPod Touch”, and it’s important to put the entire name in quotes.
  • --width W, where “W” is the width of your encoded video. HandBrake will automatically adjust the height to maintain the original video’s proportions.
  • --vb Q, where “Q” is the average bitrate (measured in kilobits per second).
  • --two-pass, which enables 2-pass encoding.
  • --turbo, which enables turbo first pass during 2-pass encoding.
  • --input F, where “F” is the filename of your source video.
  • --output E, where “E” is the destination filename for your encoded video.
Here is an example of calling HandBrake on the command line, with command line flags that match the settings we chose with the graphical version of HandBrake.
you@localhost$ HandBrakeCLI --preset "iPhone & iPod Touch"
                            --width 320
                            --vb 600
                            --two-pass
                            --turbo
                            --input pr6.dv
                            --output pr6.mp4
From top to bottom, this command runs HandBrake with the “iPhone & iPod Touch” preset, resizes the video to 320×240, sets the average bitrate to 600 kbps, enables two-pass encoding with a turbo first pass, reads the file pr6.dv, and encodes it as pr6.mp4. Whew!

Tuesday, August 14, 2012

How to I change my Keyboard Layout on Openbox?

From a terminal run the following command:

sudo dpkg-reconfigure console-setup
 
This will step through various configuration options for your console, along with Keyboard Layout.

For temporarily switching between keyboard layouts

Especially if you don't have too many keybindings 
So I needed to have both the regular US keyboard as well as the US International keyboard so that I could type in Thai keyboard.
Here are the steps I took:
1) Determine which keyboard layouts you want to switch between. Determine if you want 2, 3, or more. This tutorial will work with as many as you need, but this is the first step 
2) Open up a text editor and open the file ~/.config/openbox/rc.xml
3) Scroll down to the keybindings section - you should see stuff like <keybinding key="“blah-blah”"></keybinding>
4) Find any line which says </keybinding>
5) Go to the end of that line and hit Enter
6) Copy and paste the following text:

    <keybind key="C-F11">
    <action name="Execute">
    <startupnotify>
    <enabled>true</enabled>
    <name>English keyboard</name>
    </startupnotify>
    <command>setxkbmap us</command>
    </action>
    </keybind>

    <keybind key="C-F12">
    <action name="Execute">
    <startupnotify>
    <enabled>true</enabled>
    <name>Thai keyboard</name>
    </startupnotify>
    <command>setxkbmap th</command>
    </action>
    </keybind>

7) Edit the <key=“C-F12”> and the <command>setxkbmap th</command> to fit your desires (C is Ctrl key, A is Alt key, S is Shift key, and change it if you want :-D)
8) Rinse, Lather, and Repeat for all of your other desired keymaps.
9) Restart Openbox or reboot computer.
That's it!