Skip to content
Snippets Groups Projects
Commit b32d635a authored by Milan Santosi's avatar Milan Santosi
Browse files

why not learn something and try to do it right?

parent b6182e9c
Branches
No related tags found
No related merge requests found
#!/bin/bash #!/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) # seconds overlap (for upload to youtube)
# USAGE: read comments and adjust where necessary, then: # USAGE: read comments and adjust where necessary, then:
...@@ -15,10 +15,23 @@ bname=${fname%%.*} # the file basename ...@@ -15,10 +15,23 @@ bname=${fname%%.*} # the file basename
ext=${fname#*.} # the file extension ext=${fname#*.} # the file extension
for i in {1..5} # Naive assumption that no video is longer than # to avoid async a/v, re-encode with every frame as keyframe
# 5*15=75min. Please adjust! if
do test -f $bname-keyframes.$ext
ffmpeg -vcodec copy -acodec copy -ss $[i*890 - 890] -t 899.999 -i $1 $bname-part0$i.$ext then
done :
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment