search
top

Capturing Video using Firewire and dvgrab on Fedora 25

Introduction

In this post we will explore how to capture video with a firewire card. We will use dvgrab along with a GrassValley ADVC 110 firewire interface. To start we will need to make a few system changes and user id changes to make this happen on Fedora 25 or any other version of Fedora.

Getting Details

We can see what Fedora detected in several ways. One way is to use dmesg command and look for firewire_core. On this system example we see a two port firewire card.

The output shows us the device Fedora has chosen and GUID. We can also find the information in /var/log/messages and searching for firewire. The GUID information is useful to take note as if you have mutiple firewire devices connected you will need to use the GUID to tell dvgrab which interface to use.

 

Nov 23 14:18:02 fed25dv kernel: firewire_core 0000:04:00.0: created device fw0: GUID 0011223333666688, S400
Nov 23 14:18:02 fed25dv kernel: firewire_core 0000:04:00.0: created device fw1: GUID 002011011500acff, S400

Now that we know a bit about our device we can find more information. Fedora creates firewire devices under /dev using fw for the name prefix. Going to /dev we can see the devices.

By default the owner and group are root until the system sees a device is plugged in and powered on. Looking at the output you will notice video as the group owner of fw1. 

Running the command lspci -v shows us more detail on the card.

Getting Access

By default Fedora sets the video group as the owner of the firewire devices. To be able to capture using the device you will need to add your user id to the video group. To add your userid to the group type:

$ sudo usermod -a -G video <your id>

One last change is the permissions on the firewire devices. They need to be set to 666 for use. This will change each time the system is rebooted and will have to be reset with each use.

$ sudo chmod 666 /dev/fw1

We can create a udev rule that will take care of this each time automatically.

$ sudo vi /etc/udev/rules.d/40-udev.rules

Put in and save the following.

SUBSYSTEM==”firewire”, GROUP=”video”, MODE=”0666″

Capturing Using dvgrab

We are now ready to capture using dvgrab. Dvgrab is a command line capture utility which can capture from many different devices. In this case we will be using firewire so we will not have to pass many variables to capture. The drawback to dvgrab is you cannot see what you are capturing.

By default dvgrab will save in 1024 MB chunks which create a lot of files that you will have to piece together. If you have the space we recommend one big file to capture. You can set this using -s 0 to set the file to unlimited. By default dvgrab will save the files as dvgrab-xxx.xx where the first X’s are the number and the prefix is the filetype which are dv (raw), avi (dv1, dv2), dif, qt, mov, jpeg, jpg, mpg and hdv.

For instance say you want to save the files as myvideo- and one big capture file we would use

If we just wanted to save the video as is with dvgrab’s defaults we would just execute dvgrab.

Each time the 1024 MiB is reached dvgrab will give a status as shown above.

Change into the directory that you will be saving the captured video to and run the dvgrab command of your choice. Once the video is done you can press Ctrl+C to stop the capture and you are done.

There are many other options available for dvgrab, by typing dvgrab –help you can see other possibilities.

$ dvgrab –help

One other option is to capture and also view your progress by piping to ffplay or xine as an option.

dvgrab myvideo- -s 0  – |  xine stdin:/

dvgrab_preview

 

One Response to “Capturing Video using Firewire and dvgrab on Fedora 25”

  1. Benoit says:

    I just decided to import DV from my old cam recorder. Thanks for your post, it’ll help me to begin 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

top