Multimedia Documentation¶
Purpose¶
Standards and guidelines for creating multimedia content (videos, screenshots, animations) for AudioLab documentation.
Contents¶
Guidelines¶
video_production_guide.md- Tutorial video and screencast productionscreenshot_standards.md- Screenshot capture and annotationanimation_tools.md- GIF creation and animation guidelines
Overview¶
Multimedia content enhances documentation by: - Demonstrating complex interactions visually - Showing real-time behavior (audio processing, UI feedback) - Providing step-by-step visual tutorials - Making documentation more engaging
Quick Reference¶
Screenshots¶
- Format: PNG, 1920x1080+
- Theme: VS Code Dark+ or One Dark Pro (consistent)
- File Size: <500KB
- Tool: ShareX (Windows), built-in (macOS)
- Guide: screenshot_standards.md
Videos¶
- Format: MP4 (H.264), 1920x1080, 60 FPS
- Audio: 48kHz, AAC 192kbps
- Captions: Required (SRT/VTT)
- Tool: OBS Studio, DaVinci Resolve
- Guide: video_production_guide.md
Animations/GIFs¶
- Format: GIF or WebM
- Resolution: 800x600 to 1200x900
- Frame Rate: 15-30 FPS
- File Size: <2MB (target), <5MB (max)
- Tool: ScreenToGif, LICEcap
- Guide: animation_tools.md
When to Use What¶
| Content Type | Best For | Format | Max Size |
|---|---|---|---|
| Screenshot | Static UI, code, results | PNG | 500KB |
| Annotated Screenshot | Explaining UI elements | PNG | 1MB |
| Short Animation | Quick interactions (<10s) | GIF | 2MB |
| Tutorial Video | Step-by-step workflows | MP4 | 200MB/10min |
| Quick Tip | Single feature demo | MP4 or GIF | 5MB |
| Diagram | Architecture, flow | SVG/PNG | 200KB |
File Organization¶
Directory Structure¶
var/media/
├── screenshots/
│ ├── raw/ # Unedited captures
│ ├── edited/ # Annotated/cropped
│ └── published/ # Optimized for web
├── videos/
│ ├── masters/ # High-quality source
│ ├── published/ # Compressed for web
│ └── captions/ # SRT/VTT files
├── animations/
│ ├── raw/ # Screen recordings
│ ├── edited/ # Optimized GIFs
│ └── published/ # Web-ready
└── assets/
├── templates/ # Intro/outro templates
├── music/ # Background music
└── graphics/ # Logos, overlays
File Naming Convention¶
YYYY-MM-DD_content-description_version.ext
Examples:
2025-01-15_buffer-manager-ui.png
2025-01-15_gain-plugin-tutorial.mp4
2025-01-15_parameter-knob-animation.gif
Quality Standards¶
All Multimedia Content Must¶
- Be clearly visible and readable
- Not contain personal information (names, paths, keys)
- Use consistent visual style (themes, colors)
- Be optimized for web delivery
- Have descriptive filenames
- Include alt text (accessibility)
Screenshots Must¶
- Be at least 1920x1080 resolution
- Use PNG format
- Be <500KB (optimized)
- Show consistent theme (Dark+ or One Dark Pro)
Videos Must¶
- Be 1080p or higher
- Have clear audio (no distortion)
- Include captions/subtitles
- Have intro/outro (if >2 min)
- Be <200MB per 10 minutes
Animations Must¶
- Be <5MB file size
- Demonstrate clear action (not cluttered)
- Loop cleanly (if looping)
- Be 15-30 FPS
Tools Setup¶
Essential (Free)¶
# Screenshot tools
winget install ShareX # Windows
# Video tools
winget install OBSProject.OBSStudio
winget install Audacity.Audacity
# Optimization
winget install ImageMagick.ImageMagick # Image processing
choco install ffmpeg # Video processing
Optional (Paid)¶
- Snagit ($50): Advanced screenshot annotation
- Camtasia ($299): All-in-one video editing
- Adobe Premiere Pro ($20/mo): Professional video editing
Online Tools¶
- TinyPNG: https://tinypng.com/ (optimize images)
- CloudConvert: https://cloudconvert.com/ (format conversion)
- YouTube Editor: Built-in captions and trimming
Workflow Examples¶
Creating a Screenshot¶
- Set up environment (close apps, use consistent theme)
- Capture with ShareX (PrintScreen)
- Crop and annotate if needed
- Optimize with TinyPNG or ImageOptim
- Save to
var/media/screenshots/published/ - Reference in documentation
Creating a Tutorial Video¶
- Write script/outline
- Prepare demo project
- Record with OBS Studio (1080p60, 10Mbps)
- Edit in DaVinci Resolve (trim, add intro/outro)
- Export MP4 H.264 (8-12Mbps)
- Generate captions (YouTube auto + corrections)
- Upload to hosting (YouTube/Vimeo)
- Embed in documentation
Creating an Animation¶
- Set up screen capture area (800x600)
- Record with ScreenToGif (20 FPS)
- Edit: trim frames, reduce colors to 128
- Apply lossy compression (quality 80)
- Verify <2MB file size
- Save to
var/media/animations/published/ - Embed in documentation
Embedding in Documentation¶
Screenshot (Markdown)¶
Video (Embed)¶
## Tutorial: Building a Gain Plugin
<iframe width="800" height="450" src="https://www.youtube.com/embed/VIDEO_ID" frameborder="0" allowfullscreen></iframe>
[Download MP4](../media/videos/gain-plugin-tutorial.mp4) (50MB)
Animation (GIF)¶

