Build-time utilities for VNEF media.
Converts input videos to VP9 WebM and wraps them into a simple .video container:
- 4 bytes magic:
VID0 - 4 bytes version (uint32 LE,
1) - 8 bytes webm size (uint64 LE)
- raw WebM bytes
# Run directly
odin run build_videos.odin -file -- <input-file-or-dir> <output-dir> --recursive
# Or build a binary
odin build build_videos.odin -out:build_videos
./build_videos <input-file-or-dir> <output-dir> --recursiveCommon options:
--audioextract audio to.ogg(Opus)--audio-out <dir>output directory for extracted audio--keep-webmkeep intermediate.webm--forceoverwrite outputs--ffmpeg /path/to/ffmpeguse a specific ffmpeg binary
Requires ffmpeg in PATH (or bundled under third_party/ffmpeg).
- Source videos:
demo/assets/videos_src/(mp4/webm) - Generated videos:
demo/runtime/videos/(.video) - Extracted audio:
demo/runtime/video_audio/(.ogg)
Python fallback with the same behavior. Prefer the Odin tool.
If you bundle FFmpeg binaries, follow the checklist in THIRD_PARTY.md
and third_party/ffmpeg/README.md.