View Larger Map

Archive for the ‘Programming’ Category

Combine several VOB files into one

Sunday, January 3rd, 2010

Star Trek

First of all… What is a VOB file and why should you care? Right?

VOB is the default file type for standard movie DVDs. More detailed information here at Wikipedia. If you want to back-up a DVD onto your computer, you will immediately come in contact with VOB files.

So my son gets a PSP (Play Station Portable) for Christmas and right away wants to put movies on it to watch by himself. So I say “Fine, we have  a bunch of movies here that I can transfer to the PSP.”  I grab a DVD off the shelf and stick it in the computer. Then I grab one of my handy dandy conversion tools and get to work.

  • DVDDecrypter (Download Here)
    • I first tried DVDDecrypter because this program simply transfers the raw DVD files (VOBs) onto the computer without compressing them or changing them in any way.  But that didn’t work for this particular DVD. 
  • DVD Shrink (Download Here)
    • Then I try DVDShrink because it does a good job transferring DVDs also. It worked. The whole DVD, all the VOB files, were transferred successfully to the hard drive.  But OOPS, I forgot to check the little box that says “Make one big huge VOB file from the DVD”. So instead the movie was chopped into 5 pieces, each one with it’s own VOB file.
      • DVDShrink is usually used to compress a full movie from a double layer disc (up to 8gb) so it will fit  onto a regular DVD (4.7 gb). And it does this very well. But in my case I didn’t need compression, just file transfer.
  • AVS File Converters (Download here)
    • I almost always use AVS File Converter to convert the VOBs into other formats, like AVI, MP4, MPG, MOV, FLV, etc.  It does a great job and has a very easy to use interface.  Problem is, if I try to convert the DVD files as they are, I’ll have 5 little movies. That won’t do. I need to combine them into one big VOB.

Come to find out… WIndows has a built-in VOB combiner. And it’s easy to use.   Just follow these instructions.

  1. Go to: Start > Run, Then type Cmd (this opens a DOS window)
  2. Type: cd \Videofiles(“Videofiles” being the folder where decrypter saved your VOB files. you’ll need to navigate to the location YOUR files are located.)
  3. Then type: copy /b vts_01_1.vob + vts_01_2.vob + vts_01_3.vob + vts_01_4.vob new.vob
    1. Be sure to include each VOB file you’re wanting to combine and in the order you want them to play.
    2. The very last file in the sequence (in this case “new.vob”) is the name of the combined file you want to create.
  4. new.vob is now 1 VOB file of the movie.

I then used AVS to easily convert to a PSP compliant format and copied it to the memory stick that my son uses. 

This whole process ended up taking about 2 hours. But I think I could knock a bunch of time off that now that I know what I’m doing.  For example, in the process I found out that AVS will convert the entire movie directly from the DVD. So, assuming there wasn’t any DVD encryption to deal with, that right there could have saved a bunch of steps.  In my case the DVD WAS encrypted, so I would have needed DVDShrink anyway.

Hope this helps SOMEBODY out there.  If you have any other solutions for this problem, please comment below.

Inspiration for this post found here: http://forums.snapstream.com/vb/beyond-media-user-user-troubleshooting-support-forum/38077-multiple-vobs-combining-into-one-file.html

Simple CSS Horizontal Drop-Down menu

Saturday, May 2nd, 2009

One of my greatest frustrations in my years of web site building has been creating an easy to use (and modify) drop down navigation bar. Everybody wants to use them on their sites, but it seems like there hasn’t been any simple solutions that work in all the browsers.

I’ve purchased menu creating programs that output large chunks of code. I’ve created Javascript and DHTML solutions. And I’ve read every tutorial under the sun that promises to have a ’simple’ solution. I have always made my menus work somehow, but have never really been happy with how they were constructed from a programming perspective. And the code has never been easily transferred from one site to another.

But… I have come across a great solution for drop-down menus that uses ONLY CSS (no Javascript) and is simple to install. To change your links or page structure, you simply modify the bulleted list. 30 seconds worth of modifications can change the entire drop-down structure. I’m using this from now on.

NOTE: I haven’t tested this code in every application. If you’re wanting a drop-down for your facebook profile or craigslist posting, I don’t think you’ll be able to get this to work. You need to have access to the HTML files for your website. Anyway… here goes.