*Drag the knob to adjust frequency (500Hz - 20kHz)*
Accessibility¶
Alt Text (Required)¶
All images must have descriptive alt text:

Captions (Required for Videos)¶
All videos must include captions (SRT or VTT):
1
00:00:00,000 --> 00:00:03,000
Welcome to AudioLab. Today we'll build a simple gain plugin.
2
00:00:03,500 --> 00:00:07,000
First, create a new project using the AudioLab template.
Transcripts (Recommended)¶
Provide text transcripts for longer videos:
Optimization Tips¶
Reduce Screenshot Size¶
# Using ImageMagick
magick convert input.png -quality 90 -resize 1920x1080 output.png
# Using optipng
optipng -o5 screenshot.png
Reduce Video Size¶
# FFmpeg: Compress video
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k output.mp4
Reduce GIF Size¶
Hosting Options¶
Self-Hosted¶
- Store in
var/media/(not in git - use Git LFS) - Serve via web server or CDN
- Pros: Full control, no external dependencies
- Cons: Storage/bandwidth costs
External Hosting¶
- YouTube: Videos (free, unlimited, good player)
- Vimeo: Videos (better quality control, paid)
- GitHub Releases: Large files (2GB limit per file)
- Imgur: Screenshots/GIFs (free, simple)
Git LFS (Large File Storage)¶
# Install Git LFS
git lfs install
# Track multimedia files
git lfs track "var/media/**/*.mp4"
git lfs track "var/media/**/*.gif"
git lfs track "var/media/**/*.png"
# Commit .gitattributes
git add .gitattributes
git commit -m "docs: configure Git LFS for media files"
Maintenance¶
Regular Tasks¶
- Review and update outdated screenshots (quarterly)
- Re-record videos when UI changes significantly
- Optimize new media files before committing
- Check for broken video embeds (monthly)
- Archive old media (don't delete, move to
archive/)
Versioning¶
Keep old versions when updating:
Reference specific version in docs:
References¶
Guides¶
External Resources¶
- OBS Studio Guide: https://obsproject.com/wiki/
- ScreenToGif Documentation: https://www.screentogif.com/
- Web Accessibility (WCAG): https://www.w3.org/WAI/WCAG21/quickref/
- YouTube Creator Academy: https://creatoracademy.youtube.com/
Support¶
For questions about multimedia content creation:
- Review appropriate guide (video, screenshot, or animation)
- Check examples in var/media/examples/
- Consult external tool documentation