Pinnacle Systems produces digital video hardware and software.
One of their external analog to digital converter boxes is the Pinnacle MovieBox DV. Like the name MovieBox DV suggests it's connected to your computer via the firewire ([ieee1394]) interface. I bought it because I thought it has an realtime MPEG hardware encoder. Returning home I discovered that it is actually an analog to DV converter which is better because:
This page covers some experiences with the MovieBox DV. Generally you can transcode grabbed data like described on DVtoDVD or just use the script described and provided in Dvtodvd.Sh. Please read also video codecs/DV, Camcorders and Interlacing.
Just plug in audio and video cables, plug in the firewire cable to DV Port B and choose the correct input (Composite/SVHS) with the select button on your MovieBox DV.
From the manual:
DIP switches "One" and "Two":
1 | 2 | Audio Rate |
Off | Off | 48 kHz 16 Bit |
On | Off | 32 kHz 12 Bit |
Off | On | 44,1 kHz 16 Bit |
On | On | 32 kHz 16Bit |
DIP switch "Four":
4 | Audio Input Level |
Off | 1 V (RMS) |
On | 2 V (RMS) |
The other DIP switches are reserved or for country TV norm settings.
The most simple way is something like that:
A better way to access it is with the raw1394 device and [dvgrab] (don't forget a "modprobe raw1394"):
You can also use the --size 0 option to dvgrab if you don't want dvgrab to split a huge recording in single files. But I recommend dvgrab splitting because transcode can handle directories and you also might want to cut off some garbage at the start and the end of your recording (i.e. with [kino] or "dd bs=144000 ...") which is more easy with a couple of small files.
I use ffmpeg two pass encoding with 2 B frames, toolame for audio, clipping some 'dust' lines, some gamma correction, two filters and the following ~/.transcode/ffmpeg.cfg
[mpeg2video] vrc_maxrate=7500 dark_mask=0.1 vhq=1 vmax_b_frames=2
First pass ignores audio
transcode -i dvgrab -x ffmpeg,dv --pre_clip 4,0,4,0 -j -4,0,-4,0 -G 0.8 -J unsharp=luma=-1:luma_matrix=5x5:chroma=-1:chroma_matrix=5x5:pre=1 -J hqdn3d=pre=1 -w 6000 -b 224 -s 1.8 -N 0x50 -o jungle1v -m jungle1a -y ffmpeg,null --export_prof dvd-pal --export_asr 2 --encode_fields b -R1,ffmpeg.log
Second pass
transcode -i dvgrab -x ffmpeg,dv --pre_clip 4,0,4,0 -j -4,0,-4,0 -G 0.8 -J unsharp=luma=-1:luma_matrix=5x5:chroma=-1:chroma_matrix=5x5:pre=1 -J hqdn3d=pre=1 -w 6500 -b 224 -s 1.8 -N 0x50 -o jungle2v -m jungle1a -y ffmpeg,toolame --export_prof dvd-pal --export_asr 2 --encode_fields b -R 2,ffmpeg.log
I tried some filters/denoisers, but hqdn3d doesn't work well because the video tape contains much too much noise (connected via composite). With the unsharp filter (blur values around -0.5 to -1, matrices 3x3 or 5x5) and the followed hqdn3d I got good quality. The clipping blacks out the 4 upper and 4 lower lines.
you will maybe run into a bug of transcode (I use v. 0.6.14): Because my DV source is already 720x576 the zoom will be in transcode internally set to off (ignoring any clipping). Here's a dirty bugfix:
--- transcode-0.6.14.orig/src/transcode.c 2004-11-03 04:45:38.000000000 +0100 +++ transcode-0.6.14/src/transcode.c 2005-03-18 13:54:40.000000000 +0100 @@ -2920,14 +2920,14 @@ } } + if (pre_clip) pre_im_clip = TC_TRUE; + //FIXME hack, kludge, etc. EMS if( (vob->im_v_height != vob->zoom_height) || ((vob->im_v_width != vob->zoom_width) && (vob->ex_v_width != 704))) zoom = TC_TRUE; else - zoom = TC_FALSE; - - if (pre_clip) pre_im_clip = TC_TRUE; + if (pre_im_clip != TC_TRUE) zoom = TC_FALSE; printf("XXX: zoom=%s pre_clip=%s\n", zoom?"yes":"no", pre_im_clip?"yes":"no");
Content of ~/.transcode/ffmpeg.cfg:
[mpeg2video] vrc_maxrate=5000 vhq=1 vmax_b_frames=2
First pass:
transcode -i dvgrab -x ffmpeg,dv --pre_clip 4,0,4,0 -j -4,9,-4,9 -Z 720x576 -G 0.94 -J unsharp=luma=-1:luma_matrix=5x5:chroma=-0.5:chroma_matrix=3x3:pre=1 -J hqdn3d=luma=3:chroma=2:luma_strength=3:chroma_strength=3:pre=1 -w 2800 -b 224 -s 1.3 -N 0x50 -o hitch1v -m hitch1a -y ffmpeg,null --export_prof dvd-pal --export_asr 2 --encode_fields b -R1,ffmpeg.log
Second pass:
transcode -i dvgrab -x ffmpeg,dv --pre_clip 4,0,4,0 -j -4,9,-4,9 -Z 720x576 -G 0.94 -J unsharp=luma=-1:luma_matrix=5x5:chroma=-0.5:chroma_matrix=3x3:pre=1 -J hqdn3d=luma=3:chroma=2:luma_strength=3:chroma_strength=3:pre=1 -w 2800 -b 224 -s 1.3 -N 0x50 -o hitch1v -m hitch1a -y ffmpeg,toolame --export_prof dvd-pal --export_asr 2 --encode_fields b -R2,ffmpeg.log
The options mean (summary):
With these settings I put both parts (together approx. 190mins) on one DVD.
Hint: To get the max amplification factor I use ecasound.
tccat -i dvgrab -d 0 | tcdecode -x dv -y pcm -d 0|ecasound -f:16,2,48000 -i stdin -ev -o:null