video transcriber post
This commit is contained in:
+72
@@ -0,0 +1,72 @@
|
||||
%{
|
||||
title: "Video Transcriber - turn your videos into text with slides",
|
||||
author: "Willem van den Ende",
|
||||
tags: ~w(writing, local-models, open-weights, AI, agentic-engineering, speech-to-text),
|
||||
description: "In which the author uses a local ",
|
||||
image: nil,
|
||||
published: true
|
||||
}
|
||||
---
|
||||
|
||||
[Romily Cocking](https://github.com/romilly) made [Video Transcriber](https://github.com/romilly/video-transcriber), an open source tool that takes a video, transcribes the audio to text in a markdown file, and clips images every n seconds. It uses local models, so is great for transcribing private presentations and narrated sketch notes.
|
||||
|
||||
I attempted to write about Video Transcriber when I first used it nine months ago. But for me, improvisation and explanation don't mix very often, in the moment. I picked it back up to help me draft blog posts, starting from me talking with a virtual flip chart in hand. I am writing all my words organically again. Some typed, some translated from handwriting or voice notes and now images and words from a video.
|
||||
|
||||
Instead of using AI to write my words, I am using AI to build me small tools to get my words out. These tools may or may not contain AI themselves. In today's episode, I used a Speech-to-Text model together with a deterministic [computer vision library](https://opencv.org/). I only want to record an image (a 'slide' in the domain of Video Transcriber) whenever I stop dragging the canvas around, or stop drawing for a bit. The vision library allows deterministic code to do that. It can be used instead of the existing functionality in Video Transcriber that creates a slide every 15 or 30 seconds.
|
||||
|
||||
A regular pace does not seem to be a good fit for when I am sketching. I either sketch a lot, or talk a lot, but rarely at the same time.
|
||||
|
||||
|
||||
## What is Video Transcriber for?
|
||||
|
||||
It is originally intended to make youtube videos easier to skim and refer back to. Reading text is a lot faster than listening to words. If you missed something, you can quickly glance back in text, whereas in video you have to scroll back and wait for the moment that you missed - it is only obvious in hindsight where that was.
|
||||
|
||||
## Different tools for different purposes
|
||||
|
||||
For youtube videos I now use Gemini Notebook, because it already has the transcriptions. I do miss the visuals with it sometimes, and want to replace it with an open notebook that runs with local models when I want to. I hadn't used video transcriber in a while, but that changed last week.
|
||||
|
||||
## Getting words on the page
|
||||
|
||||
What I am interested now is a more effective *Brain to Blog* flow. I have many ideas that I want to explain better to others, and get feedback on, but getting words and pictures on paper is a struggle sometimes. I understand, friction is part of the learning, and I do not wish to remove all of it. But I have recently been Sketch noting again. Narrating while drawing does help me to get ideas on to paper and in audio. Talking after drawing also works. The second and third talk-throughs are usually more concise. It does help to sharpen the vocabulary.
|
||||
|
||||
I picked Video Transcriber back up to transcribe sketch notes. I sketch on my tablet, and make a screen recording with audio as I do it. Then transcribe it on a laptop and get a markdown file with images for significant moments out. It takes about half the time of the length of the video to do the transcription. For instance, on my laptop it transcribed a 6 minutes chat in 3 minutes, at the highest quality settings. No special hardware like fancy graphics cards required. I did explore graphics cards and wrote about that further down.
|
||||
|
||||
## Baby you can [code while I write](https://en.wikipedia.org/wiki/You_Can_Sleep_While_I_Drive)
|
||||
|
||||
While I was drafting this blog post, trying to explain while I did not write about it nine months ago, I set my coding agent to work on a wish. A 6 and a half sketch noting video yielded 81 'slides' (the systems metaphor is a transcriber for a presentation with slides). It would be nice if it only made a slide once I stopped dragging the infinite canvas around, or when I stopped writing for a bit.
|
||||
|
||||
I gave the [coding agent](/blog/engineering/tag/pi.dev) a brief prompt, and the video I made to draft a book review of Damon Centola's [Change: How to make big things happen](https://www.goodreads.com/book/show/53369466-change)
|
||||
|
||||
Am I going to use Video Transcriber more now? Probably in the short term. In the long term, my flow of narrating could improve to the point that making a few screenshots does not feel like that much work anyomore, and the technical solution becomes less important. From what I have seen in my initial experiments, is that there are only a few significant images. Exporting the visuals from the source and drag them in at the appropriate place in the blog post is then not that much work.
|
||||
|
||||
## Getting words out to the world
|
||||
|
||||
I already invested in making it easier to put images in notes and blog posts, and export notes to blog posts. That is paying off already. Now the work is making it a habit to finish posts.
|
||||
|
||||
|
||||
## Why I didn't write about it nine months ago
|
||||
|
||||
So why didn't I write about Video Transriber earlier? I sometimes find it hard to explain what I did right after I did it. Especially when I am improvising.
|
||||
|
||||
Romily asked if I wanted to contribute something back, at the time, say a blog post or a pull request. I struggled with that. As a practice, [Will It Blend](https://willemvandenende.com/blog/engineering/will-it-blend) is great to get something to work, and the flow feels great, as it is very improvisational. Being able to quickly vibe code even a small improvement and use it is fantastic. A downside of it, is that I often can’t easily explain what happened afterwards, not even with the session transcript, as the coding agent records it, in hand.
|
||||
|
||||
|
||||
## Looking back at what I did
|
||||
|
||||
Looking back at the nine month old commits now, it was me using \`uv\` instead of \`pip\` - I standardized on uv as it felt easier and seems more modern and faster. But I am not a heavy python user like Romily, so I did not want to push my preferences at the time, and I couldn’t quickly see how to have both co-exist in the README.
|
||||
|
||||
The other one was support for my AMD graphics cards through ROCM. It looks now like it also works with the GPU build in to my laptop, fancy external GPU optiona.. I hand’t done anything with ROCM at the time, so was unsure how to integrate it into video-transcriber.
|
||||
|
||||
# Am I going to use Video Transcriber more now?
|
||||
|
||||
It might well be, that once I have the technical solution, is that my flow of narrating improves to the point where I can just take the screenshots myself, or prefer to select SVGs from the source and drag them in at the appropriate place in the blog post.
|
||||
|
||||
I guess this is what happpened with my first use of [Video Transcriber](https://github.com/romilly/video-transcriber). I liked having videos readable and easy to skim, but found that a notebook works better for me when I want to ask questions and go deeper.
|
||||
|
||||
Automation is great, but not the solution for everything.
|
||||
|
||||
In the meantime, I would recommend checking [Video Transcriber](https://github.com/romilly/video-transcriber) out. It is small and focus, and looks like a good starting point for experimenting with transcription and getting information out of videos. My coding agent is humming in the background, see if if we can do something clever with motion detection to reduce the number of generated slides.
|
||||
|
||||
See you next time!
|
||||
|
||||
|
||||
Reference in New Issue
Block a user