Advertisement
Guest User

imagesFromVideo

a guest
Mar 20th, 2022
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.63 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # at what interval to extract frames, in seconds
  4. interval=30
  5.  
  6. for file in *; do
  7.   nameWithoutExtension="${file%.*}"
  8.   extension="${file##*.}"
  9.  
  10.   if [ $extension == 'mp4' ] || [ $extension == 'mkv' ] || [ $extension == 'avi' ]; then
  11.     mkdir "$nameWithoutExtension"
  12.  
  13.     file_duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$file")
  14.     loop_end=$(echo $file_duration/$interval | bc)
  15.  
  16.     for ((i = 1; i <= $loop_end; i++)); do
  17.       ffmpeg -accurate_seek -ss `echo $i*$interval | bc` -i "$file" -frames:v 1  -q:v 1 "$nameWithoutExtension"/$i.jpg;
  18.     done
  19.   fi
  20. done
  21.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement