Skip to main content
Ungathered Thoughts

Preparing a video from OBS to MP4

Filed a report, and the receiving party suggested to check for any sensitive details in the report before disclosing.

Included a short screencast and sure enough on re-watching I saw my browser bookmark toolbar was visible. No disclosure beyond three letter project codes, but decided to obscure that.

The location on screen to be redacted was static through the video, so I could use a static overlay to address it.

I extracted a single frame from the video to capture the image I needed to overlay: ffmpeg -i extended-access.mp4 -ss 00:00:05 -vframes 1 browser-chrome.png

Then I found that if you need specific timing, VLC's "Video > Take Snapshot" is good for this too!

I copied that image into an image editor, selected the toolbar and blurred it, inverted selection to delete the rest of the image, and saved it as a (mostly transparent) PNG.

In OpenShot I added the PNG as a project resource and inserted it as a new, frontmost layer in the video timeline.

I then scrubbed through the video and deleted (a little messily) the sections where the blurred overlay did not need to sit.

Exported as extended-access-source.mp4

By now I'd realised that the original recording was SUPER QUIET, my apologies to the person who had to turn their speakers up to hear my voiceover. Let's fix that too! FFMpeg will do it using an audio filter ("af").

ffmpeg -y -i extended-access-source.mp4 -af "volume=50" extended-access.mp4

From that I realised that I should learn how to make a set of subtitles for the video also.

How do we feel about Whisper? It's OpenAI so it feels a bit gross, but I can use it to produce subs pretty smartly from the MP4, and they are not bad.

whisper extended-access.mp4

I could use --output-format srt but I can also omit that and Whisper will turn out several different formats, which is fine. Then I watched through the video with the .srt open, made a few small changes, and away we went!

Here's the resulting video: Extending your access - JWT validation failure and bypass.