一键导入
content-video
Video conversion and hosting workflow using ffmpeg and git-lfs for Next.js/React projects
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Video conversion and hosting workflow using ffmpeg and git-lfs for Next.js/React projects
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Write or edit a general-purpose technical/news/timely blog post in the VibeBrowserProductPage repo (root `blog/*.md`), which publishes to BOTH vibebrowser.app and agentlabs.cc from one file. Use for any source-cited post that is NOT a sales/competitive-landscape piece (use blog-hub) and NOT an #ainativecompany series post (use blog-ainative). Prefer this over the global blogpost skill when working inside this repo, because it encodes the real frontmatter parser, dual-domain publishing, route-parity link rules, and validation commands. Triggers: draft/write/rewrite/review a blog post, technical announcement, news reaction, founder note, or timely research post for this repo.
Write, optimize, validate, and publish Vibe blog posts using canonical product sources, with clear steps for placement in /blog, compilation, SEO/LLM optimization, and production publishing.
Use this skill when writing or editing blog posts for the #ainativecompany series on vibebrowser.app. Governs voice, structure, tags, evidence requirements, and anti-patterns. All posts must be short, technical, honest, and useful to a reader who wants to run a similar setup.
Drive growth for VibeBrowser products. Use when asked to promote, post to Reddit/HN/X, find competitor complaint threads, reply to community discussions, update growth tracking files, run the daily growth routine, or check post performance. Triggers on "promote", "post to reddit", "show HN", "growth", "community post", "find threads", "check HN", "reply to", "daily routine", "track posts", "competitor search".
Promote VibeBrowser products on Reddit, Hacker News, and X/Twitter. Use when asked to create community posts, find relevant threads, reply to discussions, track post performance, update growth.md strategy, or log posts in growth.csv. Triggers on phrases like "post to reddit", "show HN", "promote", "growth", "community post", "find threads about", "check HN", "track our posts".
Explain, verify, and extend PostHog analytics for vibebrowser.app using the current product-page integration and first-party proxy setup.
| name | content-video |
| description | Video conversion and hosting workflow using ffmpeg and git-lfs for Next.js/React projects |
This skill provides instructions for converting video files to web-optimized MP4 format and hosting them via git-lfs in a Next.js project.
brew install ffmpeg
ffmpeg -version
ffprobe -version
Before converting, check video properties:
ffprobe -i "/path/to/video.mov" 2>&1 | grep -E "Duration|Video|Audio|Stream|kb/s"
Key info to extract:
For screen recordings (primary use case):
ffmpeg -i "/path/to/input.mov" \
-vf "scale=1920:1200:force_original_aspect_ratio=decrease,pad=1920:1200:(ow-iw)/2:(oh-ih)/2" \
-c:v libx264 -preset medium -crf 28 \
-c:a aac -b:a 128k \
-movflags +faststart \
"/path/to/output.mp4" -y
Explanation of flags:
-vf scale=... - Resizes to 1920x1200 max, maintains aspect ratio with padding-c:v libx264 - H.264 encoding (broad browser support)-preset medium - Balance between speed and compression-crf 28 - Constant Rate Factor (lower = better quality, 23-28 is good range)-c:a aac -b:a 128k - AAC audio at 128kbps-movflags +faststart - Enables streaming/buffering for web-y - Overwrites output without askingffmpeg -i "/path/to/input.mov" \
-vf "scale=1920:1080:force_original_aspect_ratio=decrease" \
-c:v libx264 -preset slow -crf 23 \
-c:a aac -b:a 192k \
-movflags +faststart \
"/path/to/output.mp4" -y
ffmpeg -i "/path/to/input.mov" \
-vf "scale=1280:720:force_original_aspect_ratio=decrease" \
-c:v libx264 -preset fast -crf 30 \
-c:a aac -b:a 96k \
-movflags +faststart \
"/path/to/output.mp4" -y
ls -lh /path/to/output.mp4
Target: Under 1MB for quick loading, under 5MB is acceptable.
git lfs ls-files
git lfs track "*.mp4"
git add path/to/video.mp4
git commit -m "Add demo video: [description]"
git push
git lfs ls-files
Should show * path/to/video.mp4
<video
ref={videoRef}
key={currentDemo}
className="absolute inset-0 w-full h-full object-cover"
autoPlay
loop
muted
playsInline
preload="auto"
src={`${videoSrc}.mp4`}
>
Your browser does not support the video tag.
</video>
demos: [
{
id: 'demo-name',
title: 'Demo Title',
subtitle: 'Demo subtitle',
description: 'Demo description',
badges: ['Tag1', 'Tag2'],
videoSrc: '/demo-video', // No .mp4 extension
},
],
muted for autoplaymuted attribute is presentplaysInline for mobile-c:v libx264 encoding succeededls -la /path/to/video.mp4-r 30cat .gitattributes| Task | Command |
|---|---|
| Check video info | ffprobe -i file.mov 2>&1 |
| Convert to MP4 | ffmpeg -i file.mov -c:v libx264 -crf 28 -c:a aac file.mp4 -y |
| Track with LFS | git lfs track "*.mp4" |
| List LFS files | git lfs ls-files |