![]() |
#1 |
Regular Crew
Join Date: Mar 2005
Location: Wytheville, VA USA
Posts: 64
|
Homemade Direct-to-Disc on the cheap
After reading these forums for a while I decided to tackle my own direct-to-disc project. The main reason I wanted to do this was because I capture video at football games and the amount of time spent "paused" was starting to gum-up my camcorder's heads. I also had several games that came very close to the end of my tape (57+ minutes).
I looked at many different devices including iPods & similar devices, single board computers, Palm Pilots & WinCe computers, but did not see one that was within my abilities and price range. So I looked at older tablet pc's and found a used model that might just work. I then set off and got all of the parts to build my very own portable DV capture system. Parts: Used Fujitsu Stylistic 3400 - $175 off ebay Case for Fujitsu - $25 off ebay USB 2.0 laptop hard drive enclosure - $18 from Newegg Toshiba 40GB laptop hard drive - $72 from Newegg PCMCIA Firewire adapter - $19 from Newegg Redhat Fedora Core 3 Linux - Free Total Cost: $309 After installing & configuring Linux, I have a very small computer (approx 8.5" x 11" x 1.5") that can capture about 2.5 hours of video. If I stripped Linux down to the bare minimum, I could probably get it up to 3 hours. Of course a larger hard drive would give me more recording time. I just recently got the unit finished because the touchscreen drivers were a problem. This setup does not show you the video as it is being captured, but you are alerted if any frames are dropped. When finished, I simply put the Fujitsu back on it's cradle, and access the hard drive from my Windows PC. If there is enough interest, I'll do a write-up on the step-by-step of how I made this work. Later, David Suthers |
![]() |
![]() |
![]() |
#2 |
Major Player
Join Date: Jun 2004
Location: Lake Tarawera, Rotorua, New Zealand
Posts: 244
|
Well done. I'm interested.
__________________
Owen |
![]() |
![]() |
![]() |
#3 |
Major Player
Join Date: Oct 2004
Location: Melbourne, Australia
Posts: 241
|
Sounds good! Congratulations! I'm interested too.
Cheers. |
![]() |
![]() |
![]() |
#4 |
Major Player
Join Date: Mar 2004
Location: Melbourne, Australia
Posts: 223
|
Good stuff David, please post!
|
![]() |
![]() |
![]() |
#5 |
Regular Crew
Join Date: Mar 2005
Location: Wytheville, VA USA
Posts: 64
|
OK, since there seems to be a bit of interest in this subject, I'll start posting about "How I did it". Please do not take this as absolute step-by-step instructions as I had to do a bit of experimentation to get everything to work. I've tried to cover each topic thoroughly, but I make no guarantees. In other words, if you break it, I warned you. I've also broken down the instructions into different steps to keep things better organized and so you'll have milestones to show your accomplishments.
STEP 1: Installing Linux I Downloaded the RedHat Fedora Core 3 (FC3) ISO images and burned the CD's. Keep the ISO images as well as you'll need them later. I tried the obvious way to install Linux by trying to boot from the CDROM. No luck as the CDROM that comes with the Fujitsu 3400 is an old BackPack parallel port model. Hmmmm, let's see what Google says on the subject. My search turned up a way to install from a hard disk using a program called "loadlin". Loadlin allows you to boot another operating system (ie DOS) and then switch over to the Linux installer... exactly what I needed. I took the new 40GB drive and put it in an external USB drive enclosure so I could copy the files from my WinXP box. I created a 4GB FAT32 partition on the drive (3GB would have been enough) to use as my "installation" partition and left the rest of the drive unpartitioned for Linux. After formatting my new installation partition, I copied the following files to it: Fedora Core ISO disc 1 Fedora Core ISO disc 2 Fedora Core ISO disc 3 Fedora Core ISO disc 4 Fedora Core Rescue CD ISO initrd.img from Fedoa Core CD 1 vmlinuz from Fedora Core CD 1 loadlin.exe downloaded from the internet The last file needed is a batch file to start loadlin. Using a text editor (Notepad), I created a file named "autoboot.bat" that contains the following command line: Code:
loadlin vmlinuz initrd=initrd.img ramdisk_size=18432 The new hard drive is ready to install Linux so I disconnect the drive, remove it from the USB enclosure and put it in the Fujitsu tablet. This is actually very easy to do, just take your time and don't damage the cable on the drive. Note: One area that could be a real problem during the Linux installation is the keyboard and mouse, since the touchscreen doesn't work immediately. My tablet came with a docking station that has a mouse, keyboard, and Ethernet adapter so I was very lucky there. I'd suggest getting one that has this option as well. Now I'm finally ready to install Linux. I placed the tablet in the docking station, attach a keyboard, mouse, ethernet cable, floppy drive, and power adapter to the docking station. I also put the PCMCIA firewire card in the computer, hoping that Linux would recognize it (it did). I turn the computer on and boot the old WIN95 boot disc. After the computer finishes booting up, change to the C: drive and type "autoboot" and press [Enter]. If everything is Ok so far, then the Fedora Core 3 installer will start. I knew there were certain programs that I wanted, and since I'm lazy I'll let the FC3 installer handle all the difficult parts. I selected a custom install and added the following packages: SMB Server (Samba) XWindows Gnome dvgrab Development Tools X Software Development GNOME Software Development During the installation, you will be asked a lot of questions about partitioning your hard drive. I did not do anything special as I was just testing my setup. If you are serious about dedicating space just for video then I would at least create a /video partition. This way the video space will not become fragmented, even though the Linux ext3 file system doesn't suffer large performance hits from fragmentation. While FC3 is installing, pop open a cold one... this will take a while. When you are asked for the type of startup, DO NOT CHOOSE GRAPHIC LOGIN. I tried this and could not get the touchscreen to work correctly as the serial port used would not initialize. If you accidently set this wrong, you can go back and change it by editing the file /etc/inittab and changing the line: id:5:initdefault to this id:3:initdefault STEP 2: Capturing Video Now onto configuring the firewire card... RedHat FC3 does not have a necessary device pre-defined for raw data transferred via firewire (1394). To add the support for this, I modified the file /etc/rc.d/rc.local and added the following lines: Code:
#Setup ports for firewire mknod -m 666 /dev/raw1394 c 171 0 /sbin/modprobe raw1394 /sbin/modprobe dv1394 After logging in for the first time, I created a folder called /video to keep all of my video files (real creative I know). Here are the commands to create this folder: Code:
mkdir /video chmod 777 /video Anyway, back to testing the video capture. I have a Panasonic PV-DV53D but this should work the same for your camcorder. 1. Take the tape out of your camcorder. 2. Turn on the camcorder and switch it to "Camera" or "Record" mode. 3. connect the firewire cable from the camcorder to the firewire card on the tablet computer. 4. On the computer, go to the "Applications" menu, select the "System Tools" sub menu, and select "Terminal". 5. Type "cd /video" and press [Enter]. 6. Type "dvgrab --interactive --noavc" and press [Enter]. If everything is correct, you should see the message "Going interactive. Press '?' for help." Experiment with capturing some video using the following comands: Press "c" to start capturing video Press "Esc" to stop capturing video Press "q" to quit dvgrab When you're done, close the terminal window. You have now sucessfully captured your first video direct to disk. STEP 3: Getting the video off the tablet This step was surprisingly easy after I figured out why it wasn't working in the first place. The first thing we need to do is turn off the firewall. This is not a good idea from a security standpoint, but since this computer is not going to be surfing the internet or connected to an unsecure network, it is an acceptable risk. Here's how to turn it off: From XWindows, click on "Applications" choose the "System Settings" menu select "Server Settings" click on "Services". This will start the Service Configuration program. Scroll down the list on the left until you see the entry "iptables". Uncheck this entry, click on the "Stop" icon, and finally click on the "Save" icon. While we are here, scroll down the list to the entry "smb". This entry should be checked, and the status for smbd should be "running". If it is not, then check the entry, click on the "Start" icon, and click the "Save" icon. You can now close the Service Configuration program. Now we can setup the smb server. This will let Windows computers "see" the tablet just like it was any other computer on the network. From XWindows, click on "Applications" choose the "System Settings" menu select "Server Settings" click on "Samba" This brings up the Samba Server Configuration program. From the Preferences menu, select "Server Settings..." The Workgroup should be the name of your home network if you have one (the default workgroup for WindowsXP is "MSHOME"). Here are my settings: "Basic" tab Workgroup: MSHOME Description: Fujitsu tablet "Security" tab Authentication Mode: Share Authentication Server: None (grayed out) Kerberos Realm: (blank) Encrypt Passwords: Yes Guest Account: No guest account Next we need to add a folder to share. This will be the /video folder we added back in Step 2. Click on the "Add" icon "Basic" tab Directory: /video Share name: video_clips Description: (blank) Basic Permissions: Read / Write "Access" tab Allow access to everyone That should complete the setup of the Samba server. If you go to Windows Explorer on your WinXP box, the Fujitsu tablet and your captured video files should now show up under "My Network Places" / "Microsoft Windows Network" / "Mshome" / "FujitsuTablet" / "video_clips". Double click on the dvgrab .avi file you captured earlier. It should play just like it was on your computer. Pretty cool huh? |
![]() |
![]() |
![]() |
#6 |
Regular Crew
Join Date: Mar 2005
Location: Wytheville, VA USA
Posts: 64
|
Step 4: Onscreen keyboard
If you've followed along so far, you now have a pretty cool toy that can capture and share video. The only problem is that this thing isn't nearly portable enough. We still need to get the touchscreen working and an onscreen keyboard. Since the keyboard is easier, we'll tackle that first. The one keyboard program that I was able to find was xvkbd. Unfortunately, it is only available as source code so we'll have to compile it ourselves. The source file is located at this internet address: http://homepage3.nifty.com/tsato/xvkbd/xvkbd-2.6.tar.gz I found it easiest to download the file on my WinXP box and then copy it to the /video folder on the Fujitsu, then cut & paste the file to the /usr/src folder. This folder is commonly used as the place to compile new software on Linux systems. Then from a Terminal window, type the following lines to compile & install the keyboard software. Code:
cd /usr/src tar -zxf xvkbd-2.6.tar.gz cd xvkbd-2.6 xmkmf; make install install.man Right click on the desktop Choose "Create Launcher" from the pop-up menu The Create Launcher window will be displayed, fill in the fields like below. "Basic" tab Name: XKeyboard (sounds better than xvkbd doesn't it) Generic Name: (blank) Comment: (blank) Command: /usr/X11R6/bin/xvkbd -no-keypad Icon: (any suitable icon, I chose a typewriter) Now to make this icon even easier to get to, I placed it on the panel (the top bar where the Applications, Actions, Battery Status & Clock). Simply click & drag the XKeyboard icon up to the panel to add it there. I did the same thing with the Terminal program by dragging it from the "Applications" / "System Tools" menu. Now to test our new program. Open a Terminal window ("Applications" / "System Tools" / "Terminal" or your new Terminal icon on the panel) and also click on the XKeyboard icon on the panel. Resize the keyboard and terminal windows so that they do not overlap (top half is terminal, bottom half is keyboard). Click on down arrow (upper left corner) of XKeyboard program and check "On Top". This will keep the Keyboard program in front of any other windows. Click on the "Focus" button (it will stay highlighted) and then click on the terminal window. Now whatever you type on the XKeyboard will show up in the terminal window just like you typed it on a regular keyboard. Customizing xvkbd: One really nice feature of xvkbd is that it allows you to assign keyboard shortcuts to the function keys. I setup F12 to start the dvgrab program with all the options I wanted. Here's how: After starting xvkbd, click on the "xvkbd" icon in the lower left cordner and hold the mouse button down. While still holding the mouse button, scroll down to "Edit Function Keys..." and release the mouse button. Select the function key you want to assign the shortcut to by using the same "click & hold + scroll" technique. For the assigned string, type the following line: Code:
cd /video\rdvgrab --interactive --timestamp --noavc --size 15000\r Step 5: Touchscreen This is the final piece to the puzzle. When I first started working on my little experiment, there was a problem with the touchscreen driver (fpit)... mainly it didn't work. But in late Feb. 2005 an update was released (A big thanks to David M. Clay for the fix). This patch should now be available with the update to X.org that is available via the RedHat updater (the red circle with the exclamation mark next to the time & date). If it is then just download the updates and you're golden. If not, then you will have to compile XWindows with the updated copy of the fpit driver, which is a pain in the butt. This is what I had to do. Since the touchscreen is nothing more than a special type of mouse, it uses a serial port. Because it is a non-standard serial port, Linux does not recognize it out of the box. To get it setup correctly, we again need to edit the file /etc/rc.d/rc.local and add the following lines: (Be sure to type the lines exactly as case matters) Code:
#Setup serial ports for touchscreen setserial /dev/ttyS3 autoconfig setserial /dev/ttyS3 uart 16450 irq 5 port 0xfd68 The last item is telling XWindows how to handle the touchscreen. This is handled by the /etc/X11/xorg.conf settings file. I wanted to have both the mouse and the touchscreen working so that I could use a mouse when the tablet is in the docking station. After some trial and error, I came up with the following settings. A word of warning: if you mess up the settings in this file you can foul up XWindows and then the only way to correct it is from the command line. I highly recommend making a backup copy of this file BEFORE you make any changes. I learned this lesson the hard way. The changes are only to the "InputDevice" sections. Here are my settings: Code:
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes" EndSection Section "InputDevice" Identifier "mouse1" Driver "fpit" Option "Device" "/dev/ttyS3" Option "BaudRate" "9600" Option "Passive" Option "MaximumXPosition" "4090" Option "MaximumYPosition" "4090" Option "MinimumXPosition" "0" Option "MinimumYPosition" "0" Option "SendCoreEvents" EndSection Using the completed unit: Setup to capture video... Put the tablet in its slipcase Hang slipcase on tripod Startup the tablet and login Type "startx" and press [Enter] to start XWindows. Open the Terminal and XKeyboard windows resizing as necessary Turn on the camcorder. Connect the Firewire cable. Press F12 on the XKeyboard to start dvgrab. Press "c" to start capturing video Press "Esc" to stop capturing video Press "q" to quit dvgrab When finished capturing video.... Press "q" to quit dvgrab close the Terminal and XKeyboard windows On the "Actions" menu, choose Logout Shut down the tablet Disconnect the cables and pack everything away Back at home... Put tablet in docking station Startup the tablet and login Type "startx" and press [Enter] to start XWindows. On WindowsXP computer, copy video off the tablet using Windows Explorer On the tablet computer, from the "Actions" menu, choose Logout Shut down the tablet I recently bought a Fujitsu wireless keyboard for my tablet to make it even more portable (I LOVE EBAY!!). The keyboard is only needed to type in the initial login, and start XWindows. After that it can be put back in my gearbag. If I want to capture video solely on my tablet, I do not use tape but the controls on dvgrab to start & stop recording. Since each segment is time stamped, reassembling the video clips later is easy. Things are a bit more complicated if you use a tape as you need to control 2 devices. I usually just leave the tablet recording during short pauses and stop it during longer ones. Conclusion: If you've gotten this far and everything works then congratulations. Have another cold one... you've earned it. You've just built a Linux computer for $300 that does digital video capture very well. I've captured several hours of video without a single frame dropped. To do the same in the MS Windows or Mac worlds would cost much more, and not really provide you with any additional features. Wishlist: Remove the need for external keyboard. Have computer automatically startup the Terminal and XKeyboard programs, properly resized of course. Onscreen display of remaining disk space. |
![]() |
![]() |
![]() |
#7 |
Major Player
Join Date: Jan 2004
Location: Columbus, Ohio
Posts: 755
|
Do you have a picture of the unit when used with your camera?
I currently use a laptop with DVrack. Total cost was $200. I already own a laptop. It's not very portable. I attach it to my tripod. Jon |
![]() |
![]() |
![]() |
#8 |
RED Code Chef
Join Date: Oct 2001
Location: Holland
Posts: 12,514
|
Why not put the laptop on something else? See this picture:
http://www.ladyxfilms.com/theater/e14/ps09.jpg It was taken on my Lady X shoot. The laptop is on a storage unit for my camera (which is a tool "box" on wheels with very sturdy plastic I can sit and stand on, bought at the local hardware store). Or you can take some sort of trolley etc. with you if you need it higher (like watching it sitting or standing).
__________________
Rob Lohman, visuar@iname.com DV Info Wrangler & RED Code Chef Join the DV Challenge | Lady X Search DVinfo.net for quick answers | Buy from the best: DVinfo.net sponsors |
![]() |
![]() |
![]() |
#9 |
Regular Crew
Join Date: Mar 2005
Location: Wytheville, VA USA
Posts: 64
|
Here are pictures of my capture setup.
http://img232.exs.cx/img232/1746/vidcaprig13aq.jpg http://img232.exs.cx/img232/8464/vidcaprig26gp.jpg Close up of the screen. http://img232.exs.cx/img232/8180/vidcapscreen2fw.jpg |
![]() |
![]() |
![]() |
#10 |
Major Player
Join Date: Jan 2004
Location: Columbus, Ohio
Posts: 755
|
I bought a fujitsu 3400 on eBay. I love tinkering with linux. My tivo has been upgraded with all kinds of goodies.
Before I bought a firestore FS-4 I actually put my laptop in a backpack and ran a firewire cable to the camera. I have a small dell laptop m600, it's very light. I taped my firewire cable to the laptop just to make sure the cable wouldn't come out. It was definitely worth the money for the fs-4. I can see that the cable is plugged in at all times. Thanks for posting a how to. It's going to be a fun project once my eBay acquisition arrives. |
![]() |
![]() |
![]() |
#11 |
Major Player
Join Date: Jan 2004
Location: Columbus, Ohio
Posts: 755
|
Wow... Thanks for posting pictures. I attach my laptop to my tripod with a field monitor stand. That's awesome. For a little more than what DV Rack express costs you can have a portable solution without purchasing a 1000 laptop.
Great work! |
![]() |
![]() |
![]() |
#12 |
Regular Crew
Join Date: Mar 2005
Location: Wytheville, VA USA
Posts: 64
|
Thanks, the one thing that I have not been able to do with this setup is review my video. I've tried the Kino video editing program, Helix player, and mplayer, all with the same result.... the program crashes.
I think this is an issue with the amount of memory on the tablet. The Fujitsu Stylistic I have is maxed out at 192MB RAM, but if I do a check of available memory when Kino is running I only have about 5MB free. It's either that or a problem with the Trident video adapter that Fujitsu used. Either way, there isn't much I can do about it. On the other hand, I have a very portable unit that has 90+% of the capabilities of a dedicated video capture device for a lot less money. Now if I can just find someone with an expensive camcorder that has junk heads.... |
![]() |
![]() |
![]() |
#13 |
Major Player
Join Date: Jan 2004
Location: Columbus, Ohio
Posts: 755
|
Yes, that would be cool. Rare to find one with completely junk heads. Give it some time :)
|
![]() |
![]() |
![]() |
#14 |
Regular Crew
Join Date: Mar 2004
Location: Dayton, OH
Posts: 169
|
Where does the external USB enclosure sit, and how do you power it? I'm assuming the 'laptop' from it's battery. How long does it last?
|
![]() |
![]() |
![]() |
#15 |
Regular Crew
Join Date: Mar 2005
Location: Wytheville, VA USA
Posts: 64
|
The USB enclosure is only used when copying the installation files to the new 40GB hard drive. After that I put the original 6GB drive out of the Fujitsu in the enclosure and use it as portable storage for my other junk (no video).
The actual transfer of DV video from the tablet to my editing computer is accomplished using ethernet. My transfer speed is not that fast (about 1.5x, 45fps) but that is still much better than playing the video on the camcorder again to direct capture. Especially when you factor in wear & tear on the camcorder. |
![]() |
![]() |
![]() |
| ||||||
|
|