How I Turn One Long Video into a Week of Shorts (Manual vs. ffmpeg vs. AI) A developer documented a repeatable workflow for turning one long video into a week of vertical Shorts, comparing manual NLE editing, ffmpeg scripting, and AI tools. The ffmpeg approach uses a timestamp file and a shell loop to batch-cut and center-crop clips to 9:16, with the developer flagging that omitting the -nostdin flag causes ffmpeg to consume the timestamp file from stdin and abort the loop after one clip. The developer now mixes all three methods: AI tools for a first pass, ffmpeg for bulk re-encodes, and an NLE for the occasional polished clip. 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. Before touching any tool, I write the output down like a small spec: That last point matters most. A clip that starts with "so, as I said earlier…" is dead on arrival. 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. This is the part where people's workflows really split. Here's how the three options compared for me. Load the file into Premiere, DaVinci Resolve, CapCut, or whatever you use. Cut, reframe to vertical, add captions, export. 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 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. 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 https://everygen-ai.com/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 https://everygen-ai.com/ai-tools/auto-subtitles . | | 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. Whatever produced the clips, I watch each one with the sound off first lots of people scroll muted , then with sound. Checklist: 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. loudnorm filter does this . 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 https://everygen-ai.com/ 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.