From cbc4f03675373daea83c62b3529a703b09ef918e Mon Sep 17 00:00:00 2001 From: Milan Santosi <milan.santosi@gmail.com> Date: Tue, 17 Apr 2012 05:50:45 +0200 Subject: [PATCH] should be done now. Signed-off-by: Milan Santosi <milan.santosi@gmail.com> --- kiss/ffmpeg_splitter.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/kiss/ffmpeg_splitter.sh b/kiss/ffmpeg_splitter.sh index 647c76f..2ef387d 100755 --- a/kiss/ffmpeg_splitter.sh +++ b/kiss/ffmpeg_splitter.sh @@ -2,7 +2,8 @@ # dirty little script to split a video into 15 minutes parts with ten # seconds overlap (for upload to youtube) - +# Author: milan <milan.santosi@gmail.com> +# # USAGE: read comments and adjust where necessary, then: # ./ffmpeg_splitter.sh <inputfile> #################################################################### @@ -25,13 +26,16 @@ else 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 +# get length of the original video, calculate amount of segments and +# combined length of all parts (with overlap) +let vidlen=$(ffprobe -show_format $bname-keyframes.$ext | grep duration | cut -d "." -f 1 | cut -d "=" -f 2) +let segcount=$vidlen/900 +let withoverlap=$vidlen+$segcount*10 +let newsegcount=$withoverlap/900 -# loop until it's done -for (( i = 1; i <= $segcount; i++)) +# loop until it's done (actually one more time, just to make sure) +for (( i = 1; i <= $newsegcount+1; i++)) do ffmpeg -vcodec copy -acodec copy -ss $[i*890 - 890] -t 899.999 -i $bname-keyframes.$ext $bname-part0$i.$ext done -- GitLab