View the sample Dropdown Navigation: Click here

Here’s how to build it in 3 easy steps.

Step 1: Modify this bulleted list to for your desired navigation structure

<div id=”navwrap”>
   <ul id=”nav” class=”dropdown dropdown-horizontal”>
         <li><a href=”#”>Home</a></li>
         <li class=”dir”><a href=”#”>About Us</a>
                   <ul >
                        <li><a href=”#”>About My Company</a></li>
                        <li><a href=”#”>Additional Outsourcing</a></li>
                        <li ><a href=”#”>Global Partnerships</a></li>
                   </ul>
           </li>
           <li class=”dir”><a href=”#”>Products</a>
                     <ul>
                          <li><a href=”#”>Clients</a></li>
                          <li><a href=”#”>Customers</a></li>
                    </ul>
            </li>
            <li><a href=”#”>Services</a></li>
            <li><a href=”#”>Contact Us</a> </li>
    </ul>
</div>

Step 2: Copy this code into your master style sheet (modify it for your styling needs)

ul.dropdown,
ul.dropdown li,
ul.dropdown ul {
list-style: none;
margin: 0;
padding: 0;
font-family:Arial, Helvetica, sans-serif;
}

ul.dropdown {
position: relative;
z-index: 597;
float: left;
letter-spacing:0px;
}

ul.dropdown li {
float: left;
line-height: 1.3em;
vertical-align: middle;
zoom: 1;

}

ul.dropdown li.hover,
ul.dropdown li:hover {
position: relative;
z-index: 599;
cursor: default;
}

ul.dropdown ul {
visibility: hidden;
position: absolute;
top: 100%;
left: 0;
z-index: 598;
width: 100%;
}

ul.dropdown ul li {
float: none;
}

ul.dropdown ul ul {
top: 0px;
left: 99%;

}

ul.dropdown li:hover > ul {
visibility: visible;
}

ul.dropdown li.rtl ul {
top: 100%;
right: 0;
left: auto;
}

ul.dropdown li.rtl ul ul {
top: 1px;
right: 99%;
left: auto;
}

ul.dropdown {
font-weight: bold;

}

ul.dropdown li {
padding: 3px 15px;
border-left:1px solid #036;
border-bottom:1px solid #FFFFFF;
color:#036;
margin-bottom:0px;
background-color:#FFFFFF;

}

ul.dropdown li.hover,
ul.dropdown li:hover {
background-color:#8D9FE9;
color: #036;
}

ul.dropdown a:link,
ul.dropdown a:visited { color:#036; text-decoration: none; font-weight:normal; font-size:14px; }
ul.dropdown a:hover { color: #036; }
ul.dropdown a:active { color: #000066; }

/* — level mark — */

ul.dropdown ul {
width: 200px;
margin-top: 0px;

}

ul.dropdown ul li {
font-weight: normal;
border-left-color:#FFF;
border-bottom-color:#666666;
letter-spacing:0px;
padding-top:2px;
padding-bottom:2px;
}

/*————————————————-/
* @section Support Class `dir`
* @level sep ul, .class
*/

ul.dropdown *.dir {
padding-right: 20px;
background-image: url(images/nav-arrow-down.png);
background-position: 100% 50%;
background-repeat: no-repeat;
}

/* — Components override — */

ul.dropdown-horizontal ul *.dir {
padding-right: 15px;
background-image: url(images/nav-arrow-right.png);
background-position: 100% 50%;
background-repeat: no-repeat;
}

ul.dropdown-upward *.dir {
background-image: url(images/nav-arrow-top.png);
}

ul.dropdown-vertical *.dir,
ul.dropdown-upward ul *.dir {
background-image: url(images/nav-arrow-right.png);
}

ul.dropdown-vertical-rtl *.dir {
padding-right: 10px;
padding-left: 15px;
background-image: url(images/nav-arrow-left.png);
background-position: 0 50%;
}

Step 3: Make sure you have this line in the very top of your HTML code. I’m not sure exactly why… but erasing this line will make the code stop working.

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

There you have it, an easy to use CSS drop-down menu that works in both FireFox and Internet Explorer. I am excited about how this code is going to helpme out in creating fast, and easy drop-down menus in the future.

I hope it helps you too.