How to Turn a Product Demo into a 60-Second Social Explainer
Converting a full product demonstration into a concise 60-second explainer video requires aggressive editing, reframing, and re-pacing. You must distill the interface action down to a single core workflow and optimize the video layout for mobile screens.
1. Structure the 60-Second Script
Long-form demos cover edge cases and setup options; short-form explainers focus strictly on one result. Use this exact time allocation:
- 00:00–00:05 (The Hook): Show the end result or state the core problem visually.
- 00:05–00:15 (The Setup): Introduce the product UI and the starting condition.
- 00:15–00:45 (The Workflow): Display 2 to 3 key actions. Cut out cursor travel time and loading screens.
- 00:45–00:60 (The Value & CTA): Reiterate the key benefit and display an on-screen call-to-action.
2. Crop and Speed Up Video Programmatically
Desktop demo recordings are typically captured in 16:9 widescreen (1920x1080). Social platforms (Instagram Reels, TikTok, YouTube Shorts) require 9:16 vertical video (1080x1920). You can automate cropping, pan-and-scan, and speed adjustments using ffmpeg.
The command below crops a 1920x1080 video around the active screen region, speeds up the footage by 1.25x to reduce lag, and exports to a vertical 1080x1920 format:
ffmpeg -i raw_demo.mp4 \
-vf "crop=1080:1080:420:0, scale=1080:1920:force_original_aspect_ratio=decrease, pad=1080:1920:(ow-iw)/2:(oh-ih)/2, setpts=0.8*PTS" \
-filter:a "atempo=1.25" \
-c:v libx264 -crf 18 -preset fast -c:a aac -b:a 192k \
explainer_vertical.mp4
Parameter breakdown:
crop=1080:1080:420:0: Extracts a square region focusing on the UI action (x-offset = 420).pad=1080:1920...: Centers the cropped area within a 9:16 vertical frame with black bars on top/bottom.setpts=0.8*PTSandatempo=1.25: Speeds up video and audio by 25% to fit strictly under 60 seconds.
3. Generate and Burn-In Captions
Most social media users watch videos with sound off. Audio transcriptions must be burned directly into the video stream to guarantee readability across all platforms.
Generate precise timed transcriptions using the Whisper CLI, then burn them into the video with customized styling:
# Generate SRT subtitles file
whisper raw_audio.wav --model base --output_format srt
# Burn subtitles into the video frame
ffmpeg -i explainer_vertical.mp4 \
-vf "subtitles=raw_audio.srt:force_style='Alignment=2,FontSize=18,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=3'" \
-c:a copy output_final.mp4
4. Render Settings for Social Platforms
To avoid quality loss caused by platform re-encoding, render your final file using these technical specifications:
- Aspect Ratio: 9:16 (1080x1920 pixels)
- Container & Codec: MP4 container with H.264 video codec and AAC audio codec
- Frame Rate: 30 fps or 60 fps (matching original capture rate)
- Video Bitrate: 10 Mbps to 15 Mbps target
- Audio Normalization: Integrated loudness target of -14 LUFS with a peak limit of -1 dBFS
Need this done? We handle this hands-on at GuardLabs — get in touch for a quote.
I take on freelance fixes and builds in this area.