惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
L
LangChain Blog
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
量子位
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - markksantos/VidMark: Frame.io-style timestamped ...
markksantos · 2026-05-04 · via Hacker News: Show HN

VidMark icon

Frame.io-style timestamped comments for Google Drive video review.

Chrome JavaScript Manifest V3 License

Features · Getting Started · How It Works · Tech Stack · Project Structure


VidMark — add timestamps to Google Drive videos


VidMark turns the Google Drive video player into a real video-review tool. Open a comment while paused and the current timestamp is auto-stamped at the start. Each timestamped comment drops a clickable color-coded circle on the timeline. Click a marker to jump the video and flash the matching comment. Sort comments by timecode, commenter, or completion. Export the whole feedback session to a clean text file with one click.

Built for editors, agencies, marketing teams, and anyone reviewing video files shared over Drive — without paying for, syncing to, or uploading to Frame.io.


✨ Features

  • Auto-timestamp every comment — Click Comment while paused at any frame and the current video time is inserted as [m:ss] at the start of your reply. No more typing timecodes by hand.
  • Live-updating timestamp — While the comment box is empty, the inserted timestamp tracks your scrubs in real time. The moment you start typing past it, the timestamp locks in.
  • Color-coded timeline markers — Every timestamped comment drops a clickable circle on the seek bar, each in its own pastel hue (golden-ratio distributed) so adjacent comments stay visually distinct.
  • Click a marker to jump and highlight — Click any timeline circle and the video seeks to that moment while the matching comment flashes in the same color and scrolls into view.
  • Clickable [m:ss] inside comments — Every timestamp inside every comment becomes a blue underlined link that seeks the video when clicked.
  • Frame.io-style sorting — Reorder Drive's comment list by Timecode, Oldest, Newest, Commenter, or filter to Completed (resolved). Same modes Frame.io reviewers expect.
  • Hide / Show comments — One-click toggle that closes the comments panel and expands the video player to fill the freed space (16:9, viewport-aware), then snaps back when you reopen them.
  • Auto-reopen comment box — After you click Post Comment, VidMark auto-clicks the + Comment toolbar button so you can immediately type the next note without losing your place in the video.
  • #tags color-code your timeline — Drop #fix #color #audio #approve (or any hashtag) into a comment and the marker on the timeline switches to that tag's color. The floating panel gets a tag filter dropdown that filters both the comments list and the timeline.
  • Search comments + filter the timeline — Type into the search box and only matching comments + their markers stay visible. Press / from anywhere to focus the search.
  • Loop between two markers — Click 🔁 Loop in the panel (or press L), pick two markers, and the video loops between them on repeat — perfect for tight editing review.
  • Drawing / annotations✏️ Annotate pauses the video and overlays a canvas; draw on the frame with color + brush-size + undo, save, and the drawing re-displays whenever you scrub back to that moment. Saved locally per video, never transmitted.
  • Side-by-side compare — Compare two video versions side-by-side via the popup → Side-by-side compare. Paste two Drive video URLs and review v1 vs v2 in one tab.
  • Keyboard shortcutsn new comment · , . previous / next marker · / focus search · L loop mode · Cmd+E open export · Esc close any open menu.
  • Export to nine formats — One-click export to .txt, Markdown, CSV, JSON, printable HTML (save as PDF), .srt / .vtt subtitles, .fcpxml for Final Cut Pro & Adobe Premiere, and .edl for DaVinci Resolve / Avid / any NLE.
  • Toolbar popup menu — Click the VidMark icon in your Chrome toolbar for quick access to every export format and a Settings panel that toggles each feature on or off (synced across browsers via your Google account).
  • Folder-view support — Works in Drive's standalone video viewer and in the video preview opened from inside a folder.
  • 100% local — Runs entirely in your browser on drive.google.com pages. No account, no server, no telemetry.

🚀 Getting Started

Prerequisites

  • Google Chrome 110+ or any Chromium-based browser (Edge, Brave, Arc, etc.)
  • Access to videos in Google Drive

Install (developer mode)

git clone https://github.com/markksantos/VidMark.git
  1. Open chrome://extensions in Chrome
  2. Toggle Developer mode (top-right)
  3. Click Load unpacked
  4. Select the cloned VidMark folder
  5. Open any video in Google Drive — VidMark is now active

