Showing posts with label firewire. Show all posts
Showing posts with label firewire. Show all posts

Thursday, May 19, 2011

Windows 7: Video Programs Don't See the Camcorder

I was trying to download video from a digital video (DV) camcorder via Firewire (IEEE 1394) cable.  This particular camcorder had no USB option.  Unfortunately, the computer was not seeing the camcorder.  The device wasn't showing up in Windows Explorer, and my video editing program was reporting "No DV camera detected."  I ran a search and saw that others had a similar problem.  I'd had this problem previously, on Windows XP, but since then I had successfully downloaded video to this computer running Windows 7.  I wasn't sure why things had suddenly changed.  The solution, previously, had been to boot into Ubuntu and use dvgrab.  I no longer had an Ubuntu installation on this computer.  My exploration of alternatives led to the possibility of creating a custom Ubuntu boot CD, using Remastersys, to include dvgrab.  Before reaching that point, though, a look into Win7's Device Manager > Imaging Devices > right-click on the camcorder > Properties > General tab generated this error message:

Windows cannot start this hardware device because its configuration information (in the registry) is incomplete or damaged.  (Code 19)
That led to a different search.  Like others, I did get the Windows sound indicating that a device had been plugged in; I just didn't get recognition of the device.  I had tried uninstalling the item from Device Manager, on the theory that the camcorder should have been appearing in the "Sound, video and game controllers" section of Device Manager, not under "Imaging devices," but it came back as an imaging device again.  In Device Manager > right-click on the camcorder > Properties > Driver tab > Update Driver > Search automatically, I got the reply, "The best driver software for your device is already installed."  I thought maybe I could double-check that by visiting the camcorder manufacturer's website for the latest driver.  But now I wondered:  had I not completely uninstalled the Firewire driver in my previous try?  I also recognized, at this point, that I had not included a specific reference to "Code 19" (above) in my previous search, so I tried again.  A page at About.com listed a number of troubleshooting steps.  One that I had not tried and that seemed especially relevant was to delete the UpperFilters and LowerFilters values in the registry via Start > type Regedit > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class, as indicated in an About.com tutorial.  At that location, as indicated by a table showing device class GUIDs, it seemed I was looking for the GUID for either "Imaging Devices" (which was where Device Manager was actually showing the camcorder) or for "Sound, video and game controllers" (which was where the other source, above, said the camcorder should have been appearing).  The GUID table did not have precisely those same options.  Instead, it had entries for Video Adapters, for the IEEE 1394 host controller, for Cameras and Scanners, and for Audio and Video Devices.  I decided to start with the IEEE 1394 host controller.  The table said the GUID for that was 6BDD1FC1-810F-11D0-BEC7-08002BE2092F.  I looked for that number under the Class registry location (above).  I found it and clicked on it.  The tutorial said that I should now see UpperFilters and LowerFilters values.  I didn't.  In that case, the tutorial said, this wasn't the right solution for me.  Just in case, I tried clicking on the Properties item under that GUID.  This produced an error:
Error Opening Key
Properties cannot be opened.
An error is preventing this key from being opened.
Details: Access is denied.
So, hmm, that could be either part of the same problem, or yet another problem.  I backed up and tried checking the GUID for Cameras and Scanners.  According to the table (above), that GUID was 6BDD1FC6-810F-11D0-BEC7-08002BE2092F, almost the same as the one just examined.  Under that one, I did see a LowerFilters entry, but nothing for UpperFilters.  The tutorial said that was OK, just delete whichever one did appear there.  So I clicked on the LowerFilters item and hit the Delete key.  I got a warning asking me to confirm, and noting that this could cause system instability.  I went with it and then, as advised, I closed down everything and rebooted.  Before rebooting, just for good measure, I right-clicked on the item in Device Manager that had the yellow triangle and black exclamation mark next to it -- that is, the camcorder entry under Imaging Devices (above) -- and selected uninstall.  On reboot, that returned there; but this time, its Properties reported, "This device is working properly."  I tried downloading video from the camcorder again.  This time it worked.

So the solution, for me, this time, was to delete the UpperFilters and/or LowerFilters keys in the registry and perhaps also to try again at deleting that erring entry in Device Manager, and then reboot.

With that solution in place, it became unnecessary for me to pursue other leads I had identified.  These included another guide to delete the necessary registry keys in Windows XP and Vista, complete with a script to do it automatically; a guide to delete a different registry key -- in Vista, but apparently also applicable to Windows 7, with an alternate eHow presentation. 

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.