I record a lot of long material: livestreams, conference-style talks, screen-share walkthroughs. They're great to have, but hardly anyone watches a 50-minute video start to finish. Most people find you through a 30-second clip in a feed and then go looking for the full version.
So for a while now I've been trying to get one repeatable job right: one long video in, a week of vertical Shorts out. Below is the workflow I've ended up with, the three approaches I've tried (manual editing, ffmpeg scripts, and AI tools), and the mistakes I made so you can skip them.
The goal, defined like a spec
Before touching any tool, I write the output down like a small spec:
- Count: 5–7 clips, one per day.
- Format: 9:16, 1080×1920, burned-in captions.
- Length: usually 20–60 seconds. Each clip needs a hook in the first couple of seconds and one clear idea.
- Standalone: every clip has to make sense to someone who never saw the original.
That last point matters most. A clip that starts with "so, as I said earlier…" is dead on arrival.
Step 1: Get a transcript first
Everything goes faster once you have text with timestamps. Speech-to-text gives you searchable content, so instead of scrubbing a timeline you read the transcript and flag moments that stand alone: a strong opinion, a short how-to, a surprising result, a mistake and how it was fixed.
I mark candidates with start/end timestamps in a plain text file:
00:04:12 - 00:04:58 "Why I stopped using X for Y"
00:17:30 - 00:18:05 Quick demo: the one-line fix
00:31:02 - 00:31:50 Common mistake + correction
I always end up with more candidates than I need, which is fine. Picking the best few comes later.
Step 2: Choose your cutting approach
This is the part where people's workflows really split. Here's how the three options compared for me.
Option A: Manual editing in an NLE
Load the file into Premiere, DaVinci Resolve, CapCut, or whatever you use. Cut, reframe to vertical, add captions, export.
- Pros: full creative control, precise reframing, easy to add B-roll and polish.
- Cons: slow and repetitive. Reframing and captioning each clip by hand is where the hours disappear.
- Best for: your one or two flagship clips a week.
Option B: Scripts with ffmpeg
If you're comfortable in a terminal, ffmpeg handles the mechanical work well. A basic cut plus center-crop to 9:16:
ffmpeg -ss 00:04:12 -to 00:04:58 -i talk.mp4 \
-vf "crop=ih*9/16:ih,scale=1080:1920" \
-c:v libx264 -crf 20 -preset medium -c:a aac -b:a 160k \
clip01.mp4
Burning in captions from an SRT file:
ffmpeg -i clip01.mp4 \
-vf "subtitles=clip01.srt:force_style='FontSize=14,Alignment=2,MarginV=60'" \
-c:a copy clip01_captioned.mp4
Then wrap it in a loop that reads the timestamp file from Step 1:
i=1
while IFS= read -r line; do
start=$(echo "$line" | awk '{print $1}')
end=$(echo "$line" | awk '{print $3}')
ffmpeg -nostdin -y -ss "$start" -to "$end" -i talk.mp4 \
-vf "crop=ih*9/16:ih,scale=1080:1920" \
-c:v libx264 -crf 20 -c:a aac "clip$(printf %02d $i).mp4"
i=$((i+1))
done < picks.txt
- Pros: free, reproducible, fast once it's written, and easy to version-control.
- Cons: a center crop is dumb. If the speaker walks off-center or the important bit of a screen-share is in a corner, it's gone. You still have to pick the moments yourself and make the subtitle files.
- Best for: consistent footage (a fixed webcam, one speaker sitting centered) and people who like owning their tooling.
Pitfall: note the -nostdin flag. Without it, ffmpeg reads from stdin inside the while read loop and eats your timestamp file, so you get one clip and a mysteriously finished script. I lost an evening to that.
Option C: AI tools
The newer option is to hand the long video to a tool that does the transcription, highlight detection, vertical reframing, and captions for you, then review what it gives back.
I've been using the long video to shorts tool in Everygen for this. You upload the long recording, it suggests candidate clips with captions already applied, and you pick and adjust instead of building every clip from nothing. For existing short clips that only need subtitles, there's also a separate auto subtitles tool.
- Pros: the slowest steps (finding moments, reframing, captioning) are mostly done for you. Good for volume.
- Cons: what counts as a "highlight" is a guess. Sometimes it picks a moment that's loud but has no substance, or cuts off a sentence. You still need to review every clip.
- Best for: turning out a batch of decent clips quickly, then spending your saved time on the few that deserve manual polish.
Quick comparison
| Manual NLE | ffmpeg scripts | AI tools | |
|---|---|---|---|
| Effort per clip | High | Low after setup | Low |
| Picking moments | You | You | Suggested, you review |
| Smart reframing | Yes (by hand) | No (static crop) | Usually |
| Captions | By hand or plugin | Needs SRT files | Built in |
| Reproducibility | Low | High | Medium |
| Cost | Software license | Free | Usually a subscription or credits |
These days I mix all three: AI for the first pass on the whole batch, ffmpeg for bulk re-encodes and format conversions, and the NLE for the one clip a week I want to look great.
Step 3: Review like a stranger
Whatever produced the clips, I watch each one with the sound off first (lots of people scroll muted), then with sound. Checklist:
- Does the first second hook? If not, trim the start more aggressively.
- Does it end on a complete thought? Cut-off endings feel broken.
- Are the captions accurate? Product names, code terms, and acronyms are where speech-to-text gets things wrong most often. Fix them; wrong captions look careless.
- Is anything important cropped out? Check the screen-share clips especially.
- Does it need context? Add a short text overlay at the top if needed ("Why your Docker image is huge").
Step 4: Schedule the week
Naming files helps more than you'd think: 2026-w44-mon-docker-size.mp4, and so on. I give each clip a one-line title and a short description that points to the full video, and spread them across the week rather than posting them all at once. Every platform has its own scheduler. Use them so the batch goes out without you.
Pitfalls I hit
- Picking clips by my own interest instead of the audience's. The parts I'm proudest of aren't always the ones that work as standalone clips. Short, concrete, slightly opinionated moments tend to hold up best.
- Too long. If a clip needs 90 seconds of setup, it's probably not a Short. It's a chapter.
-
Ignoring audio. Uneven levels between clips are very noticeable in a feed. Normalize them (ffmpeg's
loudnormfilter does this). - Trusting automation blindly. AI or scripts, something will eventually ship with a mid-word cut or a wrong caption. A two-minute review per clip catches almost all of it.
- Dropping the source link. The whole point is to send people back to the long version, so link it in every description.
Wrapping up
The core idea is simple: transcript first, choose moments deliberately, automate the mechanical work, and keep a human review step. Whether that automation is a bash loop or an AI platform like Everygen AI matters less than having a pipeline you'll actually run every week.
If you have your own ffmpeg tricks for reframing or a review checklist I haven't thought of, I'd love to hear them in the comments.
Top comments (0)