Commit b32d635a authored by Milan Santosi's avatar Milan Santosi

why not learn something and try to do it right?

Signed-off-by: default avatarMilan Santosi <milan.santosi@gmail.com>
parent b6182e9c
#!/bin/bash
# very dirty script to split a video into 15 minutes parts with ten
# dirty little script to split a video into 15 minutes parts with ten
# seconds overlap (for upload to youtube)
# USAGE: read comments and adjust where necessary, then:
......@@ -15,10 +15,23 @@ bname=${fname%%.*} # the file basename
ext=${fname#*.} # the file extension
for i in {1..5} # Naive assumption that no video is longer than
# 5*15=75min. Please adjust!
do
ffmpeg -vcodec copy -acodec copy -ss $[i*890 - 890] -t 899.999 -i $1 $bname-part0$i.$ext
done
# to avoid async a/v, re-encode with every frame as keyframe
if
test -f $bname-keyframes.$ext
then
:
else
ffmpeg -g 1 -i $1 $bname-keyframes.$ext
fi
# get length and calculate amount of segments
let vidlen=$(ffprobe -show_format $1 | grep duration | cut -d "." -f 1 | cut -d "=" -f 2)+1
let segcount=$vidlen/890
# loop until it's done
for (( i = 1; i <= $segcount; i++))
do
ffmpeg -vcodec copy -acodec copy -ss $[i*890 - 890] -t 899.999 -i $bname-keyframes.$ext $bname-part0$i.$ext
done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment