Advertisement
Guest User

50 frames

a guest
Jun 28th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.93 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $1)
  4.     echo "duration: $duration"
  5.  
  6. fps=$( ffprobe -v 0 -of compact=p=0 -select_streams 0 -show_entries stream=r_frame_rate $1 | sed 's/r_frame_rate=//' | bc )
  7.     echo "fps: $fps"
  8.  
  9. TotalFrames=$( bc <<< "$duration*$fps" )
  10.     echo "Total Frames: $TotalFrames"
  11.  
  12. selectTotal1=$( bc <<< "$TotalFrames / 100" )
  13.     echo "Select Total 1: $selectTotal1"
  14.  
  15. selectTotal2=$( bc <<< "$selectTotal1*2" )
  16.     echo "Select Total 2: $selectTotal2"
  17.  
  18. seekCount=$( bc <<< "$TotalFrames/($selectTotal2+50)");
  19.     echo "seekCount: $seekCount"
  20.  
  21.  
  22. for i in $( seq 1 $( bc <<< "$seekCount-1" ) ); do \
  23.     skipFrames=$( bc <<< "$i*($selectTotal2+50)" )
  24.     skipTime=$( bc <<< "$skipFrames/$fps" )
  25.     ffmpeg -ss $skipTime -i $1 -vframes 50 \
  26.         -c:v h264 -crf 30 -preset ultrafast -pix_fmt yuv420p \
  27.         -c:a libopus -b:a 128k -vbr on \
  28.         -y $i-50frames.mkv
  29. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement