个人工具

“UbuntuHelp:Firewire”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
第1行: 第1行:
 
{{From|https://help.ubuntu.com/community/Firewire}}
 
{{From|https://help.ubuntu.com/community/Firewire}}
 
{{Languages|UbuntuHelp:Firewire}}
 
{{Languages|UbuntuHelp:Firewire}}
 
 
 
== Capturing video over Firewire ==
 
== Capturing video over Firewire ==
 
 
=== Disclaimer ===
 
=== Disclaimer ===
 
 
This is being written as I try to understand the issues myself, there are probably some mistakes so I suggest you do your own research. If you know something is wrong or missing please help improve this page for the next person by correcting it. DuncanLithgow
 
This is being written as I try to understand the issues myself, there are probably some mistakes so I suggest you do your own research. If you know something is wrong or missing please help improve this page for the next person by correcting it. DuncanLithgow
 
 
=== Hardware ===
 
=== Hardware ===
 
 
Almost all modern digital camcorders have included an IEEE1394 port (commonly called Firewire) since 1995. Many computers intended for home or professional audio/video use have built-in Firewire ports. You can read more general notes about firewire in the Wikipedia entry: http://en.wikipedia.org/wiki/IEEE_1394 . Firewire is the common name for the standard known as IEEE1394.
 
Almost all modern digital camcorders have included an IEEE1394 port (commonly called Firewire) since 1995. Many computers intended for home or professional audio/video use have built-in Firewire ports. You can read more general notes about firewire in the Wikipedia entry: http://en.wikipedia.org/wiki/IEEE_1394 . Firewire is the common name for the standard known as IEEE1394.
 
 
You should note that if you plan on buying an expansion card (PCI) to support IEEE1394 you must be sure that your system BIOS supports it.
 
You should note that if you plan on buying an expansion card (PCI) to support IEEE1394 you must be sure that your system BIOS supports it.
 
 
=== Software ===
 
=== Software ===
 
 
You'll need some software to capture from a Firewire port. This page looks at using version 0.8 or later of Kino, a popular home video editing suite. The current version can be found on the [http://www.kinodv.org/ Kino Website]. A stable version of Kino is available in the Ubuntu repositories . The Kino software package (more precisely dvgrab) uses a  device file supplied as part of Ubuntu (also called a node) to acts as an interface between Kino, Firewire and your camera. When you connect your camera and turn it on, the udev package should create one or more of the device files needed. If Ubuntu doesn't create a device node you will need to give it a kick with
 
You'll need some software to capture from a Firewire port. This page looks at using version 0.8 or later of Kino, a popular home video editing suite. The current version can be found on the [http://www.kinodv.org/ Kino Website]. A stable version of Kino is available in the Ubuntu repositories . The Kino software package (more precisely dvgrab) uses a  device file supplied as part of Ubuntu (also called a node) to acts as an interface between Kino, Firewire and your camera. When you connect your camera and turn it on, the udev package should create one or more of the device files needed. If Ubuntu doesn't create a device node you will need to give it a kick with
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo modprobe dv1394
 
sudo modprobe dv1394
 
</nowiki></pre>
 
</nowiki></pre>
 
 
Depending on which version of Ubuntu you are running the device node can be any one of:
 
Depending on which version of Ubuntu you are running the device node can be any one of:
 
 
* /dev/dv1394-0 (misnamed, same functionality as /dev/dv1394/0 )
 
* /dev/dv1394-0 (misnamed, same functionality as /dev/dv1394/0 )
 
* /dev/dv1394/0 (gives access to Firewire for video capture but not to the camera's controls)
 
* /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 poses a security risk)
 
* /dev/raw1394 (gives raw access to Firewire and allows access to your cameras controls, but poses a security risk)
 
 
This guide assumes you want to use dv1394/0 as this is the preferred method. A discussion of why 'dv1394/0' is prefered can be seen in Launchpad Bug#
 
This guide assumes you want to use dv1394/0 as this is the preferred method. A discussion of why 'dv1394/0' is prefered can be seen in Launchpad Bug#
 
 
Start Kino and open the 'Capture' tab. Kino will attempt to connect to your firewire port and detect any device there. Kino tries /dev/raw1394 by default, which will fail. You will see the error:
 
Start Kino and open the 'Capture' tab. Kino will attempt to connect to your firewire port and detect any device there. Kino tries /dev/raw1394 by default, which will fail. You will see the error:
 
 
{|border="1" cellspacing="0"
 
{|border="1" cellspacing="0"
 
| WARNING: raw1394 kernel module not loaded or failure to read/write /dev/raw1394!  
 
| WARNING: raw1394 kernel module not loaded or failure to read/write /dev/raw1394!  
 
|}
 
|}
 
 
... and that's the way it's meant to be. In [https://lists.ubuntu.com/archives/ubuntu-devel/2006-March/016593.html an email] from Scott James Remnant the reason is given as this:
 
... and that's the way it's meant to be. In [https://lists.ubuntu.com/archives/ubuntu-devel/2006-March/016593.html an email] from Scott James Remnant the reason is given as this:
 
 
"The problem is that the raw IEEE1394 device is literally just that; raw
 
"The problem is that the raw IEEE1394 device is literally just that; raw
 
access to the IEEE1394 stack!  This means that anyone with write access
 
access to the IEEE1394 stack!  This means that anyone with write access
第44行: 第27行:
 
because of the nature of Firewire, they may execute arbitrary code on
 
because of the nature of Firewire, they may execute arbitrary code on
 
the host system as root!"
 
the host system as root!"
 
 
As there is not one single solution to this I have made the list below. I hope you find a method that helps.
 
As there is not one single solution to this I have made the list below. I hope you find a method that helps.
 
 
If these tips do not work please [https://bugs.launchpad.net/ubuntu/+source/kino/+filebug file a bug in launchpad against Kino].
 
If these tips do not work please [https://bugs.launchpad.net/ubuntu/+source/kino/+filebug file a bug in launchpad against Kino].
 
 
==== Ubuntu 6.06 (Dapper Drake) ====
 
==== Ubuntu 6.06 (Dapper Drake) ====
 
Kino 0.9 can only be installed from source. Under 'Edit > Preferences > Capture > dv1394 Device' change the value to '/dev/dv1394-0'.
 
Kino 0.9 can only be installed from source. Under 'Edit > Preferences > Capture > dv1394 Device' change the value to '/dev/dv1394-0'.
 
 
==== Ubuntu 6.10 (Edgy Eft) ====
 
==== Ubuntu 6.10 (Edgy Eft) ====
 
''Specific to Ubuntu 6.10 and Kino 0.9:''
 
''Specific to Ubuntu 6.10 and Kino 0.9:''
 
Kino 0.9 can be installed from the main repository. Under 'Edit > Preferences > Capture > dv1394 Device' change the value to '/dev/dv1394/0'. (If you can't start Kino make sure you do not have kinoplus installed [https://launchpad.net/distros/ubuntu/+source/kinoplus/+bug/66537 bug 66537])
 
Kino 0.9 can be installed from the main repository. Under 'Edit > Preferences > Capture > dv1394 Device' change the value to '/dev/dv1394/0'. (If you can't start Kino make sure you do not have kinoplus installed [https://launchpad.net/distros/ubuntu/+source/kinoplus/+bug/66537 bug 66537])
 
 
==== Ubuntu 7.04 (Feisty Fawn) ====
 
==== Ubuntu 7.04 (Feisty Fawn) ====
 
 
==== Ubuntu 7.10 (Gutsy Gibbon) ====
 
==== Ubuntu 7.10 (Gutsy Gibbon) ====
 
 
To access your video camera you will need to run Kino (version 1.1.0) as root, type the following into a terminal:
 
To access your video camera you will need to run Kino (version 1.1.0) as root, type the following into a terminal:
 
gksudo kino
 
gksudo kino
 
 
=== Other methods ===
 
=== Other methods ===
 
 
==== Method 1. 'dv1394-0' ====
 
==== Method 1. 'dv1394-0' ====
 
 
Once there's a device file for IEEE1384 as outlines above, in Kino go to 'Edit > Preferences' and select the 'IEEE 1394' tab. There are two values you can set. Any detected cameras should be listed under 'AV/C Device', but it may still work if your camera is not seen at first.
 
Once there's a device file for IEEE1384 as outlines above, in Kino go to 'Edit > Preferences' and select the 'IEEE 1394' tab. There are two values you can set. Any detected cameras should be listed under 'AV/C Device', but it may still work if your camera is not seen at first.
 
 
Now go back to the 'Capture' tab and press Play on your camera just before clicking the 'Capture' button. The cameras controls are not accessable via dv1394 but if the DV tape is rewound before starting, that won't be a problem.
 
Now go back to the 'Capture' tab and press Play on your camera just before clicking the 'Capture' button. The cameras controls are not accessable via dv1394 but if the DV tape is rewound before starting, that won't be a problem.
 
 
==== Method 2. 'raw1396' ====
 
==== Method 2. 'raw1396' ====
 
 
This section needs revision:
 
This section needs revision:
 
 
(Kino 0.9 installed from source will not access raw1394)
 
(Kino 0.9 installed from source will not access raw1394)
 
 
One way around the read/write permissions of raw1394 is to give the user read and write permission on the raw1394 device file - this is a security risk. (See [FilePermissions File Permissions] for help) Anyone with physical access to the firewire port (and enough cunning) can use it to control the computer. The currently prefered way to minimise this risk is to add raw1394 to a new group - 'firewire' and make the user a member with read/write permission. To do this select 'System > Adinistration > Users and Groups'. In the 'groups' tab select 'add group' and call the new group 'firewire'. Add your users group to the new 'firewire' group. Now open nautilus as root and navigate to the /dev/raw1394 device file with:
 
One way around the read/write permissions of raw1394 is to give the user read and write permission on the raw1394 device file - this is a security risk. (See [FilePermissions File Permissions] for help) Anyone with physical access to the firewire port (and enough cunning) can use it to control the computer. The currently prefered way to minimise this risk is to add raw1394 to a new group - 'firewire' and make the user a member with read/write permission. To do this select 'System > Adinistration > Users and Groups'. In the 'groups' tab select 'add group' and call the new group 'firewire'. Add your users group to the new 'firewire' group. Now open nautilus as root and navigate to the /dev/raw1394 device file with:
 
 
<pre><nowiki>
 
<pre><nowiki>
 
gksudo nautilus
 
gksudo nautilus
 
</nowiki></pre>
 
</nowiki></pre>
 
 
In the context menu under 'permissions' change the file permissions to allow read and write access to members of the 'firewire' group (which includes your user). Now you should be able to capture.
 
In the context menu under 'permissions' change the file permissions to allow read and write access to members of the 'firewire' group (which includes your user). Now you should be able to capture.
 
 
==== Method 3. 'video1394' ====
 
==== Method 3. 'video1394' ====
 
 
Apparently the dv1394 device, and video1394, are set up to allow users in the video group to read and write to them. So try and add yourself to the video group.
 
Apparently the dv1394 device, and video1394, are set up to allow users in the video group to read and write to them. So try and add yourself to the video group.
 
 
=== Method 4. 'as root'===
 
=== Method 4. 'as root'===
 
 
If the methods above haven't helped, try also running kino as root, that might get around a few things.
 
If the methods above haven't helped, try also running kino as root, that might get around a few things.
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo kino
 
sudo kino
 
</nowiki></pre>
 
</nowiki></pre>
 
 
==== Method 5. 'GROUP=video' ====
 
==== Method 5. 'GROUP=video' ====
 
 
In order to enable dv capturing with Feisty you just have to modify the file  "/etc/udev/rules.d/40-permissions.rules" and change
 
In order to enable dv capturing with Feisty you just have to modify the file  "/etc/udev/rules.d/40-permissions.rules" and change
 
 
KERNEL==”raw1394″, GROUP=”disk”
 
KERNEL==”raw1394″, GROUP=”disk”
 
to
 
to
 
KERNEL==”raw1394″, GROUP=”video”
 
KERNEL==”raw1394″, GROUP=”video”
 
 
Then just add "ieee1394" (without quotation marks) to "/etc/modules"
 
Then just add "ieee1394" (without quotation marks) to "/etc/modules"
 
 
**** Be aware that you can have problems in watching dv videos with compiz enabled ****
 
**** Be aware that you can have problems in watching dv videos with compiz enabled ****
 
 
== See Also ==
 
== See Also ==
 
 
* BootFromFirewireHardDisk
 
* BootFromFirewireHardDisk
 
* EthernetOverFirewire
 
* EthernetOverFirewire
 
 
----
 
----
 
[[category:CategoryHardware]] [[category:CategoryCleanup]]
 
[[category:CategoryHardware]] [[category:CategoryCleanup]]
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2007年11月30日 (五) 17:16的版本


Capturing video over Firewire

Disclaimer

This is being written as I try to understand the issues myself, there are probably some mistakes so I suggest you do your own research. If you know something is wrong or missing please help improve this page for the next person by correcting it. DuncanLithgow

Hardware

Almost all modern digital camcorders have included an IEEE1394 port (commonly called Firewire) since 1995. Many computers intended for home or professional audio/video use have built-in Firewire ports. You can read more general notes about firewire in the Wikipedia entry: http://en.wikipedia.org/wiki/IEEE_1394 . Firewire is the common name for the standard known as IEEE1394. You should note that if you plan on buying an expansion card (PCI) to support IEEE1394 you must be sure that your system BIOS supports it.

Software

You'll need some software to capture from a Firewire port. This page looks at using version 0.8 or later of Kino, a popular home video editing suite. The current version can be found on the Kino Website. A stable version of Kino is available in the Ubuntu repositories . The Kino software package (more precisely dvgrab) uses a device file supplied as part of Ubuntu (also called a node) to acts as an interface between Kino, Firewire and your camera. When you connect your camera and turn it on, the udev package should create one or more of the device files needed. If Ubuntu doesn't create a device node you will need to give it a kick with

sudo modprobe dv1394

Depending on which version of Ubuntu you are running the device node can be any one of:

  • /dev/dv1394-0 (misnamed, same functionality as /dev/dv1394/0 )
  • /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 poses a security risk)

This guide assumes you want to use dv1394/0 as this is the preferred method. A discussion of why 'dv1394/0' is prefered can be seen in Launchpad Bug# Start Kino and open the 'Capture' tab. Kino will attempt to connect to your firewire port and detect any device there. Kino tries /dev/raw1394 by default, which will fail. You will see the error:

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

... and that's the way it's meant to be. In an email from Scott James Remnant the reason is given as this: "The problem is that the raw IEEE1394 device is literally just that; raw access to the IEEE1394 stack! This means that anyone with write access to that device can access any device connected to the Firewire port, and because of the nature of Firewire, they may execute arbitrary code on the host system as root!" As there is not one single solution to this I have made the list below. I hope you find a method that helps. If these tips do not work please file a bug in launchpad against Kino.

Ubuntu 6.06 (Dapper Drake)

Kino 0.9 can only be installed from source. Under 'Edit > Preferences > Capture > dv1394 Device' change the value to '/dev/dv1394-0'.

Ubuntu 6.10 (Edgy Eft)

Specific to Ubuntu 6.10 and Kino 0.9: Kino 0.9 can be installed from the main repository. Under 'Edit > Preferences > Capture > dv1394 Device' change the value to '/dev/dv1394/0'. (If you can't start Kino make sure you do not have kinoplus installed bug 66537)

Ubuntu 7.04 (Feisty Fawn)

Ubuntu 7.10 (Gutsy Gibbon)

To access your video camera you will need to run Kino (version 1.1.0) as root, type the following into a terminal: gksudo kino

Other methods

Method 1. 'dv1394-0'

Once there's a device file for IEEE1384 as outlines above, in Kino go to 'Edit > Preferences' and select the 'IEEE 1394' tab. There are two values you can set. Any detected cameras should be listed under 'AV/C Device', but it may still work if your camera is not seen at first. Now go back to the 'Capture' tab and press Play on your camera just before clicking the 'Capture' button. The cameras controls are not accessable via dv1394 but if the DV tape is rewound before starting, that won't be a problem.

Method 2. 'raw1396'

This section needs revision: (Kino 0.9 installed from source will not access raw1394) One way around the read/write permissions of raw1394 is to give the user read and write permission on the raw1394 device file - this is a security risk. (See [FilePermissions File Permissions] for help) Anyone with physical access to the firewire port (and enough cunning) can use it to control the computer. The currently prefered way to minimise this risk is to add raw1394 to a new group - 'firewire' and make the user a member with read/write permission. To do this select 'System > Adinistration > Users and Groups'. In the 'groups' tab select 'add group' and call the new group 'firewire'. Add your users group to the new 'firewire' group. Now open nautilus as root and navigate to the /dev/raw1394 device file with:

gksudo nautilus

In the context menu under 'permissions' change the file permissions to allow read and write access to members of the 'firewire' group (which includes your user). Now you should be able to capture.

Method 3. 'video1394'

Apparently the dv1394 device, and video1394, are set up to allow users in the video group to read and write to them. So try and add yourself to the video group.

Method 4. 'as root'

If the methods above haven't helped, try also running kino as root, that might get around a few things.

sudo kino

Method 5. 'GROUP=video'

In order to enable dv capturing with Feisty you just have to modify the file "/etc/udev/rules.d/40-permissions.rules" and change KERNEL==”raw1394″, GROUP=”disk” to KERNEL==”raw1394″, GROUP=”video” Then just add "ieee1394" (without quotation marks) to "/etc/modules"

        • Be aware that you can have problems in watching dv videos with compiz enabled ****

See Also

  • BootFromFirewireHardDisk
  • EthernetOverFirewire