0

I want to split videos into five chunks using ffmpeg

the first chunk represents 20% of the whole video
the second chunk represents 40% of the whole video
the third chunk represents 60% of the whole video
the fourth chunk represents 80% of the whole video

the fifth chunk represents 100% of the whole video

I write the algorithm but I do not know how to write the batch code: 1. find the duration of the video 2. store the duration in variable 3. divided the duration by 5 4. split the video

I want a batch script that takes the duration of the video then store the value of duration in the variable

this is how I can take the duration of the video

ffmpeg -i C:\video-splitter-master\1.avi 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'

but how I can store the duration value in the variable?

can you please help me?

RJFF
  • 37
  • 1
  • 5
  • `ffmpeg -ss 00:00:00.0 -i input.mp4 -c copy -t 00:00:10.0 output.mp4` will copy the first ten seconds from the start point of 0 – Offbeatmammal Jan 20 '19 at 23:12
  • Possible duplicate of [Split videos into five segment using ffmpeg](https://stackoverflow.com/questions/54276112/split-videos-into-five-segment-using-ffmpeg) – Offbeatmammal Jan 20 '19 at 23:13
  • The stderr output from ffmpeg is not meant to be machine parsed. [Use ffprobe instead](https://trac.ffmpeg.org/wiki/FFprobeTips#Duration). Then you can eliminate `grep`, `cut`, `sed`, `sed`, and `awk`. – llogan Jan 21 '19 at 19:12

0 Answers0