camera
Capture photos from MacBook webcams. Use when user asks to take a photo, picture, snapshot, or see them. Two cameras available - Brio (front-facing on monitor) and FaceTime (side angle from MacBook).
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/therohitdas/cameraCamera Skill
Available Cameras
| Camera | Index | Position | Best For |
|---|---|---|---|
| Brio 100 | 0 | On external monitor, facing user directly | Front view, face shots |
| FaceTime HD | 1 | MacBook on right side, angled toward user | Side/profile view |
Capture Commands
Use -loglevel error to suppress ffmpeg spam. Always warm up for 5s (camera needs exposure adjustment).
Brio (front view)
ffmpeg -loglevel error -f avfoundation -framerate 30 -i "0" -t 5 -y /tmp/brio_warmup.mp4 && \
ffmpeg -loglevel error -sseof -0.5 -i /tmp/brio_warmup.mp4 -frames:v 1 -update 1 -y /tmp/brio.jpg
FaceTime (side view)
Must use -pixel_format nv12 to avoid buffer errors.
ffmpeg -loglevel error -f avfoundation -pixel_format nv12 -framerate 30 -i "1" -t 5 -y /tmp/facetime_warmup.mp4 && \
ffmpeg -loglevel error -sseof -0.5 -i /tmp/facetime_warmup.mp4 -frames:v 1 -update 1 -y /tmp/facetime.jpg
Both cameras (parallel)
Run both commands simultaneously for multi-angle shots.
Output
- Photos saved to
/tmp/brio.jpgand/tmp/facetime.jpg - Warmup videos in
/tmp/*_warmup.mp4(can be deleted) - Photos are ~80-100KB each
Gotchas
- Close Photo Booth or other camera apps first (can conflict)
- FaceTime camera REQUIRES
-pixel_format nv12or it fails with buffer errors - 5s warmup is necessary for proper exposure
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-therohitdas-camera": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
slack-personal
Read, send, search, and manage Slack messages and DMs via the slk CLI. Use when the user asks to check Slack, read channels or DMs, send Slack messages, search Slack, check unreads, manage drafts, view saved items, or interact with Slack workspace. Also use for heartbeat Slack checks. Triggers on "check slack", "any slack messages", "send on slack", "slack unreads", "search slack", "slack threads", "draft on slack", "read slack dms", "message on slack".
video-transcript
Extract full transcripts from video content for analysis, summarization, note-taking, or research. Use when the user wants a written version of video content, asks to "transcribe this", "get the text from this video", "convert video to text", or shares a video URL for content extraction.
transcriptapi
Full TranscriptAPI toolkit — fetch YouTube transcripts, search videos and channels, browse channel uploads, get latest videos, and explore playlists. Use when the user wants to work with YouTube content programmatically, get transcripts for summarization or analysis, find videos, or monitor channels. Triggers on YouTube URLs, "transcript", "transcriptapi", "video summary", "what did they say", "find videos about", "search youtube".
youtube-data
Access YouTube video data — transcripts, metadata, channel info, search, and playlists. A lightweight alternative to Google's YouTube Data API with no quota limits. Use when the user needs structured data from YouTube videos, channels, or playlists without dealing with Google API setup, OAuth, or daily quotas.
youtube-full
Complete YouTube toolkit — transcripts, search, channels, playlists, and metadata all in one skill. Use when you need comprehensive YouTube access, want to search and then get transcripts, browse channel content, work with playlists, or need the full suite of YouTube data endpoints. The all-in-one YouTube skill for agents.