Capture HDV in GNU/Linux
Posted: Mon Jul 15, 2013 6:10 pm
Capturing HDV video off a DV tape is nothing new.
However, this thread is going to document how to capture HDV using only Free Software - and making sure that the capture process is getting all the bits without any interference anywhere (no silent transcoding or similar things).
1) The capture tool: "dvgrab"
"dvgrab" is a tool for capturing DV/HDV streams - in most cases over Firewire (IEEE1394).
"dvgrab" is the engine behind the video recording/editing tool "Kino", and although there haven't been any changes to it since September 2009, it is considered stable, widely used and documented - and available out-of-the-box on most GNU/Linux distributions.
We will use dvgrab for the actual transfer process of the video bitstream from tape to disk.
Here's the most straightforward, basic mode of operations for HDV:
(The "--size 0" argument causes dvgrab to capture one single, big file)
Due to dvgrab being a commandline-only tool, it does not have visual monitoring built-in.
Thanks to pipes and the popular Unix philosophy, this ain't a problem:
2) Monitoring the captured video:
I'll show 2 ways for you to do it:
However, this thread is going to document how to capture HDV using only Free Software - and making sure that the capture process is getting all the bits without any interference anywhere (no silent transcoding or similar things).
1) The capture tool: "dvgrab"
"dvgrab" is a tool for capturing DV/HDV streams - in most cases over Firewire (IEEE1394).
"dvgrab" is the engine behind the video recording/editing tool "Kino", and although there haven't been any changes to it since September 2009, it is considered stable, widely used and documented - and available out-of-the-box on most GNU/Linux distributions.
We will use dvgrab for the actual transfer process of the video bitstream from tape to disk.
Here's the most straightforward, basic mode of operations for HDV:
Code: Select all
$ dvgrab -f hdv --size 0 <basename>
Due to dvgrab being a commandline-only tool, it does not have visual monitoring built-in.
Thanks to pipes and the popular Unix philosophy, this ain't a problem:
...so we can even choose which tool to use for monitoring."Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features."
2) Monitoring the captured video:
I'll show 2 ways for you to do it:
- 2a) ffplay (ffmpeg):
Thanks to a post by Daniel Jircik's on the Cinelerra mailing list about dvgrab+HDV+monitoring (November 2011).
Code: Select all
$ dvgrab -f hdv --size 0 -showstatus <basename> - | ffplay -f mpegts -x 640 -y 360 -
- 2b) VLC:
Based on information found in an article about live streaming of HDV/DV and VLC's Chapter 03: "Advanced Streaming Using the Commandline" documentation.
Code: Select all
$ dvgrab -f hdv --size 0 -showstatus - | vlc -v - --sout '#duplicate{dst=display,dst=standard{mux=ts,access=file,dst=<basename>.m2t}}'