个人工具

UbuntuHelp:Firewire

来自Ubuntu中文

Wikibot讨论 | 贡献2009年5月12日 (二) 16:48的版本

跳转至: 导航, 搜索


Capturing video over Firewire

Introduction

This page explains how how to capture a Digital Video (DV) stream over IEEE1394 (Firewire) hardware with the Kino Video Editor.

Disclaimer

This section on using IEEE1394 is not written by a hardware expert, it probably contains mistakes, if you know something is wrong or missing please help improve this page for the next person by correcting it. DuncanLithgow

Requirements

Hardware

If your computer has no Firewire ports you can buy a PCI expansion card or PC Card. Be sure to check that your system's BIOS will support the card. You can ask for help at https://answers.launchpad.net/ubuntu

Software

Most Linux distributions, including Ubuntu, do not support file transfer via Firewire by default, so you will need some extra software. The dvgrab package uses a device file (also known as a node) in to act as an interface between your camera and video editor (in this case Kino) over the Firewire port. When you connect your camera and turn it on, the udev package should create one or more of the device files/nodes needed. The device file will be one of the following:

  • /dev/dv1394/0 (gives access to Firewire for video capture but not to the camera's controls)
  • /dev/raw1394 (gives raw access to Firewire and allows access to your cameras controls, but possesses a security risk)

Capturing DV over Firewire

Once your prefered is ready capture should work as follows: 1.#1 You plug in you DV camera, turn it on a press play 1.#1 udev detects the change and creates the required device nodes for communication with your camera. 1.#1 Start Kino and switch to the 'Capture' tab. Kino sees the device nodes are created and that you have permission to use them. Once Kino has seen the camera you can rewind your camera to the beginning of the tape again.

Troubleshooting

If Ubuntu doesn't automatically create a device node you can force their creation by typing the following in a Terminal:

gksudo modprobe raw1394 dv1394

This guide assumes you want to use /dev/dv1394/0, as this is the preferred method in Ubuntu as discussed in Launchpad Bug# 6290 An alternative, if you are able and it is safe, is to run Kino as root with the following command in a Terminal:

gksudo kino

If these tips do not work please file a bug in launchpad against Kino.

Before Ubuntu 7.10 (Gutsy)

Some versions of Kino from before Ubuntu 7.10 (Gutsy) may try /dev/raw1394 by default, which will fail for a normal user. You will see the error:

WARNING: raw1394 kernel module not loaded or failure to read/write /dev/raw1394!

Which is not a bug, it's a security feature which you can read about in an email about firewire security from Scott James Remnant. The easiest way around this for a user who is also the administrator of the computer is to run Kino from the command line as root. Changing permission to allow normal users access to /dev/raw1394

Ubuntu 7.10 (Gutsy Gibbon)

This version of Ubuntu and Kino only works for /dev/raw1394 - only available to root users. Connect and start your camera, start Kino as root and switch to the 'Capture' tab.

Ubuntu 8.04 (Hardy Heron)

For this release Kino has changed thier setup so that use of /dev/dv1394/0 is not enabled by default. Instead /dev/raw1394 is prefered. Because of this change Kino has been compiled incorrectly for use in Ubuntu, and only works for /dev/raw1394 - only available to root users. A correctly compiled version is available here: kino_1.3.0-2ubuntu0_i386.deb. This version will not install on Ubuntu 8.10.

Ubuntu 8.10 (Intrepid Ibix)

This version of Ubuntu and Kino has been compiled incorrectly, and only works for /dev/raw1394 - only available to root users. Connect and start your camera, start Kino as root and switch to the 'Capture' tab.

Other methods

Method 1. 'raw1396'

If you have physical control of your computer and there is no risk of the Firewire port being used to access your machine then this method may be suitable for you. But it is a security risk because anyone can connect to the Firewire port and access you kernel directly. This method makes a new group called firewire with control of the raw1394 device file, and your user a member of that group.

  1. Open 'System > Administration > Users and Groups'. Add a new group and call it firewire
  2. Open the firewire group and add your user name to this group.
  3. Start Nautilus as root by opening a terminal and typing
gksudo nautilus
  1. Find the file '/dev/raw1396' and from the right click context menu select 'Properties'
  2. Under the 'Permissions' tab make firewire the group of this file.

See Also

Page janitor: DuncanLithgow