Thursday, September 23, 2010

Downloading Video from Canon ZR800 MiniDV Camcorder

I got a great deal on a used Canon ZR800 video camera. I went out and shot some video, and then came home and tried to download it to the computer. That's where the fun began.

Canon provided no drivers or other software downloads to use with the camera.  The manual (p. 46) provided very little information in its "Connecting to a Computer" section.  It said you would need a Firewire cable and a Firewire (IEEE1394) connection on your computer, as well as video editing software and "the appropriate driver."  The manual said, "A driver is preinstalled on Windows operating systems later than Windows 98 Second Edition and Mac operating systems later than Mac OS 9, and will be installed automatically."  It also said, more disturbingly, "The video transfer may not work correctly depending on the software and the specifications of your computer."

The camera had a Firewire port, but Canon did not include a Firewire cable in the box.  That would have cost around $10, but I already had one.  I had used it with my previous camcorder, so I knew the cable and the computer connection worked.  The camera did not have a USB port, so the only other way of getting data from the tape inside the camcorder to the computer (other than buying or borrowing (from a friend or library) some other camcorder or tape drive) would have been to connect the camera to the computer with the supplied video and audio analog cables (for TV connection).  That would have given me a lower-quality analog copy, and would have done so at 1x speed, i.e., with the tape playing in the camcorder while the computer copied what it was receiving.  So it would have taken an hour to download an hour's worth of recording.

I had previously found Firewire connections to be rather flaky.  I realized that Firewire would transfer data much faster than USB 2.0, and that this was probably necessary for people who wanted to use the camcorder for live streaming video.  But since most people use a camcorder to go out and shoot video of places and events, a USB connection seemed like a good idea.  To me, that is.  Not to Canon.

I plugged in the camcorder's power cable, so that it would not have to rely on its battery for whatever came next.  I put the camcorder into Play mode, pulled off the plastic plug covering the several jacks along the side of the unit, and plugged the Firewire cable into the Firewire port under that cover.  I looked at the LCD display on the camcorder.  In the top center, it was flashing the letters "DV-IN."  The manual provided no indication of what this flashing might mean.

On the computer, using Windows XP SP3, I started Windows Movie Maker and clicked on "Capture from video device."  I got an error:  "A video capture device was not detected."  I tried again in Adobe Premiere Elements 7.  It said, "No DV camera detected."  I looked at Windows Explorer.  It did not show the presence of any new disk drive or partition.  In classic view, Control Panel > System > Hardware > Device Manager reported no problems for the IEEE 1394 Bus Host Controller.

There seemed to be a lot of people who had had problems getting their video from the ZR800 to the computer, and a lot of different possible solutions.  Cari suggested making sure that I had installed the Firewire drivers when I installed the computer's motherboard.  Unlike Hugo, though, in my case the camcorder was not listed under Imaging Devices in Device Manager.  I tried 3banana's suggestion of uninstalling the 1394 device in Device Manager (with a right-click) and then plugging in the Firewire cable and (still in Device Manager) choosing Action > Scan for hardware changes.  It added back the 1394 controller and also added a 1394 adapter under Network Adapters.  But unlike 3banana's outcome, mine still didn't detect the video camera.  Attempting to apply his/her suggestion nonetheless, I right-clicked on the 1394 controller and chose Update Driver > Install from a list or specific location > Next > Include this location:  C:\Windows.  But it wouldn't accept that location.  GavHendo recommended using a VGA to USB adapter, but that seemed unnecessary if not impossible.  Someone pointed toward a Microsoft webpage that said a Vista update solved the problem; but I wasn't using Vista.  AtomicProductionsNZ recommended a registry edit for those who were using 64-bit Vista.  Sharkbyte had a non-registry solution that involved copying files named 1394 from WinXP to Vista.

In a post that sounded like it might apply to my WinXP situation, CMahendra observed that his/her Sony Handycam's manual instructed the user to use only a 4-pin to 4-pin Firewire cable.  I hadn't known there was more than one kind.  Checking the jacks and the cable ends, I confirmed that my pins were not bent (unlike those of Brainstrain).  But -- surprise, surprise! -- my cable did have four tiny pins on the camera end, as needed to fit the camera, but it had six contacts, three on each side, on the computer end.  And that's what my computer's motherboard's Firewire connected needed.  So if the Sony and Canon were using the same Chinese manufacturer of Firewire-related hardware, then possibly a more helpful Canon manual would have said what Sony's manual said about using four pins on both ends.  I didn't have a 4-to-4 Firewire cable or jack.  A search for that kind of cable confirmed that it existed and could probably be had for about $7-10 total.  It would have the same kind of small male plug on both ends.  Another possibility was just to buy a 6-to-4 adapter.  I decided that adapters, sticking out, can sometimes serve as a lever to break a jack, and also that sometimes adapters introduce new issues, so I thought the cable would be the better way to go.  For the four-pin jack on the computer end of the cable, I already had a Rosewill RC-501 adapter sitting around, and it had both the larger 6-pin and the smaller 4-pin jacks.  So all I really needed was the cable.  But Battman540 said that the four-pin approach did not solve the problem for him.  In an approach that wouldn't work for me (because my Firewire connector was on my motherboard), Reedvideo said s/he removed the Firewire card, restarted the computer, uninstalled the controller from Device Manager, shut down again, reinstalled the fireware card, and start back up, and then it worked.

In my playing around with it, I noticed something else.  When I connected Firewire to the WinXP desktop, I got the DV-IN indicator flashing at the top of the camera's LCD viewscreen.  But when I connected Firewire to a Ubuntu (Linux) desktop (also to a motherboard Firewire port), it wasn't flashing; it was solid on.  I dusted off a two-year-old post I had written when I was first discovering dvgrab in Ubuntu.  Following its advice, in Ubuntu's Applications > Accessories > Terminal, I typed "sudo chmod 666 /dev/raw1394" and then "dvgrab."  And just like before, it started capturing video right then and there.  I killed Terminal, used the controls on the camera to rewind the tape to the start, and tried it again.  As it had done two years earlier, dvgrab saved the camera's output into a set of 1000MB files, each not quite five minutes (4:51) long, named dvgrab-001.dv, dvgrab-002.dv, etc., in my Ubuntu home folder.  It hadn't previously occurred to me to check out dvgrab's options, but now typing "man dvgrab" in a separate Terminal session revealed that I could have told dvgrab to start a new file whenever a new recording started.  It looked like I could also have specified the length of the files as well as their format (avi, mpeg2, etc.).  There was a boatload of options, actually.  (Those without an Ubuntu installation might be able to do this with an Ubuntu Live CD.)

Anyway, as suggested in another two-year-old post, I didn't bother investigating the current state of Ubuntu video editing tools at this point; instead, I moved the .dv files over to the Windows machine, converted them to .avi with VideoDub, and combined and edited them in Adobe Premiere Elements.  So Ubuntu's dvgrab was the answer for the moment; it worked with my 4-to-6-pin cable where Windows XP would not.  This posed the question of whether there would have been a way to use dvgrab on a Windows machine, if I hadn't had an Ubuntu machine.  I discussed that question in a separate post.