I’ve been doing some de-junking at our house, and in this process discovered a box of Mini-DV tapes. I’ve owned two cameras that can write to these – an old Sony that shot in the original DV format, and a Cannon HV20 that shot in HDV. I’ve tried to archive these in the past, but due to the very high bitrate of DV/HDV and low storage capacity (at least 5-10 years ago), plus the computer power needed to convert to a better archival format, I just didn’t do it. These days, with several terrabytes of free space and ample processing power, it finally made sense to start compressing these.

My main machine is a Windows 10 PC, with an i5-4690. I used ffmpeg to convert the videos. I ran several tests using x264 and x265 at various bitrates to get results that were of sufficient quality without being too large, as well as several de-interlacers (Both cameras shot interlaced video). The HDV footage was a little more annoying, as the 1080p standard uses non-square (4:3) pixels (1440×1080 instead of 1920×1080). I know it would reduce the quality slightly, but I resampled to 1920×1080 to ensure the output would play back correctly on all of our current devices, including anything connected to our TV.

I ended up with two scripts:

REM This is MS Batch, as this was running on my Windows PC
REM DV - the source is interlaced
ffmpeg -i %1 -f mp4 -threads 4 -vf scale=iw*sar:ih -vf bwdif -vcodec h264 -preset veryslow -crf 24 -acodec aac -ac 2 -ab 128k %1-x264.mp4
ffmpeg -i %1 -f mp4 -threads 4 -vf scale=iw*sar:ih -vf bwdif -vcodec hevc -tag:v hvc1 -preset slower -crf 26 -acodec aac -ac 2 -ab 128k %1-x265.mp4
REM HDV
ffmpeg -i %1 -f mp4 -threads 4 -vf bwdif -vcodec h264 -preset veryslow -crf 24 -acodec aac -ac 2 -ab 128k %1-x264.mp4
ffmpeg -i %1 -f mp4 -threads 4 -vf bwdif -vf scale=iw*sar:ih -vcodec libx265 -tag:v hvc1 -preset slow -crf 24 -acodec aac -ac 2 -ab 128k %1-x265.mp4

The resulting bitrates:

For DV:

  • x264: 1.7-3.5mpbs
  • x265: 1.3-2.7mbps

For HDV:

  • x264: 7.0mbps – 12mpbs, encode speed – 7.2fps
  • x265: 5.0mbps – 8mbps, encode speed – 6.5fps