Show HN: I built a CLI to automate depth tracking on underwater videos
github.comHey HN,
I built depthviz, an open-source CLI tool that generates depth & time overlay videos from dive logs. It supports dive computers (Garmin, Suunto, Shearwater, Apnealizer) and manual input for freedivers who want to enhance their footage with real-time dive data.
Why I Built It:
Adding dive data to videos manually is tedious. depthviz automates this by reading dive logs (.fit, .csv, .xml) from various sources, generating an overlay video with real-time depth, allowing full customization (fonts, colors, depth smoothing, stroke width), and running on Windows, macOS, and Linux.
How It Works:
Export a dive log from a dive computer or create a manual CSV. Run a single command. Then import the overlay into CapCut, Premiere Pro, DaVinci Resolve, etc.
Looking for Feedback On:
README – Is it clear, engaging, and well-structured? (Most wanted!) / Installation & Usability – Is the setup intuitive enough? / or Anything you'd expect from a tool like this?
GitHub: https://github.com/noppanut15/depthviz
Would love to hear your thoughts! Amazing! Readme looks quite well. Not a diving guy TBH , but im sure people into that will find it quite useful. Thank you so much! :) I wonder if you develop an ML model that uses brightness and color reduction cues in the video in order to estimate depth in lieu of a dive computer. I suspect cameras auto-exposure or underwater modes may nullify this. That’s a super interesting idea! But yea, one big issue is that it would limit how you shoot the video as well. If the camera accidentally catches the sun or a bright surface reflection, the exposure shift could throw off the depth estimation. Maybe locking exposure/white balance settings could help, but it would still be tricky. Definitely an interesting problem to tackle! Thanks for sharing! :) The README is indeed clear, engaging and well-structured! The Screencap gifs are pretty helpful to immediately understand the scope of the project. Thank you so much for the feedback! :) Does this also work for scuba diving logs / videos? Currently, I focus on freediving first. If you use Scuba dive log, it would work but take super long time to render. I will optimize it for long-dive support (i.e., Scuba diving) in the future release. Hi, Just to update that I've made it to support Scuba dive logs. Feel free to check it out! :)