VHS Capture
Table of Contents
TODO
DN-300 Capture
DN-300 recording has advantage of being a standalone device, and recording setup is fairly simple and straight-forward. Disadvantages are no upscaling is minimal upscaling, no VBI (vertical blanking interval) capture, and any adjustments must be done after capture.
Physical Setup
Configuration and Recording
The DN-300 can record DV files from analogue video sources, Composite CVBS, S-Video (Y/C) or Component Video (YUV (YPbPr)). It is not possible to record M2T (HDV) files from an analogue video input.
Recording a track
- Disconnect any DV/Firewire input to avoid interference.
- Set the analog input in Video Input Source menu
- Set to record .DV (RAW DV) in Record Formats menu
- Press the
Analog Input
button so that it is illuminated. You should see the video source on your output monitor. - Use the
Next
/Previous
buttons to select an empty track from the DN-300 track list (shows a duration of 00:00:00:00) - Press both the
Record
andPlay/Pause
buttons simultaneously and the DN-300 should start recording.
The counter should start counting and the REC symbol should appear
You can pause/resume a track recording, but once a track is stopped you must select a new empty track to record again.
Combining output files
Combine files with ffmpeg.
First create a text file with a list of the input files as below:
file '/path/to/file/dv01.dv' file '/path/to/file/dv01_01.dv' file '/path/to/file/dv01_02.dv' file '/path/to/file/dv01_03.dv' file '/path/to/file/dv01_04.dv' file '/path/to/file/dv01_05.dv' file '/path/to/file/dv01_06.dv'
Then run
ffmpeg -f concat -safe 0 -i video.txt -c copy video.avi
Or all at once, something like:
find ./ -type f -name '*.dv' -printf "file '%p'\n" | sort -n > video.txt; ffmpeg -f concat -safe 0 -i video.txt -c copy video.avi
Re-encoding
I re-encode with handbrake gui. It makes it easy to adjust cropping. I just stick with mkv/h264/aac for container/video/audio. Source is likely 29.97 FPS so maintain that. Enable decomb/deinterlace to remove interlacing artifacts.
Or here's how I tried it with ffmpeg
. -ss
and -to
specify timestamps. I used seconds based on ffplay's output. Then crop is specified as a width and height followed by starting position from top left (w:h:x:y). I attempted to produce a hardware encode version, but couldn't figure out how to apply the crop filter so it would work.
Note: crop may differ from the display picture because the crop is applied to the stored image, not based on the display aspect ratio.
ffmpeg -i input.avi -ss 8 -to 2563 -vf "crop=709:473:12:0,yadif=mode=1" -c:v libx264 -crf 18 -preset slower -c:a libopus output.mkv
Cut video (unnecessary with ffmpeg examples above)
Using mkvmerge (if you use mkv container) you can split the final encoded output. Note that splits must happen at keyframes so timestamps may not match the result.
The example below has two splits, and creates 3 files.
mkvmerge --split timestamps:00:00:40.000,02:22:25.000 -o final_file.mkv video.mkv