No alternative text provided

Digitizing Old Digital8 & Hi8 Tapes with a Sony Handycam and FireWire on Linux

A while back, I realized my aunt had a treasure trove of old tapes β€” childhood moments with me and my cousins β€” all stuck on aging Digital8 and Hi8 formats. Losing access to those memories felt like a tragedy waiting to happen. I wanted to digitize them, not just to keep a copy, but to be able to one day show them to my kids.

Commercial digitization services? Expensive. So, I went full DIY πŸ§‘β€πŸ”§

Step 1: Finding the Right Camera

I needed a camcorder that could read both Digital8 and Hi8 tapes. After a bit of research and price checking, I found a Sony DCR-TRV238E on Label EmmaΓΌs for just over 100€.

πŸ” Pro tip: There were also some on Leboncoin, but they were significantly pricier. Seems like some people are flipping these for a living.

Step 2: Getting FireWire (IEEE 1394) Working

The camera outputs video via FireWire, so I got a PCI-E FireWire card from Amazon for 18€: πŸ‘‰ https://www.amazon.fr/dp/B09MDGXG56

BUT... plot twist: My only available PCI-E slot was already taken by my GPU. πŸ˜…

The workaround

My motherboard has two M.2 NVMe slots, which are actually PCI-E compatible. So I got this adapter: πŸ‘‰ https://www.amazon.fr/dp/B0CKYZ35GY
Only 8€, and it worked flawlessly! The FireWire card was instantly recognized by Linux. πŸŽ‰

Step 3: Capturing Video with dvgrab

Once everything was connected:

1dvgrab -size 0 tape1

dvgrab automatically starts the tape playback and writes a tape1_0001.dv file.
These .dv files are huge β€” around 18GB for 90 minutes β€” so compression was next.

Step 4: Transcoding with ffmpeg

To save space and make the videos more manageable, I transcoded them using ffmpeg with hardware acceleration (NVENC) and added deinterlacing via bwdif:

1ffmpeg -hwaccel auto -i tape1_001.dv -filter:v "bwdif=mode=send_field:parity=auto:deint=all" \
2-c:v hevc_nvenc -vtag hvc1 -rc vbr -cq 23 -tune uhq -preset slow -multipass fullres \
3-profile:v main10 -pix_fmt p010le -rc-lookahead:v 32 -refs:v 16 -b:v 0K \
4-c:a aac -b:a 128k -movflags faststart tape1.mp4

This produces a clean, deinterlaced .mp4 using H.265 (HEVC) + AAC audio.

Troubleshooting: Cable Quality Matters

At some point, I had issues: the PC would randomly reboot or freeze mid-capture, while playback continued on the camcorder 😬
Turned out the FireWire cable bundled with the extension card was low quality.

I replaced it with this one: πŸ‘‰ https://www.amazon.fr/dp/B0CFFCPR5Q

After that: solid as a rock πŸͺ¨


In Summary

  • Camera: Sony DCR-TRV238E (100€)
  • FireWire card: PCI-E + M.2 adapter (18€ + 8€)
  • FireWire cable: decent quality one (12€)
  • Capture software: dvgrab
  • Transcoding: ffmpeg + NVENC + bwdif deinterlace
  • OS: Linux 🐧

This setup cost me under 150€, gave me full control, and worked like a charm.

Now, I've got all those childhood memories safe and sound on my NAS πŸ’ΎπŸ₯Ή

Next step: editing a "best of" clip to share with the fam 🎬