showcase-video-builder

v2026.09.24

Build polished showcase and demo videos from screenshots, avatars, and text overlays using ffmpeg. Use when creating demo reels, hackathon presentations, product walkthroughs, or social media video content from static assets. Requires ffmpeg.

GitHub
安装命令
npx skhub add aaaaqwq/showcase-video-builder
Markdown
SKILL.md

Showcase Video Builder

Turn screenshots and images into polished demo videos with Ken Burns pan/zoom effects, crossfade transitions, and text overlays. Built for hackathon teams and OSS projects that need showcase content without video editing software.

Core Patterns

Image Slideshow with Crossfades

ffmpeg -loop 1 -t 4 -i slide1.png \
       -loop 1 -t 4 -i slide2.png \
       -loop 1 -t 4 -i slide3.png \
       -filter_complex \
       "[0:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=out:st=3:d=1[v0]; \
        [1:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=3:d=1[v1]; \
        [2:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1[v2]; \
        [v0][v1][v2]concat=n=3:v=1:a=0[out]" \
       -map "[out]" -c:v libx264 -pix_fmt yuv420p output.mp4

Ken Burns (Slow Zoom)

# Slow zoom in over 5 seconds
ffmpeg -loop 1 -t 5 -i image.png -filter_complex \
  "scale=8000:-1,zoompan=z='min(zoom+0.0015,1.5)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':d=150:s=1920x1080:fps=30" \
  -c:v libx264 -pix_fmt yuv420p -t 5 zoomed.mp4

Text Overlay

# macOS: use /System/Library/Fonts/Helvetica.ttc
ffmpeg -i input.mp4 -vf \
  "drawtext=text='Built in 48 Hours':fontfile=/System/Library/Fonts/Helvetica.ttc:fontsize=48:fontcolor=white:x=(w-text_w)/2:y=h-80:enable='between(t,2,5)'" \
  -c:v libx264 -c:a copy output.mp4

Title Card (Solid Colour + Text)

ffmpeg -f lavfi -i "color=c=0x6366F1:s=1920x1080:d=3" -vf \
  "drawtext=text='Your Project Name':fontfile=/System/Library/Fonts/Helvetica.ttc:fontsize=72:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2" \
  -c:v libx264 -pix_fmt yuv420p title.mp4

Concatenate Segments

# Create concat list
echo "file 'title.mp4'" > concat.txt
echo "file 'slides.mp4'" >> concat.txt
echo "file 'closing.mp4'" >> concat.txt

ffmpeg -f concat -safe 0 -i concat.txt -c copy final.mp4

Platform Tips

  • LinkedIn: Autoplays muted — don't rely on audio. Use text overlays for key messages.
  • Twitter/X: 2:20 max (free tier). 280 char caption limit. Media upload needs OAuth 1.0a.
  • Resize for embedding: Avatars 150px, screenshots 600px, composites 700px. Keeps file under 5MB.

Lessons

  • macOS font path: /System/Library/Fonts/Helvetica.ttc — if drawtext fails, check this first
  • Always use -pix_fmt yuv420p — without it, some players show a green screen
  • Ken Burns on large images is slow — pre-scale to 2x target resolution, not 8x

Files

  • scripts/build_showcase.sh — Complete showcase builder script with configurable sections
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/showcase-video-builder

默认分支

main

最新提交

b996aac

Tree SHA

07e787b