app
Adom Video Player
Public Made by Adomby adom
Show any video in a real player: seek, scrub, frame step, chapters. One command, no hand-rolled servers.
main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
{
"slug": "adom-video-player",
"type": "app",
"version": "0.4.7",
"title": "Adom Video Player",
"brief": "Show any video in a real player: seek, scrub, frame step, chapters. One command, no hand-rolled servers.",
"summary": "When an AI shows you a video or audio file, it plays here: a shared server that answers HTTP Range requests, so the timeline seeks, in the same YouTube-style player as the wiki's ::adom-video widget, with YouTube's shortcuts, chapters, captions, frame stepping and auto-reload when the file is re-rendered.",
"description": "adom-video is the standard way for an AI to show a user a video or audio file in Hydrogen (or pup). It runs one small zero-dependency Node server per container that serves only the files you register, with full HTTP Range support (206 Partial Content, If-Range, HEAD, ETag, no-cache), which is what a browser needs to seek. A quick python -m http.server does not do this, so videos shown that way cannot be scrubbed. The player page is the wiki's ::adom-video widget (YouTube's look and every YouTube shortcut, a scrub timeline with frame preview and chapter segments, captions it draws itself, hold for 2x, frame stepping at the measured rate, speeds to 4x), plus a chapter list, a library of everything shown in the container, per-file resume, and auto-reload with position kept when the file changes on disk. It follows the Adom app conventions: --ai-thread on every verb, one registry entry, reuse instead of respawn, a 24 hour idle reaper.",
"category": "Developer Tools",
"tags": [
"video",
"player",
"mp4",
"webm",
"audio",
"seek",
"scrub",
"range requests",
"webview",
"preview",
"chapters",
"frame step",
"youtube",
"captions",
"subtitles"
],
"status": "live",
"discovery_pitch": "Show a video to the user with a real, seekable player instead of a hand-rolled http.server that cannot scrub: adom-video play <file> opens it in a Hydrogen webview tab with keyboard control, frame step, speeds and chapters.",
"discovery_triggers": [
"show me the video",
"play the video",
"play this mp4",
"show the mp4 in a webview",
"preview the render",
"watch the recording",
"open the video in hydrogen",
"video in webview",
"video in pup",
"serve a video",
"temporary server for a video",
"python http.server video",
"can't scrub the video",
"cannot seek video",
"video timeline does not work",
"jump around in the video",
"range requests",
"206 partial content",
"video player",
"audio player",
"play an mp3",
"show the narration",
"show the draft video",
"frame step a video",
"video chapters",
"adom-video",
"adom-video-player"
],
"sample_prompts": [
{
"label": "Show a render",
"prompt": "show me the video you just rendered"
},
{
"label": "Scrub a recording",
"prompt": "open the screen recording so I can jump around in it"
},
{
"label": "Chapters",
"prompt": "play the demo with a chapter for each step"
}
],
"bundled": true,
"scripts": {
"install": "./install.sh",
"uninstall": "./uninstall.sh"
},
"install": {
"binary": "bin/adom-video"
},
"files": [
"bin/**",
"public/**",
"server.js",
"package.json",
"install.sh",
"uninstall.sh",
"skills/**",
"README.md",
"docs/**"
],
"dependencies": {},
"hero": {
"type": "image",
"path": "docs/hero.png"
},
"org": "adom",
"author": {
"name": "John Lauer",
"email": "[email protected]"
},
"visibility": {
"public": true
}
}