Usage

  1. Open a video in Google Drive
  2. Pause where you want to leave a note, click Comment
  3. The comment box pre-fills with [1:45] (or wherever you're paused)
  4. Type your note → Post Comment
  5. The next comment box opens automatically; rinse and repeat
  6. Click any colored circle on the timeline to jump to a timestamped comment
  7. Use the floating panel (top-right) to sort comments or export them
  8. Click the VidMark icon in your Chrome toolbar for the full export menu and feature toggles

📤 Export Formats

Format Extension Use case
Plain text .txt Quick handoff, email, Slack
Markdown .md GitHub issues, Notion, Obsidian
Spreadsheet .csv Excel, Google Sheets, sortable in any tool
JSON .json Custom tooling, API integration
Printable HTML .html Opens in browser → print → Save as PDF
SubRip subtitles .srt Burn comments into a video as captions
WebVTT subtitles .vtt HTML5 video, modern players
Final Cut Pro / Premiere .fcpxml Imports as a project with markers at each timestamp
DaVinci Resolve / EDL .edl CMX 3600 EDL with comment metadata — Resolve, Avid, any NLE

For the NLE formats, all comments are placed as markers at the right timecode on a synthetic track, with the author + comment body as the marker note.


🔧 How It Works

You pause the video at 3:25
  -> Click "Comment"
  -> VidMark reads the seek-slider's value/aria-valuetext
  -> Inserts "[3:25] " into Drive's contenteditable comment editor
  -> You type your note and post
  -> VidMark detects the new comment in the [role="list"], clicks "+ Comment"
  -> Cycle repeats

Existing comments
  -> VidMark walks text nodes for [m:ss] patterns (idempotent, skips contenteditable)
  -> Wraps each match in a clickable span with a stable hue derived from seconds
  -> Overlays a circle on the seek bar at (seconds / duration) * 100%
  -> Click marker  ->  set slider.value via native setter, dispatch input/change
                    ->  Drive seeks the underlying YouTube iframe
                    ->  the matching comment card flashes in the same hue

Drive's video is a YouTube iframe (cross-origin) but Drive renders its own seek slider in the parent frame. VidMark reads time from <input aria-label="Seek slider"> and seeks by setting that input's value via the native setter plus dispatching input/change events — Drive's own jsaction handlers then proxy the seek to the iframe.


🛠️ Tech Stack

Category Technology
Type Chrome Extension (Manifest V3)
Language Vanilla JavaScript — no build step
Architecture Content script + injected stylesheet
Time source Drive's seek-slider (<input aria-label="Seek slider">)
DOM detection MutationObserver + focusin + safety-net polling
Comment editor document.execCommand('insertText') + synthetic paste fallback
Layout overrides CSS :has() + custom properties (--gd-fio-h, --gd-fio-player-*)
Dependencies Zero — no npm, no bundler, no frameworks

📁 Project Structure

VidMark/
├── manifest.json          # MV3 manifest — content script + popup action + storage perm
├── content.js             # All in-page behavior — runs on drive.google.com
│   ├── Settings + storage      # chrome.storage.sync load + onChanged listener
│   ├── 1. Auto-stamp            # insertTimestamp + live updater
│   ├── 2. Timestamps            # wrapAllTimestamps + clickable [m:ss] + #tag parsing
│   ├── 3. Markers               # timeline overlay, hue per timestamp + per tag
│   ├── 4. Sort / Filter / Search # sort modes, tag filter, text search, 9-format export
│   ├── 5. Loop between markers  # set-start / set-end / interval-driven re-seek
│   ├── 6. Drawing / annotations # canvas overlay, save to chrome.storage.local
│   ├── 7. Auto-reopen           # mutation-based detection, click + Comment
│   ├── 8. Hide / expand         # comments panel toggle + video player resize
│   ├── Keyboard shortcuts       # n / , . / / L / Cmd+E / Esc
│   └── Popup messaging          # VIDMARK_EXPORT / VIDMARK_SETTINGS_CHANGED handlers
├── styles.css             # Markers, flash, sort layout, panel + dropdown + annotation UI
├── popup.html / popup.css / popup.js   # Toolbar popup — Export | Settings | About + Compare
├── compare.html / compare.css / compare.js  # Side-by-side compare page (v1 vs v2)
├── icon-16.png            # Toolbar icon
├── icon-32.png            # Windows context menu
├── icon-48.png            # Extensions management page
├── icon-128.png           # Chrome Web Store listing
├── icon-source.png        # 1024×1024 master
├── store-listing.txt      # Copy-paste-ready Chrome Web Store fields
├── PRIVACY.md             # Privacy policy (linked from manifest + Web Store)
└── README.md

🔐 Privacy

  • VidMark runs entirely in your browser on https://drive.google.com/* and never on any other site
  • It does not collect, transmit, sell, or share any data
  • It does not require an account, log-in, or external server — no background service worker
  • It does not read or modify videos themselves; only the comment text and timeline UI inside Drive
  • Permissions: content script injection on drive.google.com only — nothing else

📄 License

MIT License © 2026 Mark Santos


Built by Mark Santos · Replace Frame.io with the Drive you already pay for.