DV Info Net

DV Info Net (https://www.dvinfo.net/forum/)
-   External Recording Various Topics (https://www.dvinfo.net/forum/external-recording-various-topics/)
-   -   Homemade Direct-to-Disc on the cheap (https://www.dvinfo.net/forum/external-recording-various-topics/41177-homemade-direct-disc-cheap.html)

David Suthers March 15th, 2005 10:15 AM

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

Owen Dawe March 15th, 2005 09:33 PM

Well done. I'm interested.

Kyle Ringin March 15th, 2005 11:59 PM

Sounds good! Congratulations! I'm interested too.

Cheers.

Valeriu Campan March 23rd, 2005 09:20 PM

Good stuff David, please post!

David Suthers April 3rd, 2005 10:18 AM

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
Now I have all of the installation files ready, but my new installation partition won't boot. WinXP wouldn't format it and put system files on it (I didn't play with this much, so there probably is a way to do it... I'm just lazy). So I found an old WIN95 boot floppy laying around and decide that it will do nicely.

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

Restart the computer to let these settings take effect. After restarting the computer, you are ready to test the video capture.

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

Since most of us are used to using Windows or Mac to do our daily work, I'll do the rest of the work from XWindows. Type "startx" and press [Enter]. Soon you'll see a nice pretty graphical user interface that will hide you from that mean ole command line.

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?

David Suthers April 3rd, 2005 10:25 AM

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

Now that the program is installed, we need a shortcut to it. In Gnome, a shortcut is called a "Launcher". Here's how to create a Launcher...

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
And press the "Save" button. You will not be able to see the whole assignment, but if you type it correctly it will be fine. Press F12 on the XKeyboard to try it out.

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

Now save the file and restart the computer for these settings to take effect.

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

Save the file and exit XWindows. Type "startx" and press [Enter]. If everything went well, you should now have a working touchscreen. Try it and see if the touchscreen is now working. If the mouse pointer jumps around then you've probably got the older version of the fpit driver. I also had to adjust the MaximumXPosition and MaximumYPosition numbers to make the mouse pointer matchup better with the pen position on the touchscreen.

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.

Jon Omiatek April 4th, 2005 01:29 PM

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

Rob Lohman April 5th, 2005 03:19 AM

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).

David Suthers April 5th, 2005 07:04 AM

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

Jon Omiatek April 5th, 2005 07:17 AM

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.

Jon Omiatek April 5th, 2005 07:22 AM

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!

David Suthers April 5th, 2005 07:31 AM

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....

Jon Omiatek April 5th, 2005 09:13 AM

Yes, that would be cool. Rare to find one with completely junk heads. Give it some time :)

Jacob Ehrichs April 5th, 2005 02:30 PM

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?

David Suthers April 5th, 2005 08:43 PM

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.


All times are GMT -6. The time now is 03:10 AM.

DV Info Net -- Real Names, Real People, Real Info!
1998-2024 The Digital Video Information Network