Before you export: get the shape right
Ambassador clips play inside a square bubble. Vepple doesn’t crop or zoom your footage to fit, so whatever shape you export is exactly what students see.
This is the single most important thing to get right. If you export a square video it fills the bubble perfectly. If you export a landscape (widescreen) video, it sits inside the square with black bars above and below it. It’s also why you might notice one ambassador looking great while others have black bars: the good one was exported square, and the others were left in their original landscape shape.
| Setting | Recommended value | Notes |
| Shape | Square (1:1) | The bubble is square. A landscape video causes black bars. |
| Resolution | 512×512 | Plenty for the bubble. Smaller is fine; larger only adds file size. |
| File type | MP4 (H.264) | Broadest support. WebM is optional (Safari is automatically served the MP4). |
| File size | Up to 10MB | This is the upload limit in the CMS. |
Note - there is no setting to remove black bars after a video has been uploaded. The shape is fixed inside the video file itself, so the fix is always to re-export the clip as a square video and upload it again.
Filmed in portrait or landscape on a phone? That’s fine - it just needs cropping to a square before upload. The FFmpeg scripts further down do this for you automatically, cropping to a square framed slightly above centre so heads and shoulders sit nicely.
Ambassador Video Output Recommendations
You’ll need to export a separate video file for each Ambassador clip.
Here are the recommended specifications for the files:
MP4
| Setting | Recommended Value | Notes |
| Format / Container | MP4 (H.264) | Broadest browser and device support |
| Resolution | 512×512 | Cropped square from source footage |
| Frame Rate | 25 or 30 fps | Match source if possible |
| Video Bitrate Mode | VBR, 1-pass | Efficient for short clips |
| Target Video Bitrate | 300–350 kbps | Good balance for quality and size |
| Max Video Bitrate | 450–500 kbps | Prevents spikes in file size |
| Audio Codec | AAC | Standard, compatible audio format |
| Audio Bitrate | 96 kbps | Clear enough for speech |
| Audio Sample Rate | 44.1 or 48 kHz | Use 48 kHz if unsure |
| Audio Channels | Stereo or Mono | Mono is slightly more efficient |
| Keyframe Distance | Every 2 seconds (e.g. 60 at 30fps) | Helps with scrubbing and streaming |
| H.264 Profile | High | Better compression than Main/Baseline |
| Streaming Optimization | Enabled (Web Optimized / Fast Start) | Ensures video plays before fully loaded |
WebM
| Setting | Recommended Value | Notes |
| Format / Container | WebM | Efficient, open format for web |
| Video Codec | VP9 (libvpx-vp9) | Excellent quality at lower bitrates |
| Resolution | 512×512 | Square crop, same as MP4 version |
| Frame Rate | 25 or 30 fps | Match source |
| Bitrate Mode | CRF + maxrate | CRF handles quality, maxrate keeps size in check |
| CRF | 32 | Equivalent to ~300–350 kbps VBR |
| Max Bitrate | 450–500 kbps | Prevents spikes in bandwidth usage |
| Audio Codec | Opus (libopus) | Modern, efficient speech codec |
| Audio Bitrate | 96 kbps | Great clarity for voice |
| Audio Sample Rate | 48 kHz | Standard for web audio |
| Audio Channels | Mono or Stereo | Mono saves a bit more space |
| Keyframe Interval | Every 2 seconds (e.g. 60 at 30fps) | For consistent streaming/scrubbing |
| Row-MT (multi-threading) | Enabled (-row-mt 1) | Speeds up VP9 encoding |
| Streaming Optimization | N/A (WebM streams progressively) | No faststart flag needed |
Helpful Scripts for Video Processing (Using FFmpeg)
Below, you’ll find scripts that are pre-configured to take a portrait input video (for example shot on a mobile phone) and turn it into a web-optimised square video for use in Ambassador bubbles.
FFmpeg is a free, open-source command-line tool used to process video and audio. It's widely supported, highly flexible, and ideal for automating tasks like cropping, resizing, compressing, and converting videos into web-optimized formats.
What You Need
- Download FFmpeg and install it (available for macOS, Windows, and Linux)
- Open your terminal (or command prompt)
- Run the commands below by replacing input.mp4 with your actual file name
Script 1: Export Square MP4 (H.264) with Audio for Web
On Mac/Linux:
ffmpeg -i input.mp4 \
-filter:v "crop=in_w:in_w:0:in_h/5,scale=512:512" \
-c:v libx264 -preset slow -crf 30 \
-c:a aac -b:a 96k \
-movflags +faststart \
output-512x512.mp4On Windows:
ffmpeg -i input.mp4 -filter:v "crop=in_w:in_w:0:in_h/5,scale=512:512" -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 96k -movflags +faststart output-512x512.mp4What it does:
- Crops to a square, starting just above the vertical center - (in_h/5) starts cropping one-fifth of the way down the video — this places the square slightly above vertical center, which often frames a person more naturally (e.g. head and shoulders)
- Resizes to 512×512
- Compresses video using H.264 at high quality (CRF 30)
- Keeps clear speech with AAC audio at 96 kbps
- Enables fast web playback with +faststart
Script 2: Export Square WebM (VP9 + Opus) with Audio for Web
Mac/Linux:
ffmpeg -i input.mp4 \
-filter:v "crop=in_w:in_w:0:in_h/5,scale=512:512" \
-c:v libvpx-vp9 -crf 32 -b:v 0 -row-mt 1 -threads 4 \
-c:a libopus -b:a 96k \
output-512x512.webmWindows:
ffmpeg -i input.mp4 -filter:v "crop=in_w:in_w:0:in_h/5,scale=512:512" -c:v libvpx-vp9 -crf 32 -b:v 0 -row-mt 1 -threads 4 -c:a libopus -b:a 96k output-512x512.webmWhat it does:
- Same crop & resize as the MP4 version
- Uses the VP9 codec for better compression at smaller sizes
- Includes Opus audio, designed for high-quality speech
- -crf 32 provides a great balance of quality and file size (~1–1.5MB for 30s)
Comments
0 comments
Please sign in to leave a comment.