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
No related branches found
No related tags found
No related merge requests found
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment